?? a3-2.asm
字號:
;A3-2.asm
;將十進制數的ASCII碼轉換為BCD碼
STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
DDATA SEGMENT
MES1 DB 'The BCD code of decimal are:$'
BUF DB 31H,32H,33H,34H,35H
DB 10H DUP(0)
DDATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DDATA
START: MOV AX,DDATA
MOV DS,AX
MOV CX,0005H
MOV DI,OFFSET BUF
A1: MOV BL,0FFH
MOV AL,[DI]
CMP AL,3AH ;比較AL中的數是否是0~9的ASCII碼
JNB A2
SUB AL,30H
JB A2
MOV BL,AL
A2: MOV AL,BL
MOV [DI+05H],AL
INC DI
LOOP A1
MOV SI,DI
MOV CX,05H
MOV DX,OFFSET MES1
MOV AH,09H
INT 21H
A3: CALL SHOW
MOV DL,20H
MOV AH,02H
INT 21H
INC SI
LOOP A3
MOV AX,4C00H
INT 21H
SHOW PROC NEAR
MOV AL,DS:[SI]
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,DS:[SI]
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
RET
ENDP
CODE ENDS
END START
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -