📄 a3-4.asm
字号:
;A3-4.asm
;BCD码转换为二进制码
STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
DDATA SEGMENT
MES1 DB 'The BCD code of binary are:$'
BUF DB 01H,07H,03H,04H,05H,01H,06H,08H
DB 10H DUP(0)
DDATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DDATA
START: MOV AX,DDATA
MOV DS,AX
MOV CX,0004H
MOV DI,OFFSET BUF
A1: MOV AL,[DI]
ADD AL,AL
MOV BL,AL
ADD AL,AL
ADD AL,AL
ADD AL,BL
INC DI
MOV AH,00H
ADD AL,[DI]
MOV [DI+07H],AX
INC DI
LOOP A1
MOV DX,OFFSET MES1
MOV AH,09H
INT 21H
MOV CX,04H
MOV DI,OFFSET BUF
ADD DI,08H
A2: MOV AX,[DI]
CALL SHWORD
MOV DL,20H
MOV AH,02H
INT 21H
INC DI
INC DI
LOOP A2
MOV AX,4C00H
INT 21H
SHWORD PROC NEAR
MOV BL,AH
CALL SHOW
MOV BL,AL
CALL SHOW
RET
ENDP
SHOW PROC NEAR
PUSH AX
PUSH DX
MOV AL,BL
AND AL,0F0H ;取高4位
SHR AL,4
CMP AL,0AH ;是否是A以上的数
JB C2
ADD AL,07H
C2: ADD AL,30H
MOV DL,AL ;show character
MOV AH,02H
INT 21H
MOV AL,BL
AND AL,0FH ;取低4位
CMP AL,0AH
JB C3
ADD AL,07H
C3: ADD AL,30H
MOV DL,AL ;show character
MOV AH,02H
INT 21H
POP DX
POP AX
RET
ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -