[工学]微机原理习题课

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

一、 8086/8088的内部结构
通 用 寄 存 器 AH AL BH BL CH CL DH DL SP BP DI SI 20位 CS DS SS ES IP
地址加法
16位 输入/输出 控制电路
16位
运算寄存器 ALU 标志 执行部件(EU) 执行 部分 控制 电路
内部暂存器
外 部 总 线
1 2 3 4 5 6
逻辑运算指令AND、OR、NOT、
逻辑运算和 移位指令
XOR、TEST 移位指令SHL/SHR、SAL/SAR 循环移位指令ROL/ROR、RCL/RCR
注意: 1、除NOT 不影响标志位,其他的逻辑运算指令影响SF、ZF、 PF ,AF不确定,CF和OF总为0 2、循环移位指令仅影响CF和OF
例:二进制数B3和E9H进行逻辑异或运算,其结果及 进位标志分别是 A 。 A、01011010,0 B、11111011,1 C、11111011,0 D、01011010,1
8位 指令队列缓冲器 总线接口部件(BIU)
二、总线周期、时钟周期、指令周期
BIU通过总线访问存储器或I/O接口所需要的时 间称为总线周期,一个总线周期只能访问一次存储 器或I/O接口,不同的总线操作要求不同数量的总线 周期。 时钟周期是CPU的最小时间单位,是频率f的倒 数。 通常一个总线周期由4个时钟周期组成。 指令周期是CPU执行一条指令所需的时间,指令 周期由若干个总线周期组成。 存取周期是指存储器进行相邻两次存取操作所需 的最小时间间隔。
例2:设字长n=4,已知X=-3,则下列4组等式中完全 正确的一组是 A 。 A、[2X]原 =1110 [2X]补=1010 B、[2X]原=1111 [2X]补=1010 C、[2X]原 =1110 [2X]补=1011 D、[2X]原 =1111 [2X]补=1011 例3:设[X]反 =24H,则[X]补 和 [-X/2]补 分别是 C 。 A、57H,D5H B、D7H,2BH C、24H,EEH D、24H,EDH
2、 程序转移寻址方式
8086/8088中,用于程序转移地址的寻址方式有。 段内直接寻址——JMP SHORT LAB,CALL NEAR PROC2 段内间接寻址——CALL BX 、JMP DX、CALL WORD PTR[BX] 段间直接寻址——CALL FAR PORC1 段间间接寻址——CALL DWORD PTR [BX]
例1:8086/8088工作在最小模式时,对CPU而言,下 列信号中皆为输入信号的是 。 A A、HOLD、TEST、READY B、M/IO、TEST、READY C、M/IO、、HOLD、TEST D、DT/R、HOLD、READY
例2:8086中与存储器或I/O同步有关的引脚是 A、LOCK B、READY C、TEST D、RESET 分析: READY为准备就绪输入信号,当需访问的M或 I/O借口已准备好传诵数据时,向此引脚发送高电平 信号。CPU将在总线周期的T3检测READY引脚, 如为低电平,则插入TW,以达到同步。所以为B。
C6=0,C7=1 C7C6=1,所以产生了 溢出
微处ቤተ መጻሕፍቲ ባይዱ器 8086的内部结构
两大部分:EU 和 BIU 注意的是:IP在BIU中,和CS形成20位物理地址 标志寄存器FR中的6个状态标志的意思, 计算后如何确定。 物理地址、逻辑地址(2000H:3456H)、有 效地址的概念 23456H、2000H:3456H、3456H
MOV WORD PTR [SI],6070H
MOV AX,[300H] MOV DS,AX
MOV [300H],AX MOV AX,DS
注意: • CS,IP不能作为目的操作数 MOV CS, AX
• 两个段寄存器间不能直接传送 MOV SS, DS
• 立即数不能直接传送给段寄存器 MOV DS,2000H
EA=基址(BX或BP) +变址(SI或DI)+位移量 I/O口寻址; 操作数在I/O端口中
例1:关于8086寻址方式的下列叙述中,正确的 C 是 。 A、立即数寻址即直接寻址 B、基址寻址默认的段地址必定是DS C、基址变址寻址中,段地址的默认仅取决于基址寄 存器。 D、由BX、BP、SI、DI组合而成的基址变址寻址,这 4个寄存器可任取2个组合。 例2:若数据段中有一变量Y,则指令MOV AX,Y中, B 源操作数的寻址方式和下列 相同。 A、MOV AX,1234 B、MOV AX,[1234] C、MOV AX,BX D、MOV AX,[BX]
例1:在微型计算机中,设最高位为符号位,小数点 在符号位之后,当 [X]原 = [X]补 时,X的取值应 是 D 。 A、X≥0和X=-1 B、仅X≥0 C、X>0和X=-1/4 D、X>0和X=-1/2 分析:A和B肯定错,因为原码中的0的有2种表示方 法, C中 X=-1/4=-0.0100……0 原码为10100……0, 补码为11100……0 原码和补码并不等,所以肯定 是D。
重复前缀REP、REPE/REPZ、
REPNE/REPNZ 串传送指令MOVSB/MOVSW 串比较指令CMPSB/CMPSW 串搜索指令SCASB/SCASW 取串指令LODSB/LODSW 存串指令STOSB/STOSW
8086的外部引脚及控制信号
需理解地背引脚。
1、 8086/8088的工作模式
最小模式:是指系统中只有8086或8088一个微处理 器,所有总线控制信号均由CPU直接产生,最小模 式用在规模较小的8086/8088系统中。
最大模式:是指系统中包含两个或多个微处理器, 其中主处理器是8086或者8088,其余处理器称为协 处理器,系统的总线控制信号主要由总线控制器产 生,最大模式用于中、大型的8086/8088系统。
例3:下列4条指令中,格式正确的条数是 C 。 PUSHF LDS DX,OFFSET MSS1 XOR AL,AL ROL DL,CL A、1 B、 2 C、3 D、 4
加法指令ADD、ADC、INC、
算术运算类指令
AAA/DAA 减法指令SUB、SBB、DEC、NEG、 CMP、AAS/DAS 乘法指令MUL/IMUL、AAM 除法指令DIV/IDIV、AAD 符号扩展指令CBW、CWD
内存中: MOV AX, [2000H]
I/O端口中(仅对IN/OUT指令): IN AL, 40H
寻址方式有:
寄存器寻址 ;操作数存放在寄存器中 立即数寻址 ;操作数在指令中
存储器寻址
BP默认为堆栈 段其它默认为 数据段
直接寻址 寄存器间接寻址 寄存器相对寻址 基址加变址寻址 基址加变址相对寻址 操作数存放在内存
例3:若X=-63,Y=+127,则在 [X-Y]补 运算后,进位 标志C、符号标志S及溢出标志O应分别为 A 。 A、1,0,1 B、1,0,0 C、1,1,1 D、 0 , 0 , 1 分析:[X]补=11000001,[-Y]补=10000001
11000001 +10000001 10 1 0 0 0 0 1 0

