37.2℃197 2023-06-18 22:23 采纳率: 100%
浏览 44
已结题

proteus如何编写以下微指令

1)LDAXRA;将内存中X地址单元存的数取出,送入
RA寄存器
2)LDA YRB;将内存中Y地址单元存的数取出,送
入RB寄存器
3)LDAZRC;将内存中Z地址单元存的数取出,送
入RC寄存器
4)ADD RA RB;(RA)+ (RB)→(RB)
5)SUB RB RC; (RB)-(RC) →(RB)
X中存3,Y中存4,Z中存5

  • 写回答

1条回答 默认 最新

  • JiaYu嵌入式 优质创作者: 嵌入式与硬件开发技术领域 2023-06-19 13:49
    关注
    ; Microinstruction 1: LDAXRA
    LDAXRA: MOV A, M ; 将内存中X地址单元存的数取出,送入寄存器A
            MOV RA, A ; 将寄存器A的值送入RA寄存器
    
    ; Microinstruction 2: LDA YRB
    LDAYRB: MOV A, M ; 将内存中Y地址单元存的数取出,送入寄存器A
            MOV RB, A ; 将寄存器A的值送入RB寄存器
    
    ; Microinstruction 3: LDAZRC
    LDAZRC: MOV A, M ; 将内存中Z地址单元存的数取出,送入寄存器A
            MOV RC, A ; 将寄存器A的值送入RC寄存器
    
    ; Microinstruction 4: ADD RA RB
    ADDRA:  MOV A, RA ; 将RA寄存器的值送入寄存器A
            ADD A, RB ; 将RB寄存器的值加到寄存器A中
            MOV RB, A ; 将寄存器A的值送入RB寄存器
    
    ; Microinstruction 5: SUB RB RC
    SUBRB:  MOV A, RB ; 将RB寄存器的值送入寄存器A
            SUB A, RC ; 将RC寄存器的值从寄存器A中减去
            MOV RB, A ; 将寄存器A的值送入RB寄存器
    
    ; 主程序
    MAIN:   LXI X, 0003H ; 将X寄存器设置为地址3
            LXI Y, 0004H ; 将Y寄存器设置为地址4
            LXI Z, 0005H ; 将Z寄存器设置为地址5
    
            CALL LDAXRA ; 调用LDAXRA微指令
            CALL LDAYRB ; 调用LDAYRB微指令
            CALL LDAZRC ; 调用LDAZRC微指令
    
            CALL ADDRA  ; 调用ADDRA微指令
            CALL SUBRB  ; 调用SUBRB微指令
    
            HLT ; 停机指令
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月27日
  • 已采纳回答 6月19日
  • 创建了问题 6月18日