指令:MOV AH,01
INT 21H
通过这样两条指令,输入的字符就会被存储在AL中。
表:DOS系统功能调INT 21H
AH 功能 调用参数 返回参数
00 程序终止(同INT 20H) CS=程序段前缀
01 键盘输入并回显 AL=输入字符
02 显示输出 DL=输出字符
03 异步通迅输入 AL=输入数据
04 异步通迅输出 DL=输出数据
05 打印机输出 DL=输出字符
06 直接控制台I/O DL=FF(输入)
DL=字符(输出) AL=输入字符
07 键盘输入(无回显) AL=输入字符
08 键盘输入(无回显)
检测Ctrl-Break AL=输入字符
09 显示字符串 DS:DX=串地址
'$'结束字符串
MOV(MOVe) 传送指令
PUSH 入栈指令
POP 出栈指令
XCHG(eXCHanG) 交换指令
XLAT(TRANSLATE) 换码指令
LEA (Load Effective Address) 有效地址送寄存器指令
LDS(Load DS with pointer) 指针送寄存器和DS指令
LES(Load ES with pointer) 指针送寄存器和ES指令
LAHF(Load AH with Flags) 标志位送AH指令
SAHF(Store AH into Flgs) AH送标志寄存器指令
ADD 加法指令
ADC 带进位加法指令
INC 加1指令
SUB(SUBtract) 不带借位的减法指令
SBB(SuVtrach with borrow) 带借位的减法指令
DEC(DECrement) 减1指领
NEG(NEGate) 求补指令
CMP(CoMPare) 比较指令
MUL(unsinged MULtiple) 无符号数乘法指令
IMUL(sIgned MUL tiple) 有符号数乘法指令
DIV(unsigned DIVide) 无符号数除法指令
IDIV(sIgned DIVide) 有符号数除法指令
DAA 压缩的BCD码加法十进制调整指令
DAS 压缩的BCD码减法十进制调整指令AAA 非压缩的BCD码加法十进制调整指令AAS 非压缩的BCD码加法十进制调整指令AND 逻辑与指令OR 逻辑或指令XOR 逻辑异或指令
NOT 逻辑非指令
TEST 测试指令
SHL(SHift logical Letf) 逻辑左移指令
SHR(SHift logical Right) 逻辑右移指令
ROL(Rotate Left ) 循环左移指令
ROR(Rotate Right) 循环右移指令
RCL(Rotate Left through Carry) 带进位循环左移
RCR(Rotate Right through Carry) 带进位循环左移
MOVS(MOVe String) 串传送指令
REP(REPeat) 重复操作前缀
CLD(CLear Direction flag) 清除方向标志指令
STD(SeT Direction flag) 设置方向标志指令
CMPS(CoMPare String) 串比较指令
SCAS(SCAn String) 串扫描指令
REPE/REPZ(REPeat while Equal/Zero)相等/为零时重复操作前缀
REPNE/REPNZ(REPeat while Not Equal/Zero)不相等/不为零进重复前缀
JMP(JuMP) 无条件转移指令JZ,JNZ,JS,JNS,JO,JNO,JP,JNP,JB,JNB,JBE,JNBE,JL,JNL,JLE,JNLE,JCXZ 条件转移指令LOOP 循环指令P70
LOOPZ/LOOPE 为零/相等时循环指令
LOOPNZ/LOOPNE 不为零/不相等时循环指令
CALL 子程序调用指令
RET(RETun) 子程序返回指令
NOP(No OPeretion) 无操作指令
HLT(HaLT) 停机指令
OFFSET 返回偏移地址SEG 返回段地址
EQU(=) 等值语句
DUP 操作数字段用复制操作符
SEGMENT,ENDS 段定义指令
ASSUME 段地址分配指令
ORG 起始偏移地址设置指令
$ 地址计数器的当前值
PROC,ENDP 过程定义语句
NAME,TITLE,END 程序开始结束语句
MACRO,ENDM 宏定义指令