🎓 微机原理考点专栏(通篇免费)
欢迎来到我的微机原理专栏!我将帮助你在最短时间内掌握微机原理的核心内容,为你的考研或期末考试保驾护航。
为什么选择我的视频?
- 全程考点讲解:每一节视频都紧扣考试要点,拒绝冗余,专注于最关键的知识点。
- 系统且高效:我已经为你精心准备了系统的学习资料,让你不再迷茫。
🔗 点击这里观看我的视频讲解 🔗
我需要你的支持
我为这套视频投入了大量精力,希望它能对你的学习有所帮助。如果你觉得内容有用,请给我的视频点个赞、评论、并关注我,这将是我继续创作的最大动力!
🙏 感谢你的支持!祝你学有所成! 🙏
了解每条指令的基本功能、使用场景和特点。
知道算术运算指令(如 ADD、SUB)如何改变寄存器内容,以及它们对标志位的影响。
了解逻辑指令(如 XOR、NOT)在数据清零和位操作中的用途。
知道如何使用 DIV 和 ADC 进行多字节运算
知道如何利用 CMP 指令为条件转移提供依据。
算术与逻辑运算
1. ADD 指令
- 作用:执行加法运算,将源操作数加到目的操作数上,并将结果存储在目的操作数中。
- 特点:
- 会影响标志寄存器(如进位标志 CF、零标志 ZF 等)。
- 常用于累加求和、地址计算等场合。
- 示例:
MOV AL, 5
ADD AL, 3 ; AL = 8,进位标志根据结果设置CF=0
2. SUB 指令
- 作用:执行减法运算,从目的操作数中减去源操作数,并将结果存回目的操作数。
- 特点:
- 同样会影响标志寄存器(包括进位CF和零标志ZF)。
- 示例:
MOV AL, 10
SUB AL, 4 ; AL = 6
3. XOR 指令
- 作用:按位异或运算。常用于清零寄存器(例如:
XOR AX, AX
将 AX 置零)。 - 特点:
- 异或操作满足“相同为 0,不同为 1”的规律。
- 示例:
XOR AX, AX ; AX = 0
4. DIV 指令
- 作用:用于无符号除法。将累加器中的值除以指定操作数,商和余数分别存储在特定寄存器中(通常商在 AL 或 AX,余数在 AH 或 DX)。
- 特点:
- 在 8 位除法中:AX 存放被除数,除数在寄存器中,商存 AL,余数存 AH。
- 在 16 位除法中:DX:AX 存放被除数,商存 AX,余数存 DX。
- 示例:
MOV AL, 20
MOV BL, 4
DIV BL ; 20/4, 商存 AL=5,余数存 AH=0
5. ADC 指令 (Add with Carry)
- 作用:执行带进位的加法,将两个操作数相加,并加上进位标志 CF 的值。
- 用途:
- 主要用于多字节(或多精度)加法运算,例如处理大于寄存器宽度的整数相加时,将前一字节的进位纳入计算。
- 示例:
; 假设之前的加法运算后,进位标志 CF = 1
MOV AL, 0xFF
ADC AL, 1 ; AL = 0xFF + 1 + CF(1) = 0x101, AL 只保存低 8 位(01H)
6. CMP 指令
- 作用:比较两个操作数(其实质上是做一次减法运算,但不保存结果),仅影响标志位(例如零标志 ZF、符号标志 SF 等)。
- 用途:
- 为后续的条件跳转提供依据。
- 常见用法:
CMP 寄存器, 值
,根据比较结果进行跳转。
- 示例:
MOV AL, 12
CMP AL, 10 ; 比较 AL 与 10,ZF 置 1,表示相等
7. NOT 指令
- 作用:按位取反运算,对操作数中的每一位执行逻辑取反(0变1,1变0)。
- 用途:
- 常用于求补码或实现特定逻辑功能。
- 示例:
MOV AL, 0F0h //1111 0000 0000 1111 0FH
NOT AL ; AL = 0F0h 取反后为 00Fh 的按位补码