这个图你要会画吧。还有它的详细工作方式要说一下吧。
紧接着是引脚:
各个引脚都要知道其作用吧,并且顺便记住位置了。
存储之所以分奇偶,是因为它能读高低位字节,也能读一整个字。
堆栈每次一个字,栈底的地址要比栈顶大
8086的存储空间(1MB,因为只能寻址1MB,没有内存硬盘一说)非常特殊,它还分成两个存储体,偶地址存储体和奇地址存储体,各占512KB,
这样有什么好处呢?可以看到行是一个字,这也正好与总线最大能力相对应,一次能处理一个字,同时也可以进行单个字节的运算
说实话还不是很懂为什么要这样。
寻址方式:老记不住
8086至少有7种寻址方式,书上写的:
立即寻址:就是立即数,常用来给寄存器赋初值:MOV AL, 26H
寄存器寻址:就是放在寄存器里:MOV DX, AX
直接寻址:给立即数加上方括号,以代表它们是地址:MOV AX, [2000H],默认是从DX开始的,换别的用ES:[500H],或者直接用常量:MOV AX, DATA1也算。这里的DATA1代表值,而且 MOV AX, [DATA1]效果是一样的,因此这里DATA1含义不一样,但机器能识别出来,也允许超越,MOV AX, ES:DATA1与MOV AX, ES:[DATA1]也是等价的。
寄存器间接寻址:给寄存器外面加中括号:MOV AX, [BX]
寄存器相对寻址:普通数组的方式,例如:MOV AX, ARR[CX]
基址变址寻址:连数组名都省了,例如:MOV AX, [SI][CX]
相对基址变址寻址:二维数组方式,例如:MOV AX, ARR[BX][CX]
还有隐含寻址和IO寻址什么的,一条指令也可以有多种寻址方式。
8086最小模式与最大模式的区别在于系统中所有的控制信号全部由8086直接提供,最大模式用于多处理机系统,系统中所需要的控制信号由总线控制器8288提供。
8086系统为什么要用地址锁存器芯片8282?
为了减少引脚数量,因为分时复用,地址出去了,没存上信息输入到哪里?是吧,由于8086有20条地址线,故需要三片8282,三八二十四,就这样。
CPU完成一次存储器访问或IO端口操作所需要的时间称为一个总线周期,由T4个状态组成。
数据在T2~T4状态出现在数据总线上。
每日一个小知识点:
8086寄存器(AX)16位,两个字节(AH,AL),一个16进制的个位数,占4个位对吧,因此一个寄存器可以存4位16进制数,它的高低半部分可以存两位。
直接做习题就好,习题写的清晰易懂,芯片原理还都是很好懂的。
8086重启后,CS=FFFFH,IP=0000H,因此从FFFF0的位置执行命令。
8086CPU,存储器,I/O接口芯片,1片8284时钟发生器,3片8282地址锁存器,2片8286双向数据总线收发器。