(word完整版)微机原理及接口技术期末复习资料重点归纳,文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机重点总结
第一章
计算机中数的表示方法:真值、原码、反码〔-127—+127〕、补码〔 -128— +127〕、BCD 码,1000 的原码为 -0,补码为-8,反码为 -7。

ASCII 码:7 位二进制编码,空格20,回车 0D,换行 0A,0-9〔30-39〕,A-Z〔41-5A〕,a-z〔61-7A〕。

模型机结构介绍
1、程序计数器PC: 4 位计数器,每次运行前先复位至0000,取出一条指令后PC自动加 1,指向下一条指令;
2、储藏地址存放器MAR:接收来自 PC 的二进制数,作
为地址码送入储藏器;
3、可编程只读储藏器PROM
4、指令存放器 IR:从 PROM接收指令字,同时将指令字分别送到控制器CON和总线上,模型机指令字长为8 位,高 4 位为操作码,低 4 位为地址码〔操作数地址〕;
5、控制器 CON:〔1〕每次运行前 CON先发出 CLR=1,使有关部件清零,此时 PC=0000,IR=0000 0000;〔2〕CON有一个同步时钟输出,发出脉冲信号 CLK到各部件,使它们同步运行;〔3〕控制矩阵 CM 依照 IR 送来的指令发出 12 位控制字, CON=C P E P L M E R L I E I L A E A S U E U L B I O;
6、累加器 A:能从总线接收数据,也能向总线送数据,其
数据输出端能将数据送至 ALU进行算数运算〔双态,不
受 E门控制〕;
7、算数逻辑部件 ALU:当 S U=0 时,A+B,当 S U =1 时,A-B;
8、存放器 B:将要与 A 相加或相减的数据暂存于此存放器,它到 ALU的输出也是双态的;
9、输出存放器 O:装入累加器 A 的结果;
10、二进制显示器D。

中央办理器CPU:PC、IR、CON、ALU、A、B;储藏器:MAR、PROM;输入 / 输出系统: O、D。

执行指令过程:指令周期〔机器周期〕包括取指周期和执行周期,两者均为3 个机器节拍〔模型机〕,其中,取指周期的3 个机器节拍分别为送地址节拍、读储藏节拍和增量节拍。

控制器:环形计数器〔 RC〕、指令译码器〔 ID〕、控制矩阵〔CM〕、其他控制电路。

微型计算机硬件根本结构:算术逻辑单元 ALU、控制器、储藏器、输入 /输出设备。

微型机工作原理:储藏程序,按地址序次执行。

第二章
微办理器根本结构和功能:
1、内部存放器阵列〔通用存放器和专用存放器〕;
2、算数逻辑运算单元;
3、控制器〔指令存放器、指令译码器和各种准时与控制
信号产生电路〕;
4、现代微办理器中还集成了浮点运算部件及高速缓冲寄
存器 cache。

