规则字、非规则字的概念
规则字: 低8位在偶地址中,高8位在奇地址中,一个总线周期完成数据传输
非规则字:低8位在奇地址中,高8位在偶地址中,2个总线周期完成数据传输;
第1个总线周期传送低字节,用到高8位数据线, 第2个总线周期传送高字节,用到低8 位数据线
堆栈是一个特殊的存储区,特点:一端是固定的,另一端是活动的,信息的存取都在活动的一端进行,按照先进后出的原则,以字为单位
在执行堆栈操作前,先定义堆栈段SS、堆栈深度、堆栈栈顶指针SP
CPU的周期状态:
时钟周期:CPU完成一个微操作所需的时间;
总线周期:CPU完成一个基本操作所需的时间;
指令周期:CPU执行一条指令所需的时间;
指令周期>总线周期>时钟周期
读写操作的总线周期:T1、T2、T3、T4
T1时刻,提供地址信息;读数据操作发生在T3、4;写数据操作发生在T2、3、4
数据在T2、3、4状态出现在数据总线上
REDAY为低时,等待周期Tw在T3、T4间出现;
8086CPU不执行总线操作时,应在T4后插入空闲周期Tt
8086/88存储器采用分段管理:实现用16位寄存器寻址20位地址的存储单元;
原因:有20根外部地址总线,但内部总线、内部寄存器只有16位,
优点:只涉及16位地址,减少了指令长度,提高了程序运行速度
一个段最大64KB,最小16B
寻址方式:寻找操作数或操作数所在位置的方式
指令:操作码、操作数
操作数可以在:指令、寄存器、存储单元、I/O端口 中
I/O端口2种寻址方式:8位地址直接寻址、16位地址DX寄存器间接寻址
存储器5种寻址方式:直接、寄存器间接、基址、变址、基址变址
串操作寻址:操作数在存储器中,目的操作数为ES:[DI],源操作数为DS:[SI]
指令规则:
立即数只能作为源操作数,不能做目的操作数
不允许CS作目的操作数
只有PUSH CS,无POP CS
IP、FR不允许参与MOV操作
使用BP时,默认SS;使用BX、DI、SI时,默认DS
NOT指令的操作数不能是立即数
段寄存器不能直接赋立即数
乘、除法指令中不能含有立即数
除串操作外,两存储单元间不能进行操作
不允许段寄存器间操作
JMP的目标操作数只能是16位或32位地址信息
LEA是取存储单元的有效地址,源操作数必须是寄存器([BX、BP、DI、SI])
乘法指令中的两个操作数,其中有一个操作数一定在AL或AX中
OUT指令中的源操作数只能使用AL或AX
ADD的目标操作数只能是通用寄存器或存储器
计算机语言分3类:机器语言、汇编语言、高级语言
汇编语言:采用助记符表示的程序语言
汇编:将汇编语言翻译成目标代码的过程
宏汇编语言程序的基本组成单位:语句
3个基本语句:指令、伪指令、宏指令
指令: 产生目标代码,CPU可执行,完成某种功能的语句;若有标号,后面跟冒号
伪指令:不产生目标代码,CPU不可执行,在汇编过程中指示如何汇编、如何连接、内存如何分配、变量如何定义;若有名字,后面不加冒号
宏指令:代表一个指令序列,即把一段程序段定义为一条宏指令
操作码:指明CPU要执行什么样的操作
操作数:指明参与操作的数据或数据所在的地方