汇编中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不是十进制那是什么啊???/

汇编中MOV AH,02H int 21h输出的DL吗?
MOV AH,02H 是给AH赋值02H,是显示字符的作用,MOV DL, 08H 是表示显示的字符的ASCII码是08H,INT 21H是是DOS的中断调用,整个语句的意思很简单,就是在屏幕上显示08H。汇编博大精通,好好学啊。

汇编中的mov ah,02h int 21h指令
一般DOS中断,单字节输入的都是al,输出的都是dl 字符串输出dx为字符串受地址 in out 指令输入输出都是al

汇编程序中int 21H 的功能是什么?
int 21是DOS功能调用,调用功能号放在AH中,使用格式如下:MOV AH,Fn INT 21 功能号对应功能如下:00 程序终止(同INT 20H)CS=程序段前缀 01 键盘输入并回显 AL=输入字符 02 显示输出 DL=输出字符 03 异步通迅输入 AL=输入数据 04 异步通迅输出 DL=输出数据 05 打印机输出 DL=输出字符 06 ...

汇编中MOV AH=02H MOV DL 08H INT 21H什么意思
MOV AH,02H 是给AH赋值02H,是显示字符的作用,MOV DL, 08H 是表示显示的字符的ASCII码是08H,INT 21H是是DOS的中断调用,整个语句的意思很简单,就是在屏幕上显示08H。汇编博大精通,好好学啊。

mov ah 2 int 21h我知道这个是显示字符的功能但是为什么我总显示很奇...
中断21h,ah=02h —— 显示字符,这里的字符是ASCII 码;ah=02h, dl=8bit ASCII 码 在当前光标位置显示或更新显示字符(覆盖在该位置原来的字符),当显示 08h 时,光标移动到屏幕左边,但并不修改屏幕上原有的字符。另外,在汇编中,向dl中送显示字符,可以用ASCII码,也可以直接输入字符,例如...

汇编语言中把数据打印到屏幕上的指令是什么啊?急求答案
汇编语言能把数据打印到屏幕上的指令有以下几个:1 mov ah,01h;键盘输入一个字符保存在al里,比如说“2”,那么它将会以“32”的形式被保存 ;在al里面,其中“32”是十六进制的 int 21h ;这样就完成了一个dos的01号功能调用 2 mov ah,02h;这是现实dl里面的字符的,如:mov...

汇编语言 怎样将数字输出,为什么? 讲讲原理
dl=要显示字符的asc码?,就这样:mov ah,02h int 21h (假设dl里已经放好东西了)这样就会在屏幕上显示dl里面的对应的字符,同理显示字符串你看看书上也有。但是int 21h这个程序只有他们,而没有显示数字的功能,所以你要把想显示的数转换为asc或字符串才能用int 21h 显示。

详细解释下下面的汇编代码什么意思,一定要详细
mov ah,1 ;为ah赋值为1,执行21H中断的1号功能(键盘输入并回显)int 21h ;执行21H中断(21H中断有许多功能,不同的功能通过设置ah的值来改变)sub al,20h ;al中的值减20H mov dl,al ;把al的值赋给dl,后面执行21H中断的2号功能(显示输出,dl中为输出字符的ascII码)mov ah,2 ...

mov ah,2 mov dl,13 int 21h 麻烦解释一下什么意思
ah放2,是2号功能,字符输出,并且要输出的字符是已经放在dl里面的,mov dl,13;这里的13其实就是0DH,也就是回车符。在应用的时候,一般与换行符一起用(不知楼主是不是这个用意?)。也就是下面的代码:MOV AH,02H MOV DL,0DH INT 21H ;此处回车 MOV AH,02H MOV DL,0AH ;十进制是...

MOV AH,02H ;回车换行 MOV DL,0DH INT 21H MOV DL,0AH INT 21H 这部 ...
功能号为2的DOS中断调用,它的入口参数为DL,只要把要显示的字符ASCII码送给DL就可以在屏幕上输出该字符,如果该字符是一个操作字符,则可以完成一次操作,而ASCII码0DH代表的就是回车,0AH代表的是换行。为何产生INPUT+2是由于功能号为0AH的中断调用决定的,在使用0AH中断调用时,需要先定义一数据缓冲...

相似回答