大家好!!我是ai.
今天为大家带来的教程是:《汇编指令获取键盘的输入》
----------------------------------------------------
用到的软件只有一个:MASM611
这个教程的实用性不强,主要是纯汇编的理论知识。
通过汇编指令获取键盘的输入,并在内存找到键盘的输入字符是什么。
当然再经过一些修改,我们可以提取内存中的字符并显示出来。。呵呵,大家有没有想到什么……………是不是有点像盗号软件的原理。
----------------------------------------------------
写汇编指令前,先给大家讲解一下几个汇编语句,待会要用上的。
LEA DX,BUF ;把缓冲区BUF的偏移地址送给DX
MOV AH,10 ;
INT 21H ;这两句话的意思是:获取键盘的输入
----------------------------------------------------
BUF DB 81
DB ?
DB 81 DUP(?)
这三句话加起来的意思:定义一个缓冲区BUF。
第一句的意思:规定此缓冲区BUF的大小为81个字节。
第二句的意思:实际输入的字符个数,也就是敲击键盘的次数。
第三句的意思:存放敲击键盘的字符。
再说一点就是,'?'问号的意思是:不确定的数字,任意。
----------------------------------------------------
MOV AH,4CH
INT 21H
程序结束指令。
----------------------------------------------------
好了,汇编指令说完了,再说说编写汇编的格式:
数据段
堆栈段
代码段
----------------------------------------------------
DATA SEGMENT
BUF DB 81
DB ?
DB 81 DUP(?)
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT 'CODE'
ASSUME DS:DATA,CS:CODE
START:LEA DX,BUF
MOV AH,10
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
注意:在内存中,字符有是以ASCII显示的。a 61 A 41