• 【汇编】给学妹写单片机汇编题:十六进制数组转ASCII码


    给学妹做了一个汇编语言题:

    例5.设有一组数据{0x6a, 0x12, 0x4d, 0x51, 0xc9},被定义在内部数据存储器中,用C51编程,分别将其转换成ASCII并存储到外部数据存储器0050H开始的单元中。“A” 为41H

    知识:0x为十六进制,数字后面加H也代表十六进制

    本文代码是从《单片机原理与应用及C51程序设计(第3版)谢维成》P81代码转换程序里学过来的。

    答案:

                ORG 20H;程序从程序存储器的20H单元开始存放(属于内部数据存储器)

    TAB:   DB 6aH,12H,4dH,51H,c9H   ;DB指令从20H开始建表,每个表内容占1H

                         MOV R2,#TAB

                         MOV R0,#50H

    LOOP:       MOV A,R2

                         CLR C

                         SUBB A,#0AH  ;减去OAH,判断在0-9之间,还是在A-F之间

                         MOV A,R2

                         JC ADD30   ;如在0~9之间,直接加30H

                         ADD A,#07H   ;如在A-F之间,先加07H, 再加30H

                         MOVX @R0,R2;将片内数据送到片外50H单元中

                         INC R2

                         INC R0   

                         SJMP $ ;停止循环

    ADD30: ADD A,#30H

                      MOV R2,A

                      RET

  • 相关阅读:
    Dapr Actor 的微服务架构
    社区 正式发布了跨平台的 CoreWCF 0.1.0 GA
    使用 Tye 辅助开发 dotnet 应用程序
    Dapr 交通流量控制示例
    Dapr是如何简化微服务的开发和部署
    牛年 dotnet云原生技术趋势
    Dapr 已在塔架就位 将发射新一代微服务
    Raden Blazor 组件以MIT 开源
    ASP Net Core – CORS 预检请求
    如何在 Blazor WebAssembly中 使用 功能开关
  • 原文地址:https://www.cnblogs.com/guoxinyu/p/13061137.html
Copyright © 2020-2023  润新知