;入口参数
; AX:16位二进制码
; DI:为BCD码准备的单元的首地址
;出口参数
; NONE
BIN2BCD PROC
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH DI ;现场保护
MOV CX,3 ;16位二进制码转换成压缩BCD码最多需要3个字节
RE: SUB DX,DX ;dx清零
DIV WORD PTR 0AH ;AX除于10,商可能越界,所以DX-AX连用,故将0AH转换为字
MOV BL,DL ;将余数保存,因为DL==DX
SUB DX,DX ;dx清零
DIV WORD PTR 0AH ;同上
SHL DL,4 ;抬到高位
OR BL,DL ;压缩BCD码
MOV [DI],BL ;保存压缩的BCD码
INC DI ;准备保存下一个
DEC CX ;计数
JNE RE ;重复
POP DI ;现场恢复
POP DX
POP CX
POP BX
POP AX
RET
BIN2BCD ENDP
在m2ti实验板上运行编写程序,....
----
这个实验板上面的CPU,是什么型号?
CPU不同,汇编语言是不同的。
另外,键入、显示,楼主应该提供一些例程,大家才好编写“二进制转为BCD数”的子程序。