x00x127x 2021-07-09 17:29 采纳率: 0%
浏览 24

编写程序实现以下功能(用汇编语言)

在片内RAM区中生成十六进制数组Hex:00H、01H、 .. OEH、OFH,数组Hex的首地址为10H。用DB伪指令在程序中定义Hex数组元素ASCII码表,表首地址用符号地址TABLE表示。用①MOVC A,@A+DPTR;②MOVC A,@A+PC指令编写查表程序,实现用查表方式将数组Hex的十六进制数转换为ASCI码并存入 片内RAM数组Asc中,数组Asc 首地址70H。

  • 写回答

1条回答 默认 最新

  • 丘比特惩罚陆 Java领域新星创作者 2023-03-19 20:02
    关注

    基于8051单片机的汇编程序,实现将数组Hex中的十六进制数转换为ASCII码并存储到片内RAM数组Asc中。

    ORG 0H
    
    MOV DPTR, #10H ; 将数组Hex的首地址10H存入DPTR
    MOV R0, #0 ; R0用于数组索引
    MOV R1, #70H ; 将数组Asc的首地址70H存入R1
    
    LOOP:
      MOV A, R0 ; 将数组索引存入累加器A
      ADD A, #TABLE ; 将表首地址TABLE加上数组索引,得到对应元素的ASCII码
      MOV @R1, A ; 将ASCII码存入数组Asc中
      INC R1 ; 将指针R1指向下一个元素
      INC R0 ; 将数组索引加1
      CJNE R0, #0FH, LOOP ; 如果数组索引不等于15,则跳转到LOOP继续循环
    
    END
    TABLE:
    DB 30H, 31H, 32H, 33H, 34H, 35H, 36H, 37H, 38H, 39H, 41H, 42H, 43H, 44H, 45H, 46H
    
    
    
    评论

报告相同问题?

问题事件

  • 修改了问题 7月9日
  • 创建了问题 7月9日

悬赏问题

  • ¥15 关于#r语言#的问题:并不是原CSV文件中的数据
  • ¥30 flash_attention 编译问题
  • ¥15 图像采集的信号展开问题
  • ¥100 uniapp移动app使用nvue页面中recycle-list组件写聊天列表,反复出现闪退问题
  • ¥15 Flutter sdk 更新到3.24.0后运行flutter run --release 报错
  • ¥15 装win10系统自带的锐炫控制面板可以删除吗,里面有虚拟摄像头, 人脸识别会造成干扰
  • ¥15 模块化生产的路径规划哪种算法更合适?
  • ¥15 如何在animate html5文档任意位置实现文本输入功能?
  • ¥15 电机正反转电路设计中,mos管的关断问题,求原因。
  • ¥15 关于#sql#的问题:怎么找出所有同时多张有效保单的车架号