微机原理得指令问题

谁能总结归纳一下各种指令啊
2024年11月28日 14:43
有2个网友回答
网友(1):

通用数据传送类
数据转移类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字等等等等,记住助记符表示的英语意思就很好记。

网友(2):

10x?
13x这x是什么意思
这代码本身很简单
ax=a
ax
*=
2
bx
=
ax
ax
*=
4
ax
+=
bx