3.1 指令系统概述









AL为8位寄存器,AX为16位寄存器。此处1200H给出的是这16位数低八位的地址吗,所以他传送的是1200和1201H两个单元的内容。

3.2 寻址方式























3.3 通用数据传送











1个字=2个字节,故堆栈操作指令的操作数只能是16位而不可能是8位。

假设堆栈下面是高地址,上面是低地址

SP是当前栈顶的位置



CS:代码段寄存器
所有单操作数格式的指令对操作数有两点共同要求:
- 如果是存储器操作数,必须要申明他的字长
- 显式给出的操作数不能是立即数


不允许两个操作数中任何一个是立即数

查一维表



字位扩展只针对有符号数,无符号数扩展高位补0
3.4 地址传送

取近地址:在当前段中取
取远地址:在另外一个段或附加段中取

- 目标操作数不能是段寄存器和控制寄存器,一定是八个通用寄存器之一,通常是间址寄存器
- LEA读取的是内存单元的偏移地址,MOV指令读取内存单元的内容






MOV BX,OFFSET:其中OFFSET是取偏移地址


3.5 输入输出指令





本文详细探讨了8086微处理器的指令系统,包括寻址方式、通用数据和地址传送,以及输入输出指令的使用。特别关注了寄存器、寻址方式对数据操作的影响,如AL和AX的处理,以及堆栈操作指令的限制。同时,讲解了如何通过LEA和MOV指令进行内存操作,以及输入输出指令的注意事项,如目标操作数的选择和数据类型声明的要求。
951

被折叠的 条评论
为什么被折叠?



