发布网友 发布时间:2022-04-25 14:59
共3个回答
热心网友 时间:2023-10-10 11:52
data segment热心网友 时间:2023-10-10 11:53
你需要确认以下几个环境的编码:热心网友 时间:2023-10-10 11:53
数字0-9字符,在那里?追答;----------------------------------------------
DATA SEGMENT ;数据段.
GR DB 18H, 31H, 05H, 06H, 09H
DB 0AH, 0CH, 11H, 12H, 14H
ASC DB '0123456789ABCDEF'
MSG1 DB 13, 10, 'Please input a num (0~9) : $'
MSG2 DB 13, 10, 'The GR code is : $'
MSG3 DB 13, 10, 'Oh ! my god ! $'
DATA ENDS
;----------------------------------------------
CODE SEGMENT ;代码段.
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
;------------------------------
MOV DX, OFFSET MSG1
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H ;显示.
MOV AH, 1 ;1号功能调用,键入、显示.
INT 21H ;
CMP AL, '0'
JB ERR
CMP AL, '9'
JBE L1 ;小于等于9转移.
ERR:
MOV DX, OFFSET MSG3
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H ;显示.
JMP EXIT
;------------------------------
L1:
PUSH AX
MOV DX, OFFSET MSG2
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H ;显示.
POP AX
AND AL, 0FH
MOV AH, 0
MOV BX, OFFSET GR
ADD BX, AX
MOV AL, [BX]
;------------------------------
MOV AH, 0
MOV BL, 16 ;
DIV BL
PUSH AX
MOV AH, 0
MOV BX, OFFSET ASC
ADD BX, AX
MOV DL, [BX]
MOV AH, 2
INT 21H
;------------------------------
POP AX
MOV AL, AH
MOV AH, 0
MOV BX, OFFSET ASC
ADD BX, AX
MOV DL, [BX]
MOV AH, 2
INT 21H
;------------------------------
MOV DL, 'H'
MOV AH, 2
INT 21H
;------------------------------
EXIT:
MOV AH, 4CH
INT 21H
;------------------------------
CODE ENDS
END START