【微机原理技术】知识点详解:
1. **堆栈操作**:在8086 CPU中,堆栈操作遵循“后进先出”(LIFO)原则,即最后压入堆栈的元素最先被弹出。而指令队列则遵循“先进先出”(FIFO)原则,即先读取进入指令队列的指令。
2. **寄存器分类**:8086CPU共有14个16位寄存器,其中AX、BX、CX和DX作为数据寄存器,用于存储数据;SP(堆栈指针)、BP(基址指针)、SI(源变址)和DI(目的变址)是专门用于指针和变址运算的寄存器;IP(指令指针)寄存器用于指示下一条待执行指令的内存地址;F(标志)寄存器存储执行指令后的状态标志;CS、DS、SS和ES是段寄存器,用于指定内存段的起始地址。
3. **指令结构**:指令的操作码部分表示要执行的操作,操作数部分则表示这些操作的对象。
4. **寄存器用途**:SS作为堆栈段的寄存器,SP用于跟踪堆栈顶部的地址,而BP通常作为基址指针,配合其他寄存器访问内存。
5. **段间转移**:程序段间转移意味着改变CS(代码段)寄存器中的段地址和IP(指令指针)寄存器中的偏移地址,从而跳转到新的代码段执行。
6. **存储器字数据存储**:在16位系统中,如8086,低8位数据存放在低地址单元,高8位数据存放在高地址单元。
7. **物理与逻辑地址**:8086的物理地址是实际的内存地址,为20位,可以用5位十六进制表示;逻辑地址包含段基址和偏移地址,16位,可以使用4位十六进制表示。
8. **中断请求引脚**:8086CPU有两个中断请求输入引脚,INTR用于非屏蔽中断,NMI用于非中断请求中断。
9. **计算机总线**:三总线包括数据总线、地址总线和控制总线,分别负责传输数据、指定数据存储位置和协调通信。
10. **地址与数据引脚**:8086/8088的地址和数据引脚通过分时复用的方式双向使用,同一引脚在不同时刻既可以传输地址也可以传输数据。
**指令执行分析**:
- `(1)` `MOV SP, OFFSET TABLE`:将TABLE变量的偏移地址0034H存入SP。
- `(2)` `MOV AX, WORD PTR DATA1`:将DATA1变量的两个字节35H和68H合并为16位数值3568H,存入AX。
- `(3)` `MOV BL, BYTE PTR TABLE`:取TABLE的第一个字节00B3H的低8位(B3H)存入BL。
- `(4)` `MOV DX, TABLE+2`:计算TABLE的偏移地址加2(0034H + 2),得到3000H,并存入DX。
- `(5)` `LEA BX, TABLE`:取TABLE的偏移地址3004H存入BX,`CALL DWORD PTR [BX]`会根据BX的值(3004H)执行相对地址为3000H的子程序,CS设置为3000H,IP设置为0AB3H。
**寄存器与存储单元计算**:这部分需要具体计算每个指令执行后寄存器和存储单元的变化,但由于题目给出的部分不完整,无法直接给出答案。但可以解释一般情况下这些指令如何影响寄存器和存储单元。例如,对于给定的内存和寄存器初始值,根据指令执行规则,例如加法、减法、移位等操作,计算每个寄存器的新值,同时考虑标志寄存器(如CF、ZF、OF等)的状态变化。
以上是8086微处理器的基础知识,涵盖了堆栈、寄存器、指令、地址、中断和总线等方面,这些都是学习微机原理技术时必须掌握的重点。
2025-06-30 16:18:18
89KB
微机原理技术
1