汇编中MOV AH,02H int 21h输出的DL吗?

DATAS SEGMENT
FIVE DB 5
DATAS ENDS

STACK SEGMENT STACK
DB 128 DUP(0)
STACK ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS
MOV DS,AX
MOV AL,FIVE
ADD AL,3
ADD AL,30H
MOV DL,AL
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
运行后输出的是08. DL明显是38H啊.
MOV AH,02H int 21h输出的到底是什么啊?

MOV AH,02H 是给AH赋值02H,是显示字符的作用,MOV DL, 08H 是表示显示的字符的ASCII码是08H,INT 21H是是DOS的中断调用,整个语句的意思很简单,就是在屏幕上显示08H。汇编博大精通,好好学啊。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-23
是输出DL 没错
之所以屏幕上显示 8,是因为 '8' 这个字的Ascii码 就是38H
输出屏幕时会被转换成 Ascii
所以你如果要屏幕上输出 '38' 要分两次输出
第一次 DL 用33H,会输出 '3'
第二次 DL 用38H, 会输出 '8'本回答被网友采纳
第2个回答  2011-06-14
AL寄存器是一个8位积存器,它最大能存储的数字是F,38H明显超过了该寄存器的范围,产生了溢出,追问

8位 应该是可以存FFH以内吧.不是说4位二进制=1位十六进制吗?

第3个回答  2011-06-15

DATA SEGMENT
BUF DB 32
DB ?
DB 32 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET BUF
MOV AH,0AH
INT 21H
MOV BX,OFFSET BUF
MOV AL,[BX]
INC BX
CMP AL,[BX]
JAE NEXT
MOV AL,[BX]
NEXT: MOV DL,AL
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START追问

WHAT?

本回答被网友采纳
第4个回答  2011-06-14
38H=108,然后你知道了吧追问

38H=56. 38H=3*16+8=48+8=56
如果你说的108不是十进制那是什么啊???/

相似回答