设计一个程序段 将AX和BX中的8位BCD数加CX和DX中的8位BCD数(AX和CX是最高有效寄存器) 加后的结果必须存人CX

大学 寄存器,结果,程序 已帮助 人

设计一个程序段,将AX和BX中的8位BCD数加CX和DX中的8位BCD数(AX和CX是最高有效寄存器),加后的结果必须存人CX和DX中。

热搜:bcd码转换成十进制程序函数

答案解析

难度★★☆ 搜索
  • PUSH AX
       PUSH CX
       MOV AX,DX
       ADD AL,BL    ;低字节相加
       DAA           ;低字节调整
       MOV CL.AL
       MOV AL,AH
       ADC AL,BH    ;高字节相加
       DAA           ;高字节调整  
       MOV DH,AL
       MOV DL,CL
       POP CX
       POP AX
       ADD AL,CL    ;低字节相加
       DAA           ;低字节调整
       MOV BL,AL
       MOV AL,AH
       ADC AL,CH    ;高字节相加
       DAA           ;高字节调整
       MOV CH,AL
       MOV CL,BL