通用数据传送类
数据转移类MOV
堆栈指令 PUSH POP
交换 XCHG
查表 XLAT
字位扩展 CBW CWD
I/O指令类
输入 IN
输出 OUT
地址传送类
取偏移地址 LEA LDS LES
标志传送
LAHF SAHF PUSHF POPF
算术指令
加法(不带进位和带进位) ADD ADC
+1指令 INC
减法 SUB SBB
-1指令 DEC
求补 NEG
比较 CMP
乘法(无符号,有符号) MUL IMUL
除法 DIV IDIV
BCD调整指令
DAA AAA DAS AAS AAM AAD
逻辑运算类
AND OR NOT XOR TEST
移位
SAL/SHL SHR SAR ROL ROR RCL RCR
串操作
重复前缀 REP REPE REPZ REPNE REPNZ
MOVS/MOVSB/MOVSW
CMPS/CMPSB/CMPSW
SCAS/SCASB/SCASW
LODS/LODSB/LODSW
STOS/SYOSB/STOSW
程序控制类
各种JMP指令,大概有32个,各种形式的
循环控制 LOOP/LOOPZ/LOOPE/LOOPNZ/LOOPNE
调用 CALL RET
中断 INT INTO IRET
处理器控制类
暂停 HLT
空操作 NOP
等待 WAIT
总线锁定 LOCK
处理器交权 ESC
大概就这些类别,注意同类指令不同表示的含义,具体内容太多了写出来不现实,还是自己看书。推荐冯博琴主编的《微机原理与接口技术》
另外记指令不难,记住字母表示的意思就很好记,比如:Z是ZF,C是CF,P是PF等等,N表示NOT的意思,E是ENABLE,B是BYTE字节,W是WORD字等等等等,记住助记符表示的英语意思就很好记。
10x?
13x这x是什么意思
这代码本身很简单
ax=a
ax
*=
2
bx
=
ax
ax
*=
4
ax
+=
bx