8086/8088 微办理器结构:
段存放器〔 CS、SS、DS、ES〕
总线接口单
指令指针存放器 IP
元 BIU〔完成地址加法器
取指令和存
指令队列
取数据〕
内部控制逻辑
8086/8088
输入 / 输出控制电路
CPU
执行单元 EU
算术逻辑单元 ALU
〔负责解析
存放器组
指令和执行标志存放器 FR
指令〕
暂存器
执行部件 EU的组成:
1、ALU〔算术逻辑单元〕;
2、存放器组:
〔1〕通用存放器: 4 个 16 位通用存放器〔 AX、BX、CX、DX〕或 8 个 8 位存放器〔 AL、AH、BL、BH、CL、CH、DL、
DH〕,其中 AX 为累加器, BX为基址存放器, CX为计数存放器, DX 为数据存放器;
〔2〕专用存放器:两个16 位指针存放器 SP和 BP,两个
16 位变址存放器 SI 和 DI,其中, SP是货仓指针存放器,
由它和货仓段存放器SS 一起来确定货仓在内存中的位
置, BP 是基址指针存放器,平时用于存放基地址,SI 是
原变址存放器, DI 是目的变址存放器,都用于指令变址
寻址方式;
AH AL AX
BH BL BX
通用存放器
CH CL CX
DH DL DX
SP
BP
专用存放器
SI
DI
(3〕标志存放器FR:为16 位存放器,其中7 位未使用,
使用的 9 个标志位可分为两类:状态标志〔 CF、PF、AF、
ZF、SF、OF〕,控制标志〔 TF、IF、DF〕,
15-1211109876543210 OF DF IF TF SF ZF AF PF CF
①CF—进位标志位:做加法最高位有进位或减法最高
位有借位时为 1,反之为 0;
② PF—奇偶标志位:运行结果低 8 位中 1 的个数为偶数时
为 1,反之为 0;
③AF—半进位标志位:低四位有向高四位的进位或借
位时为 1,反之为 0;
④ ZF—零标志位:运算结果为 0 时置 1;
⑤ SF—符号标志位:与运算结果最高位同样;
⑥ OF—溢出标志位:字节运算结果范围高出-128~+127
也许字运算结果范围高出-32768~+32767 时置1,溢出判
断:同符号数相加,结果的符号位与之不同样〔符号位发
生变化〕;
⑦ TF—骗局标志位:置 1 时 8086/8088 进入单步工作方式,
平时用于程序调试;
⑧IF—中断赞成标志位:置 1 时办理器响应可障蔽中断;
⑨ DF—方向标志位:置 1 时串操作指令的地址更正为自
动减量方向。

总线接口部件 BIU 的组成:
1、段存放器: 4 个 16 位段存放器 DS〔数据段存放器〕、CS
〔代码段存放器〕、ES〔附加段存放器〕、SS〔货仓段寄
存器〕;
2、16 位指令存放器 IP:CPU每取一个指令字节, IP 自动
加 1,IP 总是指向下一条要取出的指令代码的首地址;
3、20 位地址加法器;
4、6 字节〔 8088 为 4 字节〕指令队列缓冲器。

BIU 与 EU的动作协调原那么: BIU 和 EU 是并行工作的,

流水线技术原那么管理
1、当 8086 指令队列中有两个空字节〔8088 中一个〕时,
BIU 自动把指令取到队列中;
2、EU从指令队列取指,执行,执行过程中如要接见储藏
器或 I/O,而此时 BIU 正在取指,完成取指后响应 EU的总
线央求;
3、指令队列已满, EU 又没有总线接见, BIU进入悠闲状
态;
4、执行转移、调用和返回指令时,指令队列中的原有内容
自动除掉,BIU往指令队列中装入另一程序段中的指令。

储藏器组织:
1、物理地址:
物理地址 =段地址×16+偏移量任何一个储藏单元的20 位实质地址称为物理地址,又称
绝对地址,同一物理地址能够有不同样的段地址和偏移量。

2、逻辑地址:
段地址:偏移地址
程序中出现的地址,由段地址和段内偏移量组成,段地址
和段偏移量都是 16 位二进制数。

3、一般程序存放在代码段中,段地址本源于代码段存放
器 CS,偏移地址本源于指令指针存放器IP;当涉及一个
货仓操作时,段地址在货仓段存放器SS 中,偏移地址来
源于栈指针存放器SP;当涉及一个操作数时,那么数据段
存放器 DS或附加段存放器 ES作为段存放器,而偏移地址
由 16 位的偏移量获得, 16 位的偏移量取决于指令的寻址
方式。

4、采用段存放器的优点:
(1〕、解决了 16 位存放器如何接见大于 64KB内存空间
的问题;
(2〕、能够实现程序的重定位。

总线:总线是传达信息的公共导线,一般由地址总线、数
据总线和控制总线组成;
1、地址总线〔 AB〕,一般是单向总线,传达CPU 发出的
地址信息;
2、数据总线〔 DB〕,是双向总线,能够从 CPU 传达数据
信息到外设和主存,也能够从主存和外设向 CPU 传达数
据;
3、控制总线〔 CB〕,其中每根线上的方向是必然的,它们
分别传达控制信息、时序信息和状态信息。

8086/8088 微办理器的工作模式:
1、最小工作模式MN/MX=V CC:〔单 CPU系统〕系统中只
有一个 8086/8088 微办理器,全部的总线控制信号都直接
由 8088/8086产生。

2、最大工作模式MN/MX=GND〔多 CPU系统〕:8086/8088
要经过总线控制器8288 来形成各种总线周期,控制信号
由 8288 供应。

指令周期、总线周期、时钟周期:
1、指令周期:执行一条指令所需要的时间,执行每一条
指令的时间不同样;
2、总线周期:接见一次总线的时间, CPU从储藏器或 I/O
端口存取一次所需要的时间,一个根本的总线周期由4
个 T 状态 T1、T2、T3、T4组成,根本总线周期包括储藏器
的读或写,输入 / 输出的读或写,中断响应,假设储藏器或
外设速度较慢,不能够及时送上数据〔T3状态数据没准备
好〕,那么经过 READY线通知 CPU,CPU在 T3前沿检测 READY,
假设 READY=0,那么在 T3结束后自动插入 1 个或几个 T W,并
在每个 T W的前沿处检测READY,等到 RAEDY变高后,自动走开 T W进入 T4;
3、时钟周期: T 状态,是微机系统工作的最小时间单位,
取决于系统的主频率,系统完成任何操作所需要的时间均
是时钟周期的整数倍。

8086/8088 引脚信号和功能:8086/8088 都有 16 位数据线,20 位地址线,直接寻址能力为1MB,引脚数为 40,其中
32个引脚在两种工作模式下的名称和功能是同样的,还
有8 个引脚在不同样的工作模式下,拥有不同样的名称
和功
能。

双功能引脚的功能变换,一是经过分时复用,即同一引脚在总线的不同样时钟周期内其功能不同样;二是依照工

模式定义引脚的功能。

两种模式下,名称和功能同样的32 个引脚:
1、V CC、 GND:单一 +5V 电源,两个地;
2、 AD15~AD0:地址 / 数据复用总线,双向,三态〔 8088
中 A15~A8不复用,输出,三态〕;
3、A19/S6~A16/S3:地址 /状态线复用,输出,三态;
4、NMI:非障蔽中断,输入,高电平有效,
INTR:可障蔽中断,输入,高电平有效;
5、RD:读信号,输出,三态,低电平有效;
6、CLK:时钟信号,输入;
7、RESET:复位信号,输入〔最少保持4 个时钟周期的高
电平〕,复位信号输入后, CPU马上停止操作,清 FR、DS、ES、SS、IP 及指令队列,同时置CS为 0FFFFH,当 RESET 变为低电平时, CPU从 FFFF0单元开始启动;
8、READY:“准备好〞信号,输入;
9、TEST:测试信号,输入,低电平有效;
10、MN/MX :最小 / 最大模式控制引脚,输入,MN/MX=VCC
时为最小工作方式〔单CPU〕,MN/MX=GND 时为最大工作方式〔多 CPU〕;
11、BHE/S7:高 8 位数据线赞成 /状态信息复用引脚,输出。

最小工作模式的24~31 引脚〔括号中是最大工作模式下的
引脚功能〕:
1、INTA〔QS1〕:中断响应,输出,三态,低电平有效,
该信号为两个连续负脉冲;
2、ALE〔QS0〕:地址锁存赞成信号,输出,三态,高电平
有效;
3、DEN〔S0〕:数据赞成信号,输出,三态,低电平有效;
4、DT/R〔S1〕:数据发送 / 接收控制,输出,三态;
5、M/IO〔S2〕:储藏器 /IO 控制,输出,三态〔 8088 中为M/IO〕;
6、WR〔LOCK〕:写信号,输出,三态,低电平有效;
7、HOLD〔RQ/GT0〕:央求占用总线信号,输入,高电平有效〔总线保持央求信号〕;
8、HLDA〔RQ/GT1〕:赞成让出总线信号,输出,高电平
有效〔总线保持响应信号〕。

最大工作模式的24~31 引脚:
1、QS1和 QS2,指令队列状态信号,输出
2、S2、S1、S0:总线周期状态信号,输出,三态;
3、LOCK:总线关闭信号,输出,三态,低电平有效;
4、RQ/GT1、RQ/GT0:双向总线央求 /赞成信号,双向。

总线空操作:CPU与储藏器或 I/O 端口之间没有数据传达,
总线空操作其实不意味着CPU 不工作,可是总线接口部件BIU 不工作,总线执行部件EU 仍在工作,实质上,总线
空操作期间是 BIU对 EU 的一种等待。

地址线为什么需要锁存:由于8086系统的地址的低16位与数据引脚公用,地址信号与数据信号是分时复用这些
引脚的。

这样先送出的地址信号可能被后送出的数据信号
所代替,所以要有一个地址锁存器来保存先送出来的地址
信息。

锁存器主要用来锁存地址的低16 位。

第三章
机器指令:
1、操作码—表示该指令所要完成的操作〔二进制代码〕;
2、地址码—操作数或操作数的地址。

8086/8088 汇编语言指令:
[标号 ] 指令助记符[操作数表 ] [;说明 ]
指令的寻址方式:
1、序次寻址方式;
2、跳转寻址方式。

8086/8088 操作数的寻址方式:
1、马上数寻址:
MOV AL,80H MOV AX,1090H
操作数就包括在指令中间,紧跟在操作码此后;马上数为
常量,常量能够是二进制数、十进制数、十六进制数〔以
A~F 开头那么要加 0〕、字符串〔用单或双引号括起的字符,表示对应的 ASCII码值,如’A’=41H〕,还可以够是表记符表示的符号常量、数值表达式等;马上数能够是8 位、16 位;马上数只能是整数,不能够是小数、变量或其他种类数据;
马上数只能作原操作数。

2、存放器寻址:
INC CX ROL AH,1
MOV AX,BX MOV AX,1090H
存放器寻址方式的操作数存放在CPU 内部的存放器中,
它能够是 8 位存放器 AH/AL/BH/BL/CH/CL/DH/DL,也能够
是 16 位存放器 AX/BX/CX/DX/SI/DI/BP/SP,别的,操作数
还可以够存放在 4 个段存放器 CS/DS/SS/ES中;由于操作数存放在 CPU 内部,取操作数时不需要接见储藏器,所以
执行速度较快;在一条指令中,能够对源操作数采用存放
器寻址,也能够对目标操作数采用存放器寻址,还可以够两者都采用存放器寻址方式;在双操作数指令中,操作数之
一必定是存放器寻址,汇编语言在表达存放器寻址时使用
存放器名。

其实质就是指它存放的内容〔操作数〕。

3、储藏器寻址:操作数存放在主储藏器中,指令中给出
的是有关操作数所在储藏器单元的地址信息。

〔1〕直接寻址:
MOV AX,DS:[2000H]; 等价于MOV AX,[2000H]
MOV ES,ES:[3000H];物理地址=(ES)×16+3000H
操作数地址的16 位偏移量〔有效地址〕直接包括在指令中,它与操作码一起存放在代码段地域,操作数一般存放在数据
段地域,系统默认 DS为数据段存放器; 8086/8088 中赞成
段超越,还赞成操作数放在代码段、货仓段或附加段中,此
时要在指令中,指明段超越,格式为
段存放器: [偏移地址 ]
与马上数寻址不同样的是,直接寻址的地址要放在方括
号内。

(2〕存放器间接寻址:操作数在储藏器中,但是操作数
的有效地址包括在SI、DI、BP、BX 四个存放器中,如没
有特别说明,用存放器SI、DI 和BX间接寻址时,对应的
段存放器是 DS,如:
MOV AX,[SI]
假设〔 SI〕=2000H,原操作数物理地址 =〔DS〕×16+〔SI〕=32000H;
若是用存放器 BP间接寻址时,对应的段存放器是SS,如:
MOV AX,[BP]
原操作数物理地址 =〔SS〕× 16+〔BP〕;
存放器间接寻址指令中也能够使用段超越,如:
MOV AX,DS:[BP]
原操作数物理地址 =〔DS〕×16+〔BP〕;
〔3〕存放器相对寻址:操作数在储藏器中,由指定的寄
存器内容,加上指令中给出的8 位或 16 位偏移量作为操
作数的有效地址,即带位移量的存放器间接寻址;能够作
为存放器相对寻址的四个存放器是SI、DI、BX、BP〔同寄
存器间接寻址〕,假设用 SI、DI 和 BX作存放器相对寻址,
那么
操作数默认在数据段,如:
MOV AX,[SI+4000H]
原操作数物理地址 =(DS)×16+(SI)+4000H;
指令中能够使用段超越,假设用BP作为存放器相对寻址,那么 SS为默认的段存放器地,如:
MOV AX,COUNT[BP]
原操作数物理地址 =(SS)×16+(BP)+COUNT。

〔4〕基址加变址寻址:把BX和 BP看作基址存放器,把SI、DI 看作变址存放器,把一个基址存放器〔BX 或 BP〕的内容加上一个变址存放器〔SI 或 DI〕的内容,作为操作
数的有效地址,即为基址加变址寻址方式,如:
MOV AX,[BX+SI]
原操作数物理地址 =(DS)×16+(BX)+SI;
当基址存放器为 BP 时,默认的段地址存放器为SS,
如:
MOV AX,[BP][SI]
(5〕相对基址变址寻址:基址加变址寻址加上一个相
对位移量,如:
MOV AX,MASK[BX][SI]
MOV BH,4[DI][BP]
MOV BH,[BP+DI+4]
常用语法规那么:
马上数不能够作目的操作数;
代码段存放器 CS不能够作目的操作数;
两个操作数不能够同时是储藏器寻址;
货仓操作都是十六位的操作;
两个操作数的种类必定般配;
8086/8088 存放器间接寻址地址是BX、BP、SI、DI 之一;
数据传达类指令:
1、通用数据传达指令:
MOV OPRD1,OPRD2
功能:把一个字节或一个字从源操作数 PORD2送至目的操
作数 OPRD1,源操作数不改变;
本卷须知:
(1〕原和目的操作数的种类要一致,即同时为字节或
同时为字;
(2〕不同样意对 IP 进行操作, CS不能够作为目的操作数;(3〕两个操作数中,除马上寻址外必定有一个为存放
器寻址,即两个储藏器操作数之间不同样意直接进行信
息传达;
(4〕两个段存放器之间不能够直接传达信息,也不同样意用马上数寻址方式为段存放器负初值;
〔4〕目的操作数不能够用马上寻址方式;
MOV 能够实现的传达:
马上数存放器
马上数储藏单元
存放器存放器
存放器储藏器
存放器段存放器
储藏器段存放器
2、交换传达指令:
XCHG OPRD1,OPRD2
功能:操作数 OPRD1的内容与操作数 OPRD2的内容交换;OPRD1和 OPRD2能够是通用存放器和储藏单元〔两个操
作数不能够同时为储藏单元〕,能够采用除马上数寻址
外的各种寻址方式,但段存放器和马上数不能够作为交换
指令的一个操作数。

3、货仓操作指令〔后进先出〕
〔1〕入栈指令:
PUSH OPRD
功能:SP-2→SP,将原操作数 OPRD的 16 位数据压入货仓;
步骤: SP-2→SP;操作数低 8 位送至 SP所指向的货仓单元;操作数高 8 位送至 SP+1所指向的货仓单元;
本卷须知:OPRD能够是CPU内部的16 位通用存放器、段存放器〔CS除外〕和内存操作数〔全部寻址方式〕,入栈操作对象必定是 16 位数。

〔2〕出栈指令:
POP OPRD
功能:从货仓中弹出 16 位数据到目的操作数OPRD ,SP+2→SP;
步骤: SP所指向的货仓单元的内容送至操作数低8 位;SP+1所指向的货仓单元的内容送至目的操作数高8 位;SP+2→SP。

4、有效地址传达指令:
LEA REG,OPRD
功能:把操作数的有效地址传达到操作数REG存放器〔 REG 为 16 位通用存放器〕;
LEA与 MOV 的差异是为: LEA传达原操作数的有效地址,MOV 传达原操作数的内容。

5、换码指令:
XLAT
功能:完成一个字节的查表变换;
表的内容起初已经存在,表的首地址存放于BX存放器,
AL 存放相对于表首地址的位移量,该指令执行后〔BX+AL〕单元的内容送至AL。

6、标志存放器传达指令
〔1〕读取标致指令:
LAHF
功能:将标志存放器中的低 8 位〔包括 SF、ZF、AF、PF、CF〕传达至 AH 存放器的指定位,空位没有定义。

〔2〕设置标志指令:
SAHF
功能:将存放器AH 的内容送至标志存放器FR的低8 位,依照 AH 的内容,影响标志位 SF、ZF、 AF、PF和 CF,对OF、DF、IF 无影响。

(3〕标志存放器入栈指令:
PUSHF
功能:货仓指针 SP-2→SP,将标志存放器压入货仓顶部〔SP 指向的单元〕,不影响标志位。

〔4〕标志存放器出栈指令:
POPF
功能:将货仓顶部〔 SP 指向单元〕的一个字,传达到标
志存放器,货仓 SP+2→SP。

7、输入 / 输出数据传达指令:
〔1〕输入指令:
IN累加器,端口地址
功能:从一个端口读取一个字节或一个字,传达到 AL 或AX;本卷须知:端口地址能够直接给出或由DX 存放器间接给出;外面设备最多可有 65536 个 I/O 端口〔0000~FFFFH〕,只
有前 256 个端口可在指令中直接给出〔00~FFH〕,假设端
口地址高出 255 时,那么必定用 DX 保存端口地址。

〔2〕输出指令:
OUT端口地址,累加器
功能:将 AL 中的一个字节或 AX 中的一个字输出到指定
端口;
传达类指令不影响标志位;与I/O 端口打交道的存放器有
累加器 AX,存放器 DX,AX存放与外面设备交换的数据,
DX 存放端口地址。

算数运算类指令:
1、加法指令
〔1〕加法指令:
ADD OPRD1,OPRD2
功能: OPRD1←OPRD1+OPRD2,完成两个操作数相加,
结果送至目的操作数 OPRD1,原操作数不变;
指令的运行结果对标志位CF、OF、PF、SF和 AF 产生影响。

〔2〕带进位加法指令:
ADC OPRD1,OPRD2
功能: OPRD1←OPRD1+OPRD2+CF,ADC 指令主要用
于多字节运算中。

〔3〕增量指令:
INC OPRD
功能:操作数 OPRD的内容加 1,结果送回 OPRD;此
指令主要用于在循环程序中更正地址指针和循环次数
等,该指令执行的结果影响标志位AF、OF、PF、SF和ZF,不影响进位标志 CF。

2、减法指令
〔1〕减法指令:
SUB OPRD1,OPRD2
功能:OPRD1←OPRD1-OPRD2,目的操作数减去原操作
数,结果送到目的操作数,原操作数不变,本指令对标志位AF、CF、OF、PF、SF和 ZF都有影响。

〔2〕带借位的减法指令:②字扩展指令 CWD:存放器 AX中的符号扩展到存放器
SBB OPRD1,OPRD2DX。

假设 AX 的最高有效位为 0,那么 DX=0,否那么
DX=0FFFFH。

功能: OPRD1← OPRD1-OPRD2-CF,目的操作数减去原操逻辑运算与移位指令:
作数,同时还要减去借位〔进位〕标志CF 的现行值,结1、逻辑运算指令
果送到目的操作数,原操作数不变,本指令对标志位AF、〔1〕逻辑“与〞指令:
CF、OF、PF、SF和 ZF都有影响。

AND OPRD1,OPRD2
〔3〕减量指令:功能:两个操作数进行按位的逻辑“与〞运算,结果送到DEC OPRD目的操作数 OPRD1,CF=0,OF=0,结果影响 ZF、SF、PF;功能:操作数 OPRD的内容减 1,并把结果送回 OPRD,对自己的“与〞操作作用是清标志位 CF和 OF,自己内容执行结果不影响 CF,但影响其他五个状态标志。

不变。

〔4〕取补指令:〔2〕逻辑“或〞指令:
NEG OPRD OR OPRD1,OPRD2
功能:对操作数取补码,将结果送回操作数OPRD中,实功能:两个操作数进行按位的逻辑“或〞运算,结果送到
际上是用 0 减去操作数,执行结果影响标志位AF、CF、目的操作数 OPRD1,CF=0,OF=0,结果影响 ZF、SF、PF。

OF、PF、SF和 ZF,一般总是使标志位 CF=1,除非在操作〔3〕逻辑“非〞指令:
数为 0 时,才使 CF=0。

NOT OPRD
〔5〕比较指令:功能:把操作数 OPRD按位取反,结果送回 OPRD,对标CMP OPRD1,OPRD2志位没有影响。

功能:操作数 OPRD1减去 OPRD2,运算结果不送到 OPRD1,〔4〕逻辑“异或〞指令:
不影响两个操作数,但影响状态标志。

XOR OPRD1,OPRD2
3、乘法和除法指令功能:两个操作数进行按位的逻辑“异或〞运算,结果送〔1〕无符号数乘法指令 MUL 和带符号数乘法指令 IMUL:到目的操作数 OPRD1,CF=0,OF=0,结果影响 ZF、SF、MUL OPRD IMUL OPRD PF。

功能:若是 OPRD是字节操作数,那么 AL 的内容与 OPRD 相乘的 16 位结果送到 AX中;若是 OPRD是字操作数,那么AX的内容与 OPRD相乘 32 位的结果送到 DX和 AX中,DX 〔5〕逻辑测试指令:
TEST OPRD1,OPRD2
功能:两个操作数进行按位的逻辑“与〞运算,结果不送
中是高 16 位, AX中是低 16 位。

到目的操作数 OPRD1,可是影响标志位,平时用于检测某本卷须知:若是乘积结果的高半局部〔字节相乘时为 AH,位可否为 1,但又不改变原来值的场合。

字相乘时为 DX〕不等于零,那么标志 CF=1,OF=1;否那么
CF=0,2、移位指令
OF=0,对其他标志〔该指令无定义〕,所以,若是 CF=0,〔1〕算数 / 逻辑移位指令:
OF=0,表示 AH 或 DX 中的结果数无效。

SAL OPRD,CNT;算数左移
〔2〕无符号数除法指令 DIV和带符号数除法指令 IDIV:SHL OPRD,CNT;逻辑左移
DIV OPRD IDIV OPED
功能:若是 OPRD是字节操作数,那么 AX的内容除以OPRD8 位的商送到 AL 中,8 位余数送到 AH 中;若是OPRD是字
操作数,那么 DX 中〔高 16 位〕和 AX 中〔低 16 位〕的内容除以 OPRD,16 位的商送到 AX中,16 位的余数送到 DX 中。

本卷须知:除法指令对标志位的影响无定义;若是除数为0,也许 8 位数除时商高出 8 位,也许 16 位除时商高出 16 位,那么认为是溢出,引起 0 号中断。

(3〕符号扩展指令
①字节扩展指令 CBW:存放器 AL 中的符号扩展到存放器 AH。

假设 AL 的最高有效位为0,那么 AH=0,否那么
AH=0FFH;SAR OPRD,CNT;算数右移
SHR OPRD,CNT;逻辑右移
CNT 为移位位数,能够是 1 或存放器 CL,当需要移多位时,移位位数需存放在CL存放器中。

算数 /逻辑左移
〔2〕循环移位指令:
ROL OPRD,CNT;循环左移
ROR OPRD,CNT;循环右移
RCL OPRD,CNT;带进位循环左移
RCR OPRD,CNT;带进位循环右移
CNT 为移位位数,能够是 1 或存放器 CL,当需要移多位时,移位位数需存放在CL存放器中。

控制转移类指令:
1、无条件转移指令:
JMP OPRD
2、调用和返回指令:
CALL DST
RET
3、条件转移指令:
〔1〕标志位转移指令;
JC进位位为 1
JNC进位位为 0
JO溢出
JNO不溢出
JNP/JPO奇偶位为 0 〔奇〕
JP/JPE奇偶位为 1 〔偶〕
JNS符号位为 0 〔非负〕
JS符号位为 1 〔负〕
JE/JZ结果为 0
JNE/JNZ结果不为 0
〔2〕无符号数比较转移指令;
JA/JNBE大于 /不小于等于
JAE/JNB大于等于 /不小于
JB/JNAE小于 /不大于等于
JBE/JNA小于等于 /不大于
(3〕有符号数比较转移指令;
(4〕测试转移指令;
本卷须知:条件转移不影响标志位;条件转移指令的目的地址必定在线性的代码段〔 CS〕内,并且以当前指针存放器 IP 内容为基准,其位移必定在-128~+127的范围内。

4、循环控制指令:
LOOP OPRD
功能:存放器 CX 的值减 1,若是结果不等于 0,那么循环
置OPRD,否那么序次执行。

第四章
表达式:
1、算术运算符、逻辑运算符和关系运算符
〔1〕算术运算符
+、-、*、/、MOD、SHL、SHR;
〔2〕逻辑运算符
AND、OR、NOT、XOR
按位运算;
〔3〕关系运算符
EQ〔等于〕、NE〔不等于〕、LT〔小于〕、LE〔小于
等于〕、GT〔大于〕、GE〔大于等于〕
关系运算结果总是一个数值,假设关系式不行立,
那么结果为 0,假设关系建立,那么结果为0FFFFH。

2、解析运算符
〔1〕SEG 变量或标号
计算段地址;
(2〕OFFSET 变量或标号
计算偏移地址;
(3〕TYPE 变量或标号
计算符号种类。

3、组合运算符〔属性操作符〕
(1〕定义符号名为新种类 PTR
<种类 > PTR <符号名 >
用于指定或零时改变变量或标号的种类;
〔2〕指定新种类 THIS
THIS <种类>
为某个符号名建立新种类,如 BYTE〔字节〕、
WORD〔字〕、DWORD〔双字〕。

伪指令:
1、数据定义〔变量定义〕
[ 变量名 ]助记符<初值表 >
功能:依照定义种类不同样,为变量分配储藏单元,并且把
此后的初值表中的各项值存入连续的指定储藏单元中,或
者置分配单元而不存入确定的值。

初值表中的各项能够是
数值、字符串、标号名或变量名,表达式。

DB:定义字节,即初值表中的每个数据占 1 个字节单元;DW:定义字,即初值表中的每个数据占 1 个字单元〔 2
个字节〕,且低字节存放在低地址单元,高字节存放在高。

相关文档
最新文档