在AX中存放着压缩BCD码的十进制数。要求:
(1)将AH中的数转换成二进制数。
(2)求AH与AL中数的和,将结果转换成ASCII码,然后在屏幕上显示出来。
(1)将AH中的数转换成二进制数,结果存于DX中。程序参考代码如下: CODE SEGMENT ;代码段开始 ASSUME CS:CODE START: MOV BX,AX ;保存AX中的数据 AND AH,0FH ;千位置O MOV AL,AH MUL 100 MOV DX,AX ;百位结果存于DX中 MOV AH,BH MOV CL,4 ;移位次数 SHR AH,CL ;千位移到低4位 MOV AL,AH MUL 1000 ADD AX,DX MOV DX,AX ;百位加千位结果存于DX中 MOV AH,4CH INT 21H ;返回DOS CODE ENDS ;代码段结束 END START ;源程序结束 (2)求AH与AL中数的和,将结果转换成ASCII码,然后在屏幕上显示出来。程序 参考代码如下: CODE SEGMENT ;代码段开始 ASSUME CS:CODE START: MOV BX,AX ;保存AX中的数据 MOV CL,4 ;移位次数 SHR AH,CL ;千位移到AH低4位 ADD AH,30H ;转换成ASCII码 MOV DL, AH MOV AH, 2 INT 21 H ;调用2号系统功能,输出单字符 MOV AH,BH AND AH,0FH ;取低4位 ADD AH,30H ;转换成ASCII码 MOV DL,AH MOV AH,2 INT 21H ;调用2号系统功能,输出单字符 MOV AL,BL MOV CL,4 ;移位次数 SHR AL,CL ;十位移到低4位 ADD AL,30H ;转换成ASCII码 MOV DL,AL MOV AH,2 INT 21H MOV AL,BL AND AL,OFH ADD AL,30H MOV DL,AL MOV AH,2 INT 21 H MOV AH,4CH INT 21H ;返回DOS CODE ENDS ;代码段结束 END START ;源程序结束