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

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

编写程序把 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日