题目要求
信息检素程序设计:在数据区,有9个不同的信息,编号 0-8,每个信息包括20 个字符。从键盘接收 0-8 之间的一个编号,然后再屏幕上显示出相应编号的信息内容,按“q”键退出
完整代码
DATAS SEGMENT
n0 db '00000000000000000000'
n1 db '11111111111111111111'
n2 db '22222222222222222222'
n3 db '33333333333333333333'
n4 db '44444444444444444444'
n5 db '55555555555555555555'
n6 db '66666666666666666666'
n7 db '77777777777777777777'
n8 db '88888888888888888888'
Errmsg DB 'please input 0-8 q:exit $'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS
START:
MOV AX, DATAS
MOV DS, AX
LOP:
MOV AH, 1
INT 21H
CMP AL, 'q'
JZ exit
CMP AL, '0'
JB ERR
CMP AL, '8'
JA ERR
SUB AL, 30H ;'0':30
MOV DH, 14H
MUL DH
MOV BX, AX
CALL DISP
JMP LOP
ERR:
MOV DL, 0DH ;回车换行
MOV AH, 02
INT 21H
MOV DL, 0AH
MOV AH, 02
INT 21H
MOV DX, OFFSET Errmsg
MOV AH, 09
INT 21H
MOV DL, 0DH ;回车换行
MOV AH, 02
INT 21H
MOV DL, 0AH
MOV AH, 02
INT 21H
JMP LOP
DISP PROC NEAR
MOV DL, 0DH ;回车换行
MOV AH, 02
INT 21H
MOV DL, 0AH
MOV AH, 02
INT 21H
MOV CX, 14H
LOP1:
MOV DL, [BX]
MOV AH, 02H
INT 21H
INC BX ;
LOOP LOP1
MOV DL, 0DH ;回车换行
MOV AH, 02
INT 21H
MOV DL, 0AH
MOV AH, 02
INT 21H
RET
DISP ENDP
exit:
MOV AH, 4CH
INT 21
CODES ENDS
END START