当前位置:首页 > IBM-PC汇编语言程序设计课后习题答案(第二版 - 沈美明)
JNZ COMP
DONE: MOV CH, 4 ;将次数转换为16进制数的ASCII码 MOV CL, 4
LEA BX, DAT ;转换结果存入DAT单元中 DONE1: ROL AX, CL MOV DX, AX
AND DL, 0FH ;取一位16进制数 ADD DL, 30H CMP DL, 39H JLE STORE
ADD DL, 07H ;是“A~F”所以要加7
STORE: MOV [BX], DL ;转换结果存入DAT单元中 INC BX DEC CH JNZ DONE1
DISPLAY: LEA DX, DISP ;显示字符串程序(将DISP和DAT一起显示) MOV AH, 09H INT 21H RET MAIN ENDP
CSEG ENDS ;以上定义代码段
;
--------------------------------------------------------------------------
END START
5.11 从键盘输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示出计数结果。 答:程序段如下: DSEG SEGMENT
BUFF DB 50 DUP (‘ ’) COUNT DW 0 DSEG ENDS ┇
BEGIN: LEA BX, BUFF MOV COUNT, 0
INPUT: MOV AH, 01 ;从键盘输入一个字符的功能调用 INT 21H MOV [BX], AL INC BX
CMP AL, ‘$’ ;是$结束符吗? JNZ INPUT ;不是,继续输入
LEA BX, BUFF ;对非数字字符进行计数 NEXT: MOV CL, [BX] INC BX
CMP CL, ‘$’ ;是$结束符,则转去显示 JZ DISP
CMP CL, 30H ;小于0是非数字字符 JB NEXT
共分享92篇相关文档