汇编语言常用指令总结

来源:互联网 发布:手机打开淘宝链接 编辑:程序博客网 时间:2024/05/22 01:48

指令: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    宏定义指令

0 0