8086指令寻址方式
寻址方式是指令对其操作数地址和程序转移地 址的表达方式。 计算机按照指令给出的寻址方式计算出有效地 址去存、取操作数或求出转移指令的地址。
1、 操作数寻址方式
8086/8088的操作数可以包含在指令中,也可以在寄存器、 存储器、I/O口中,从而对应四种寻址方式。
计算机中操作数常存放在以下几个地方: 指令代码中,存放常量;MOV AX, 2070H 寄存器中:MOV AX, BX
逻辑运算指令AND、OR、NOT、
逻辑运算和 移位指令
XOR、TEST 移位指令SHL/SHR、SAL/SAR 循环移位指令ROL/ROR、RCL/RCR
注意: 1、除NOT 不影响标志位,其他的逻辑运算指令影响SF、ZF、 PF ,AF不确定,CF和OF总为0 2、循环移位指令仅影响CF和OF
例:二进制数B3和E9H进行逻辑异或运算,其结果进 A 位标志分别是 。 A、01011010,0 B、11111011,1 C、11111011,0 D、01011010,1
2、原码、反码、补码、移码 原码和反码中有+0和-0之分,所以表示范围 n-1 n-1 是-(2 -1)~(2 -1) 补码中0只有一种表示方法,所以表示范围 n-1 n-1 是-(2 )~(2 -1) n-1 n-1 移码的定义是:[X]移=2 +X 2 即为偏移量。 [X±Y]补 = [X]补 + [±Y]补
• 逻辑运算和移位指令
• 程序控制类指令 • 串操作类指令 • 处理器控制类指令
通用传送类指令MOV、XCHG、
数据传送指令
XLAT、PUSH、POP 地址传送类指令LEA、LDS、LES 标志传送类指令PUSHF、POPF、 LAHF、SAHF I/O端口输入输出指令IN、OUT
MOV DS,[BX] 通用寄 存器 段寄存 器 立即数 MOV AX,BX MOV AX,300 存储器
例1:下列指令中,属段内间接寻址的指令条数 B 为 。 JMP WORD PTR[BX+ABC] JMP FAR PTR NEXT JMP CX JMP SHORT NEXT A、1 B、 2 C、 3 D、 4
8086/8088指令系统
8088/8086指令系统可以分为以下六个功能组: • 数据传送类指令 • 算术运算类指令
例1:假定AL=82H,BL=99H,则依次执行完ADD 81H AL,BL和DAA指令后,AL=__________ 例2:设AL=9BH,执行以下程序段后,AL中的内容 为42H 。 AND AL,0FH ADD AL,90H DAA ADC AL,40H DAA
例3:执行以下程序段后,AX和IP的内容分别是 0FFF0H,000FH _______________ MOV BX,16 MOV AX,0FFFFH MUL BX JMP DX 例:执行以下程序段后,AX和IP的内容分别是 0FFF0H,0FFFFH _______________ MOV BX,16 MOV AX,0FFFFH IMUL BX JMP DX
注意:1、NEG、MUL/IMUL、DIV/IDIV指令的操作数只能是 通用寄存器和存储器,不能是立即数。 2、十进制调整指令都是紧跟在加法、减法及乘法指令之后进 行,惟有除法时是在执行除法指令之前进行十进制调整的。 3、加法及减法的调整在AL中进行,乘、除法的调整在AX中 进行(我们可以直接按十进制运算的结果去求)。
• 内存单元间不能直接传送 MOV [SI], [2000H]
• 立即数不能作为目的操作数 MOV 1000H, AX
例1:下列指令格式正确的是 B 。 A、XCHG AL,66H B、CALL BX C、NEG DS D、DIV 20
B 例2:下列指令中,格式错误的指令是 。 A、MOV AL,[BX] B、MOV DS,1000H C、MUL AX D、SHL BX,CL
2、8086的引脚 功能(带括号的 引脚功能为最 大模式下的功 能)
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
8086
VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD(RQ/GT0) HLDA(RQ/GT1) WR(LOCK) M/IO(S2) DT/R(S1) DEN (S0) ALE (QS0) INTA(QS1) TEST READY RESET
技巧:要讲究速度,不能都去死算 例:下列4个不同进位制的数中,其值为6.2的是 A、6.2H B、6.2Q C、(11.1)5 D、00110.0100B 分析:显然A、B都错,D是6.25,所以是C
基础知识 1、进位计数制 H、Q、D、B、BCD 十进制——N进制 整数部分:除N取余倒排 小数部分:乘N取整顺排 N进制——十进制 按权展开 例:下列4个不同进位制的数中最大的是 。 A、10.1 B、A.1H C、12.1Q D、1010.1B D
相关文档
最新文档