2022年微机原理及接口技术期末复习资料重点归纳 .pdf

上传人:Q****o 文档编号:12610766 上传时间:2022-04-25 格式:PDF 页数:13 大小:455.11KB
返回 下载 相关 举报
2022年微机原理及接口技术期末复习资料重点归纳 .pdf_第1页
第1页 / 共13页
2022年微机原理及接口技术期末复习资料重点归纳 .pdf_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《2022年微机原理及接口技术期末复习资料重点归纳 .pdf》由会员分享,可在线阅读,更多相关《2022年微机原理及接口技术期末复习资料重点归纳 .pdf(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、_ 精品资料微机重点总结第一章计算机中数的表示方法: 真值、 原码、 反码 (-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:从 PR

2、OM 接收指令字,同时将指令字分别送到控制器CON 和总线上,模型机指令字长为8位,高 4 位为操作码,低 4 位为地址码(操作数地址) ;5、控制器 CON: (1)每次运行前 CON 先发出 CLR=1,使有关部件清零,此时PC=0000 ,IR=0000 0000 ; (2)CON 有一个同步时钟输出, 发出脉冲信号 CLK 到各部件,使它们同步运行;(3)控制矩阵 CM 根据 IR 送来的指令发出 12 位控制字,CON=CPEPLMERLIEILAEA SUEULBIO;6、累加器 A:能从总线接收数据,也能向总线送数据,其数据输出端能将数据送至ALU 进行算数运算(双态,不受 E

3、门控制) ;7、算数逻辑部件 ALU :当 SU=0 时,A+B,当 SU=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) 、控制矩阵(C

4、M) 、其他控制电路。微型计算机硬件基本结构:算术逻辑单元 ALU 、控制器、存储器、输入 /输出设备。微型机工作原理: 存储程序,按地址顺序执行。第二章微处理器基本结构和功能:1、内部寄存器阵列(通用寄存器和专用寄存器);2、算数逻辑运算单元;3、控制器(指令寄存器、指令译码器和各种定时与控制信号产生电路);4、现代微处理器中还集成了浮点运算部件及高速缓冲寄存器 cache。8086/8088 微处理器结构:执行部件 EU 的组成:1、ALU(算术逻辑单元);2、寄存器组:(1)通用寄存器:4 个 16 位通用寄存器(AX、BX、CX、DX)或 8 个 8 位寄存器( AL、AH、BL、BH

5、、CL、CH、DL、DH) ,其中 AX 为累加器, BX 为基址寄存器, CX为计数寄存器, DX 为数据寄存器;(2)专用寄存器:两个16 位指针寄存器 SP 和 BP,两个 16 位变址寄存器 SI 和 DI,其中,SP 是堆栈指针寄存器,由它和堆栈段寄存器SS 一起来确定堆栈在内存中的位置, BP 是基址指针寄存器,通常用于存放基地址,SI是原变址寄存器, DI 是目的变址寄存器,都用于指令变址寻址方式;AH AL BH BL CH CL DH DL SP BP SI 8086/8088 CPU 总线接口单元 BIU(完成取指令和存取数据)执行单元 EU(负责分析指令和执行指令)段寄存

6、器( CS 、SS 、DS 、ES )指令指针寄存器IP 地址加法器指令队列内部控制逻辑输入/输出控制电路算术逻辑单元ALU 寄存器组标志寄存器FR 暂存器AX BX CX DX 通用寄存器专用寄存器精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 13 页 - - - - - - - - - - _ 精品资料DI (3)标志寄存器 FR:为 16 位寄存器,其中 7 位未使用,使用的 9 个标志位可分为两类: 状态标志(CF、 PF、AF、ZF、SF、OF) ,控制标志( TF、IF、DF)

7、,15-12 11 10 9 8 7 6 5 4 3 2 1 0 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, 溢出判断:同符号数相加,结果的符号位与之不同(符号位发生变

8、化) ; 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 的动作

9、协调原则: BIU 和 EU 是并行工作的,按流水线技术原则管理1、当 8086 指令队列中有两个空字节 (8088 中一个)时,BIU 自动把指令取到队列中;2、EU 从指令队列取指,执行,执行过程中如要访问存储器或 I/O,而此时 BIU 正在取指,完成取指后响应EU的总线请求;3、指令队列已满, EU 又没有总线访问, BIU 进入空闲状态;4、执行转移、调用和返回指令时,指令队列中的原有内容自动消除, BIU 往指令队列中装入另一程序段中的指令。存储器组织:1、物理地址:物理地址 =段地址 16+ 偏移量任何一个存储单元的20 位实际地址称为物理地址,又称绝对地址,同一物理地址可以有不

10、同的段地址和偏移量。2、逻辑地址:段地址:偏移地址程序中出现的地址, 由段地址和段内偏移量组成, 段地址和段偏移量都是 16 位二进制数。3、一般程序存放在代码段中,段地址来源于代码段寄存器 CS,偏移地址来源于指令指针寄存器IP;当涉及一个堆栈操作时,段地址在堆栈段寄存器SS 中,偏移地址来源于栈指针寄存器SP;当涉及一个操作数时,则数据段寄存器 DS 或附加段寄存器ES 作为段寄存器,而偏移地址由 16 位的偏移量得到,16 位的偏移量取决于指令的寻址方式。4、采用段寄存器的优点:(1) 、解决了 16 位寄存器如何访问大于64KB 内存空间的问题;(2) 、可以实现程序的重定位。总线:总

11、线是传送信息的公共导线,一般由地址总线、数据总线和控制总线组成;1、地址总线( AB) ,一般是单向总线,传送CPU 发出的地址信息;2、数据总线(DB) ,是双向总线,可以从 CPU 传送数据信息到外设和主存,也可以从主存和外设向CPU 传送数据;3、控制总线( CB) ,其中每根线上的方向是一定的,它们分别传送控制信息、时序信息和状态信息。8086/8088 微处理器的工作模式:1、最小工作模式MN/MX=VCC: (单 CPU 系统)系统中只有一个8086/8088微处理器,所有的总线控制信号都直接由 8088/8086 产生。2、最大工作模式MN/MX=GND (多CPU系统):808

12、6/8088要通过总线控制器8288 来形成各种总线周期,控制信号由 8288 供给。指令周期、总线周期、时钟周期:1、指令周期:执行一条指令所需要的时间,执行每一条指令的时间不同;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 13 页 - - - - - - - - - - _ 精品资料2、 总线周期:访问一次总线的时间, CPU 从存储器或 I/O端口存取一次所需要的时间,一个基本的总线周期由4个 T 状态 T1、T2、T3、T4组成,基本总线周期包括存储器的读或写,输入 /输出的读或写

13、,中断响应,若存储器或外设速度较慢, 不能及时送上数据 (T3状态数据没准备好) ,则通过 READY 线通知 CPU,CPU 在 T3前沿检测READY ,若 READY=0 ,则在 T3结束后自动插入 1 个或几个TW,并在每个TW的前沿处检测READY ,等到RAEDY 变高后,自动脱离TW进入 T4;3、时钟周期: T 状态,是微机系统工作的最小时间单位,取决于系统的主频率, 系统完成任何操作所需要的时间均是时钟周期的整数倍。8086/8088 引脚信号和功能: 8086/8088 都有 16 位数据线,20 位地址线,直接寻址能力为1MB,引脚数为 40,其中 32 个引脚在两种工作

14、模式下的名称和功能是相同的,还有 8 个引脚在不同的工作模式下, 具有不同的名称和功能。双功能引脚的功能转换, 一是通过分时复用, 即同一引脚在总线的不同时钟周期内其功能不同;二是根据工作模式定义引脚的功能。两种模式下,名称和功能相同的32 个引脚:1、VCC、GND:单一+5V 电源,两个地;2、AD15AD0:地址 /数据复用总线,双向,三态(8088中 A15A8不复用,输出,三态);3、A19/S6A16/S3:地址/状态线复用,输出,三态;4、NMI:非屏蔽中断,输入,高电平有效,INTR:可屏蔽中断,输入,高电平有效;5、RD:读信号,输出,三态,低电平有效;6、CLK:时钟信号,

15、输入;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 位数据线允许 /状态信息复

16、用引脚,输出。最小工作模式的2431 引脚(括号中是最大工作模式下的引脚功能):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

17、(RQ/GT1 ) :同意让出总线信号,输出,高电平有效(总线保持响应信号) 。最大工作模式的 2431 引脚:1、QS1 和 QS2,指令队列状态信号,输出2、S2、S1、S0:总线周期状态信号,输出,三态;3、LOCK:总线封锁信号,输出,三态,低电平有效;4、RQ/GT1 、RQ/GT0:双向总线请求 /允许信号,双向。总线空操作: CPU 与存储器或 I/O 端口之间没有数据传送,总线空操作并不意味着CPU 不工作,只是总线接口部件 BIU 不工作,总线执行部件EU 仍在工作,实质上,总线空操作期间是BIU 对 EU 的一种等待。地址线为什么需要锁存:由于 8086 系统的地址的低16

18、位与数据引脚公用, 地址信号与数据信号是分时复用这些引脚的。这样先送出的地址信号可能被后送出的数据信号所代替,因此要有一个地址锁存器来保存先送出来的地址信息。锁存器主要用来锁存地址的低16 位。第三章机器指令:1、操作码 表示该指令所要完成的操作(二进制代码);2、地址码 操作数或操作数的地址。8086/8088 汇编语言指令:标号 指令助记符操作数表 ;注释 指令的寻址方式:1、顺序寻址方式; 2、跳转寻址方式。8086/8088 操作数的寻址方式:1、立即数寻址:MOV AL,80H MOV AX,1090H 操作数就包含在指令当中, 紧跟在操作码之后; 立即数为常量,常量可以是二进制数、

19、十进制数、十六进制数(以AF 开头则要加 0) 、字符串(用单或双引号括起的字符,表示对应的ASCII 码值,如 A =41H) ,还可以是标识符表示的符号常量、 数值表达式等; 立即数可以是 8 位、16位;立即数只能是整数, 不能是小数、变量或其它类型数据;立即数只能作原操作数。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 13 页 - - - - - - - - - - _ 精品资料2、寄存器寻址:INC CX ROL AH,1 MOV AX,BX MOV AX,1090H 寄存器寻址

20、方式的操作数存放在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、存储器寻址:操作数存放

21、在主存储器中,指令中给出的是有关操作数所在存储器单元的地址信息。(1)直接寻址:MOV AX,DS:2000H; 等价于 MOV AX,2000HMOV ES,ES:3000H; 物理地址 =(ES) 16+3000H操作数地址的 16 位偏移量(有效地址)直接包含在指令中,它与操作码一起存放在代码段区域,操作数一般存放在数据段区域,系统默认 DS 为数据段寄存器;8086/8088中允许段超越, 还允许操作数放在代码段、 堆栈段或附加段中,此时要在指令中,指明段超越,格式为段寄存器: 偏移地址 与立即数寻址不同的是,直接寻址的地址要放在方括号内。(2)寄存器间接寻址:操作数在存储器中,但是操

22、作数的有效地址包含在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 位偏

23、移量作为操作数的有效地址, 即带位移量的寄存器间接寻址;可以作为寄存器相对寻址的四个寄存器是SI、DI、BX、BP(同寄存器间接寻址), 若用 SI、 DI 和 BX 作寄存器相对寻址,则操作数默认在数据段,如:MOV AX,SI+4000H 原操作数物理地址 =(DS) 16+(SI)+4000H ;指令中可以使用段超越,若用BP 作为寄存器相对寻址,则 SS 为默认的段寄存器地,如:MOV AX,COUNTBP 原操作数物理地址 =(SS) 16+(BP)+COUNT 。(4)基址加变址寻址:把BX 和 BP 看作基址寄存器,把 SI、DI 看作变址寄存器,把一个基址寄存器(BX 或BP)

24、的内容加上一个变址寄存器(SI 或 DI)的内容,作为操作数的有效地址,即为基址加变址寻址方式,如:MOV AX,BX+SI 原操作数物理地址 =(DS) 16+(BX)+SI ;当基址寄存器为 BP 时,默认的段地址寄存器为SS ,如:MOV AX,BPSI (5)相对基址变址寻址:基址加变址寻址加上一个相对位移量,如:MOV AX,MASKBXSI MOV BH,4DIBP MOV BH,BP+DI+4 常用语法规则:立即数不能作目的操作数;代码段寄存器 CS 不能作目的操作数;两个操作数不能同时是存储器寻址;堆栈操作都是十六位的操作;两个操作数的类型必须匹配;8086/8088 寄存器间

25、接寻址地址是BX、 BP、 SI、 DI 之一;数据传送类指令:1、通用数据传送指令:MOV OPRD1,OPRD2 功能:把一个字节或一个字从源操作数PORD2 送至目的操作数 OPRD1 ,源操作数不改变;注意事项:(1)原和目的操作数的类型要一致,即同时为字节或同时为字;(2)不允许对 IP 进行操作, CS 不能作为目的操作数;(3)两个操作数中,除立即寻址外必须有一个为寄存器寻址,即两个存储器操作数之间不允许直接进行信息传送;(4)两个段寄存器之间不能直接传递信息,也不允许用立即数寻址方式为段寄存器负初值;(4)目的操作数不能用立即寻址方式;MOV 可以实现的传送:精品资料 - -

26、- 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 13 页 - - - - - - - - - - _ 精品资料立即数寄存器立即数存储单元寄存器寄存器寄存器存储器寄存器段寄存器存储器段寄存器2、交换传送指令:XCHG OPRD1,OPRD2 功能:操作数 OPRD1 的内容与操作数 OPRD2 的内容交换;OPRD1 和 OPRD2 可以是通用寄存器和存储单元(两个操作数不能同时为存储单元) ,可以采用除立即数寻址外的各种寻址方式,但段寄存器和立即数不能作为交换指令的一个操作数。3、堆栈操作指令(后进先出)(1)

27、入栈指令: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+2SP;步骤: SP 所指向的堆栈单元的内容送至操作数低8 位;SP+1 所指向的堆栈单元的内容送至目的操作数高8 位;SP+2SP。4、有

28、效地址传送指令: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 寄存器的指定位,空位没有定义。(

29、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

30、寄存器间接给出;外部设备最多可有65536个 I/O 端口( 0000 FFFFH ) ,只有前 256 个端口可在指令中直接给出 (00FFH) ,若端口地址超过255 时,则必须用DX 保存端口地址。(2)输出指令:OUT 端口地址,累加器功能:将 AL 中的一个字节或 AX 中的一个字输出到指定端口;传送类指令不影响标志位; 与 I/O 端口打交道的寄存器有累加器 AX, 寄存器 DX, AX 存放与外部设备交换的数据,DX 存放端口地址。算数运算类指令:1、加法指令(1)加法指令:ADD OPRD1,OPRD2 功能:OPRD1 OPRD1+OPRD2 , 完成两个操作数相加,结果送至

31、目的操作数OPRD1 ,原操作数不变;指令的运行结果对标志位CF、OF、PF、SF 和 AF 产生影响。(2)带进位加法指令:ADC OPRD1,OPRD2 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 13 页 - - - - - - - - - - _ 精品资料功能:OPRD1 OPRD1+OPRD2+CF ,ADC 指令主要用于多字节运算中。(3)增量指令:INC OPRD 功能:操作数 OPRD 的内容加 1,结果送回 OPRD ;此指令主要用于在循环程序中修改地址指针和循环次数等,

32、该指令执行的结果影响标志位AF、OF、PF、SF 和ZF,不影响进位标志CF。2、减法指令(1)减法指令:SUB OPRD1,OPRD2 功能: OPRD1 OPRD1-OPRD2 ,目的操作数减去原操作数,结果送到目的操作数,原操作数不变,本指令对标志位 AF、CF、OF、PF、SF 和 ZF 都有影响。(2)带借位的减法指令:SBB OPRD1,OPRD2 功能:OPRD1 OPRD1-OPRD2-CF ,目的操作数减去原操作数,同时还要减去借位(进位)标志CF 的现行值,结果送到目的操作数,原操作数不变,本指令对标志位AF、CF、OF、PF、SF 和 ZF 都有影响。(3)减量指令:DE

33、C OPRD 功能:操作数 OPRD 的内容减 1,并把结果送回 OPRD,执行结果不影响CF,但影响其它五个状态标志。(4)取补指令:NEG OPRD 功能:对操作数取补码,将结果送回操作数OPRD 中,实际上是用 0 减去操作数,执行结果影响标志位AF、 CF、OF、PF 、SF 和 ZF,一般总是使标志位CF=1,除非在操作数为 0 时,才使 CF=0 。(5)比较指令:CMP OPRD1,OPRD2 功能:操作数OPRD1减去 OPRD2 ,运算结果不送到OPRD1 ,不影响两个操作数,但影响状态标志。3、乘法和除法指令(1) 无符号数乘法指令MUL 和带符号数乘法指令IMUL:MUL

34、 OPRD IMUL OPRD 功能:如果 OPRD 是字节操作数,则 AL 的内容与 OPRD相乘的 16 位结果送到 AX 中;如果 OPRD 是字操作数,则 AX 的内容与 OPRD 相乘 32 位的结果送到 DX 和 AX中,DX 中是高 16 位,AX 中是低 16 位。注意事项:如果乘积结果的高半部分 (字节相乘时为 AH,字相乘时为 DX)不等于零,则标志CF=1,OF=1;否则CF=0,OF=0 ,对其它标志(该指令无定义) ,所以,如果 CF=0,OF=0,表示 AH 或 DX 中的结果数无效。(2)无符号数除法指令DIV 和带符号数除法指令IDIV:DIV OPRD IDI

35、V 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 ;字扩展指令CWD:寄

36、存器 AX 中的符号扩展到寄存器 DX。若 AX 的最高有效位为0,则DX=0 ,否则DX=0FFFFH 。逻辑运算与移位指令:1、逻辑运算指令(1)逻辑“与”指令:AND OPRD1,OPRD2 功能:两个操作数进行按位的逻辑“与”运算,结果送到目的操作数 OPRD1 ,CF=0,OF=0 ,结果影响 ZF、SF、PF;对自身的“与”操作作用是清标志位CF 和 OF,自身内容不变。(2)逻辑“或”指令:OR OPRD1,OPRD2 功能:两个操作数进行按位的逻辑“或”运算,结果送到目的操作数 OPRD1 ,CF=0,OF=0 ,结果影响 ZF、SF、PF。(3)逻辑“非”指令:NOT OPR

37、D 功能:把操作数OPRD 按位取反,结果送回OPRD ,对标志位没有影响。(4)逻辑“异或”指令:XOR OPRD1,OPRD2 功能:两个操作数进行按位的逻辑“异或”运算,结果送到目的操作数 OPRD1 ,CF=0,OF=0 ,结果影响 ZF、SF、PF。(5)逻辑测试指令:TEST OPRD1,OPRD2 功能:两个操作数进行按位的逻辑“与”运算,结果不送到目的操作数 OPRD1 ,仅仅影响标志位,通常用于检测某精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 13 页 - - - - -

38、 - - - - - _ 精品资料位是否为 1,但又不改变原来值的场合。2、移位指令(1)算数/逻辑移位指令:SAL OPRD,CNT ;算数左移SHL OPRD,CNT ;逻辑左移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,当需要

39、移多位时,移位位数需存放在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)有符号数比较转

40、移指令;(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(大于等于

41、)关系运算结果总是一个数值,若关系式不成立,则结果为 0,若关系成立,则结果为0FFFFH 。2、分析运算符(1)SEG 变量或标号计算段地址;(2)OFFSET 变量或标号计算偏移地址;(3)TYPE 变量或标号计算符号类型。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 13 页 - - - - - - - - - - _ 精品资料3、组合运算符(属性操作符)(1)定义符号名为新类型PTR PTR 用于指定或零时改变变量或标号的类型;(2)指定新类型 THIS THIS 为某个符号名建立新

42、类型, 如 BYTE (字节) 、 WORD(字) 、DWORD(双字) 。伪指令:1、数据定义(变量定义)变量名 助记符 功能:根据定义类型不同,为变量分配存储单元,并且把其后的初值表中的各项值存入连续的指定存储单元中,或者置分配单元而不存入确定的值。 初值表中的各项可以是数值、字符串、标号名或变量名,表达式。DB:定义字节,即初值表中的每个数据占1 个字节单元;DW:定义字,即初值表中的每个数据占1 个字单元( 2个字节) ,且低字节存放在低地址单元,高字节存放在高地址单元;DD:定义双字,即初值表中每个数据占两个字单元(4个字节) ,且低字节存放在低地址单元,高字节存放在高地址单元;DQ

43、:定义 4 字长,即每个数据项占8 个字节;DT:定义 10 个字节长。当一个定义的存储区内的每个单元要防止同样的数据时,可用 DUP 重复操作符COUNT DUP(?)COUNT 为重复次数,“() ”中为要重复的数据, ?表示空出一个单元,没有存放初值,DUP 可以嵌套使用。2、符号常量定义伪指令(1)等价语句 EQU 功能:将表达式的值赋给符号常量,表达式可以是常数、数值表达式、字符串、存储器符号等;(2)等号语句 = 功能:将表达式的数值赋给符号常量,表达式为数值表达式。注意:等价语句的符号常量名不能被重新赋值,等号语句可以重新赋值。3、段定义伪指令 SEGMENT 和 ENDS SE

44、GMENT 定位类型 组合类型 类别 (段体) ENDS 注意:开始的段名与结束的段名必须相同,段的长度不能超过 64KB ,SEGMENT 后面的参数是可选的, 但段名是不可默认的。4、设定段寄存器伪指令ASSUME ASSUME 段寄存器:段名,段寄存器:段名 功能:告诉汇编程序在汇编时,段寄存器CS、DS、SS、ES 应具有的符号段基址,但是段寄存器的实际值(CS除外)还要由传送指令在执行程序时赋值。5、ORG 伪指令ORG 功能:规定了在某一段内, 程序或代码存放的起始偏移地址。6、汇编结束伪指令END END 表达式 功能:告诉汇编程序源文件结束, 并给出执行程序的入口地址,表达式为

45、程序的启动地址。7、过程定义伪指令PROC 和 ENDP PROC 过程类型 RET ENDP 过程类型:段间为FAR,段内为 NEAR 。汇编语言程序的基本框架:STACK SEGMENT STACK ;定义堆栈段STACK ENDS DATA SEGMENT ;定义数据段DATA ENDS CODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATA,SS:STACK START MOV AX,DATA MOV DS,AX ;数据段段地址送DS MOV AH,4CH ;程序结束返回 DOS INT 21H CODE ENDS ;代码段结束END START 系统功能调

46、用:1、调用方法:(1)准备入口参数;(2)功能调用号送 AH 寄存器;(3)软中断指令 INT 21H。2、常用系统功能调用精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 13 页 - - - - - - - - - - _ 精品资料(1)从键盘接收一个字符( 01H 功能)MOV AH,1 INT 21H 功能:从键盘读一个字符,并将该字符回显在显示器上;入口参数:无;出口参数: AL=读到字符的 ASCII 码;如果读到的字符是Ctrl+c 或 Ctrl+Break 则结束程序。(2)从

47、键盘接收一串字符( 0AH 号功能)MOV DX,OFFSET BUF MOV AH,0AH INT 21H 入口参数: DS:DX=缓冲区首址,缓冲区的第一个字节放缓冲区最大容量数;出口参数:接收到的字符串在缓冲区中第三个字节开始;注意: 缓冲区第二个字节存放实际读入的字符数; 字符串以回车结束; 如果输入字符串超过了缓冲的区容量,超出的部分丢失,同时响铃; 如果在输入时按 Ctrl+C 或 Ctrl+Break ,则结束程序。(3)显示一个字符( 02H 功能)MOV DL, AMOV AH,02H INT 21H 功能:寄存器 DL 中的字符从屏幕上显示输出;入口参数: DL=要输出字符

48、的 ASCII 码;出口参数:无。(4)显示一串字符( 09H 功能)BUF DB good bye $ MOV DX,OFFSET BUF MOV AH,09H INT 21H 功能:将指定缓冲区中的字符串从屏幕上显示输出;入口参数: DS:DX=要输出字符的首址,字符串以字符,为结束标志;出口参数:无。(5)返回操作系统( 4CH 号功能)MOV AH,4CH INT 21H 功能:结束当前正在执行的程序, 并返回操作系统,回到DOS 提示符下 C:;入口参数:无;出口参数:无。汇编文件类型:编辑程序输出的文件为 .asm;汇编程序输出的文件有 .obj、.lst;连接程序输出的文件为 .

49、exe。第五章存储器容量的扩展方法:1、位扩展位扩展只是在位数方向扩展 (加大字长),而芯片的字数和存储器的字数是一致的, 位扩展的连接方式是将各存储芯片的地址线、片选线和读/写线相应地并联起来,而将各芯片的数据线单独列出,例如用64K 1bit 的 DRAM芯片组成 64K 8bit 的存储器。2、字扩展字扩展是指仅在字数方向扩展,而位数不变,字扩展将芯片的地址线、数据线、读/写线并联,由片选信号来区分各个芯片, 例如用 16K 8bit 的 SRAM 芯片组成 64K 8bit 的存储器。地址译码的方法:1、线选法高位地址线直接(或经反相器)接至各个存储芯片的片选端,当某条地址线信息为“

50、0”时,就选中与之对应的存储芯片,这些片选地址线每次寻址只能有一位有效,保证每次只选中一个(或组)芯片。2、全译码法用除了片内寻址外的全部高位地址线作为地址译码器的输入,把经过译码器译码后的输出作为各芯片的片选信号,将它们分别接到存储芯片的片选端,以实现对存储芯片的选择。3、部分译码用除了片内寻址外的高位地址的一部分来译码产生片选信号,在系统中如果不要求提供CPU 可直接寻址的全部存储单元,则可采用线选法和全译码法相结合的方法,这就是部分译码法。第六章接口的作用:接口的作用总的来说就是要能够根据CPU 的要求对外设进行管理与控制,实现信号逻辑及工作时序的转换,保证 CPU 与外设之间能可靠而有

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com