汇编里 mov ah,1 int 21h是啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编里 mov ah,1 int 21h是啥意思相关的知识,希望对你有一定的参考价值。
汇编语言里:
MOV AH,1
INT 21H
是什么意思?
int 21h 调用 int 21H 中断,返回值放在 al寄存器中
ah=01h是功能号, 表示键盘输入并回显 AL=输入字符,int 21H表中断; 参考技术A 这两条指令是对DOS (磁盘操作系统)1 号功能的调用,
从键盘上输入一个字符,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。如果按下的是Ctrl+Break组合键,则终止程序执行。1号功能调用无须入口参数,出口参数在AL中。 参考技术B mov
ah,02h
是给ah赋值02h,是显示字符的作用,mov
dl,
08h
是表示显示的字符的ascii码是08h,int
21h是是dos的中断调用,整个语句的意思很简单,就是在屏幕上显示08h。汇编博大精通,好好学啊。 参考技术C DOS的中断调用
通过给AH寄存器赋值,然后调用INT 21H指令,计算机就会根据AH寄存器中的值执行相应的操作,其中1H是键盘输入并回显,AL中有输入字符。
还可给AH寄存器赋其他值:
http://blog.csdn.net/chinazeze/archive/2007/08/10/1735621.aspx
参考资料:http://blog.csdn.net/chinazeze/archive/2007/08/10/1735621.aspx
汇编语言int 21的10号功能的具体使用
5、从键盘输入一个字符串到缓冲区(AH=0AH)
功能:从键盘输入一串ASCII码字符到缓冲区,输入结束为缓冲区的个数或者“回车”字符。
入口参数:DX=缓冲区首偏移地址;DS=缓冲区段地址
调用方法
MOV AX,缓冲区的首址的段地址
MOV DS,AX
MOV DX,缓冲区的首址的偏移地址
MOV AH,0AH
INT 21H
执行完上面调用,将从键盘接受字符串送到内存的输入缓冲区(由DS:DX指定缓冲区),要求预先定义一个缓冲区,缓冲区的第一个字节指定容纳的最大字符个数,由用户给出;第二个字节存放实际的字符总个数,由系统最后添入;从第三个字节开始存放从键盘接受的字符,直到ENTER键结束。
<例子>:
1 DATA SEGMENT 2 BUF DB 20, ;存放最大字符个数20个 3 DB ?, ;存放实际输入字符个数 4 DB 20 DUP(?) ;存放输入字符 5 DATA ENDS 6 CODE SEGMENT 7 ASSUME CS:CODE,DS:DATA 8 START: 9 MOV AX,DATA ;缓冲区所在段基址 10 MOV DS,AX 11 LEA DX,BUF ;缓冲区首址偏移地址 12 MOV AH,0AH 13 INT 21H 14 15 MOV AH 4CH 16 INT 21H 17 CODE ENDS 18 END START
所以 一般定义数据的时候,缓冲区的第一个字节指定容纳的最大字符个数,也就和后面定义的存储单元数是相等的。
以上是关于汇编里 mov ah,1 int 21h是啥意思的主要内容,如果未能解决你的问题,请参考以下文章