MOV AH,0AH怎么使用,我 MOV AH,0AH INT 21H MOV AH,9 INT 21H MOV AH,4CH INT 21H 我这样不行吗?
答案:4 悬赏:20 手机版
解决时间 2021-03-24 10:58
- 提问者网友:浪荡绅士
- 2021-03-24 06:09
MOV AH,0AH怎么使用,我 MOV AH,0AH INT 21H MOV AH,9 INT 21H MOV AH,4CH INT 21H 我这样不行吗?
最佳答案
- 五星知识达人网友:逃夭
- 2021-03-24 07:12
MOV AH,0AH
INT 21H
确实是输入一个字符串的指令,可是需要注意的是,使用这个指令的时候需要设置一些东西,否则的话,使用的时候会出错。在这儿解释一下INT 21H里的0Ah功能:输入一个字符串到DS:DX,第一个字节是buffer的大小,第二个字节是实际需要读的字符串的字符个数。而且这个指令不需要在字符串最后加'$',要使用INT 21H/AH=9号功能打印的话,你必须要在字符串的最后加上'$',而且打印的起始地址为DS:DX+2.
举个例子:
org 100h
mov dx, offset buffer
mov ah, 0ah
int 21h
jmp print
buffer db 10,?, 10 dup(' ')
print:
xor bx, bx
mov bl, buffer[1]
mov buffer[bx+2], '$'
mov dx, offset buffer + 2
mov ah, 9
int 21h
ret
需要注意的就是这些,希望能帮到你
INT 21H
确实是输入一个字符串的指令,可是需要注意的是,使用这个指令的时候需要设置一些东西,否则的话,使用的时候会出错。在这儿解释一下INT 21H里的0Ah功能:输入一个字符串到DS:DX,第一个字节是buffer的大小,第二个字节是实际需要读的字符串的字符个数。而且这个指令不需要在字符串最后加'$',要使用INT 21H/AH=9号功能打印的话,你必须要在字符串的最后加上'$',而且打印的起始地址为DS:DX+2.
举个例子:
org 100h
mov dx, offset buffer
mov ah, 0ah
int 21h
jmp print
buffer db 10,?, 10 dup(' ')
print:
xor bx, bx
mov bl, buffer[1]
mov buffer[bx+2], '$'
mov dx, offset buffer + 2
mov ah, 9
int 21h
ret
需要注意的就是这些,希望能帮到你
全部回答
- 1楼网友:杯酒困英雄
- 2021-03-24 09:55
INTn(n:0-255) 功能:称为软中断指令。就一般情况而言,这个指令都是在程序要结束时使用的,故简单地说,这个中断调用指令就是告诉程序当程序里的指令MOV AH,0AH INT 21H执行完毕后要做什么——返回DOS,此时程序就会结束,所以在程序执行到第一个INT 21H语句时即停止编译显示出错。追问不是很懂,MOV AH,0AH INT 21H指令不是输入多个字符指令吗
- 2楼网友:动情书生
- 2021-03-24 09:03
MOV AH,0AH
INT 21H
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H追问刚刚运行了,可还是不行,跟我运行的结果是一样的,是不是不支持XP系统呀追答我也不太清楚,好久不用这个了。
INT 21H
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H追问刚刚运行了,可还是不行,跟我运行的结果是一样的,是不是不支持XP系统呀追答我也不太清楚,好久不用这个了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