我爱英语354 2023-03-28 17:35 采纳率: 50%
浏览 20
已结题

单片机问题,困惑我很久了

编写程序把 ROM 中从1000H开始20个单元内容读出,并存放在内部 RAM 从30H开始的地方。

  • 写回答

4条回答 默认 最新

  • apples_kk 2023-03-28 17:40
    关注

    以下是一个汇编语言的程序示例,可以实现将 ROM 中从1000H开始的20个单元内容读出,存放在内部 RAM 从30H开始的地方:

    ORG 0            ; 程序从地址0开始
    START:
      MOV CX, 20     ; 设定循环次数为20
      MOV SI, 1000H  ; 设定源地址为ROM 1000H开始
      MOV DI, 30H    ; 设定目标地址为RAM 30H开始
    LOOP:
      MOV AL, [SI]   ; 从ROM读取一个字节
      MOV [DI], AL   ; 存放到RAM中
      INC SI         ; 源地址指针增加1
      INC DI         ; 目标地址指针增加1
      LOOP LOOP      ; 循环,直到CX为0
      JMP $          ; 程序停止,无限循环
    

    这个程序会将ROM中从1000H开始的20个单元内容读出,存放在内部RAM从30H开始的位置。程序中用CX寄存器作为循环计数器,SI寄存器作为源地址指针,DI寄存器作为目标地址指针。每次循环从ROM中读取一个字节,存放到RAM中,并将地址指针向后移动1个字节,在循环20次后程序停止。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月21日
  • 已采纳回答 4月13日
  • 创建了问题 3月28日

悬赏问题

  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 用ADS设计一款的射频功率放大器
  • ¥15 怎么求交点连线的理论解?