指出下列指令中源操作数和目的操作数的寻址方式
- 格式:doc
- 大小:177.00 KB
- 文档页数:14
第一章2、完成下列数制之间的转换。
(1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。
答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。
组合型:254=(001001010100)BCD非组合型:254=(00000010 00000101 00000100)BCD7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少?答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。
+32767~ -32768。
9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。
(1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确[X-Y]补=10111001B=00010010+10100111=(-71D)补正确(2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确(3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确[X-Y]补=00010010+00001111=00100001B=(33D)补正确(4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。
《微机原理与接口技术》—习题及参考答案与洪永强编著的教材配套使用2008年9月2日目录第 1 章微型计算机概述 (3)第 2 章微处理器 (4)第 3 章寻址方式和指令系统 (7)第 4 章汇编语言程序设计 (12)第 5 章输入输出接口 (15)第 6 章存储器 (16)第7 章中断系统 (18)第8 章计数器/定时器与DMA控制器 (24)第9 章并行接口与串行接口 (26)第10 章总线 (30)第11 章模拟量输入/输出通道接口 (31)第12 章人机交互设备及其接口 (33)0.1下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。
(1) (-85)+76 (2) 85+(-76) (3) 85-76(4) 85-(-76) (5) (-85)-76 (6) -85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=01010101B-01001100B=01010101B+10110100B=00001001B=09H;CF=0;OF=0(4) 85-(-76)=01010101B-10110100B=01010101B+01001100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=10101011B-01001100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=10101011B-10110100B=10101011B+01001100B=11110111B=0F7H;CF=0;OF=0第 1 章微型计算机概述1.1微型计算机的发展经历了哪几个时代?每个时代有哪些主要特点?1.2简述Pentium4 微处理器的处理能力。
.说明计算机执行指令的基本过程。
1.取指:控制器将指令的地址送往存储器,存储器按给定的地址读出指令内容,送回控制器2.译码:控制器分析指令的操作性质,向有关部件发出指令所需要的控制信号3.执行:控制器从通用寄存器或存储器取出操作数,命令运算器对操作数进行指令规定的运算4.回写:将运算结果写入通用寄存器或存储器(控制器将下一条指令的地址发往存储器,重新不断重复上述四个步骤)3.试说明硬布线控制器与微程序控制器的各自优缺点。
1).硬布线控制器:优点:指令执行速度很快。
缺点:控制逻辑的电路复杂,设计和验证难度大;扩充和修改也很困难。
2).微程序控制器:优点:○1.规整性:用程序的方法来产生和组织微命令信号(将程序技术引入CPU)用存储逻辑控制代替组合逻辑控制(将存储逻辑引入CPU)○2.灵活性:可以较方便地增加和修改指令,只要增加或修改一部分微程序即可缺点:速度较慢:每执行一条指令都要启动控制存储器中的一串微指令(即一段微程序),执行速度相对于“硬布线控制器”要慢4.什么是微指令其组成格式如何存储于何处微指令:定义:计算机控制器所要产生的微命令的代码(微码)形式。
组成格式:微操作控制字段、顺序控制字段存储于:一个用只读存储器(ROM)构成的控制存储器中:微指令的编码方式:直接表示法、编码表示法、混合表示法微指令格式的分类:水平型指令、垂直型指令5.微程序控制器主要由哪些部件组成控制存储器(CM)、微指令寄存器(μIR)、微地址寄存器(μAR)、微地址形成电路7.微型计算机包括哪几个主要组成部分各部分的基本功能是什么1.微处理器:执行程序指令,完成各种运算和控制功能;2.主存储器:ROM(只读):存储某些固定不变的程序或数据;RAM(随机存取):存储计算机运行过程中随时需要读入或写入的程序或数据;3.总线:分时地发送与接收各部件的信息;O接口:控制主机与外部设备之间的信息交换与传输。
思考题:以执行一条指令为例,说明计算机(CPU) 执行指令的基本过程,例如执行如下x86指令:2000H: ADD [1000H], AL.若80x86实模式下当前段寄存器的值为CS=2010H,DS=3010H,则对应的代码段及数据段在存储空间中物理地址的首地址及末地址是什么解:由CS=2010H,其代码段首地址:20100H末地址:300FFH由DS=3010H,其数据段首地址:30100H末地址:400FFH 10.设现行数据段位于存储器10000H~1FFFFH单元,则DS寄存器的内容应为多少解:1000H.13.某系统中已知当前SS=2100H,SP=080AH,说明该堆栈段在存储器中的物理地址范围。
1 思考与练习题一、选择题1.计算机硬件中最核心的部件是( )。
CA.运算器B.主存储器C.CPUD.输入/输出设备2.微机的性能主要取决于( )。
A(B——计算机数据处理能力的一个重要指标)A.CPUB.主存储器C.硬盘D.显示器3.计算机中带符号数的表示通常采用( )。
CA.原码B.反码C.补码D.BCD码4.采用补码表示的8位二进制数真值范围是( )。
CA.-127~+127B.-1 27~+128C.-128~+127D.-128~+1285.大写字母“B”的ASCII码是( )。
BA.41HB.42HC.61HD.62H6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。
CA.10010011BB.93HC.93D.147二、填空题1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。
P8 P52.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。
P5 P93.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。
P94.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。
P125.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。
P15 P166.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。
P18 P19三、判断题1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。
.第1章绪论作业1.将下列二进制数转换成十进制数。
(1)11001010B=202(2)00111101B=61(3)01001101B=77(4)10100100B=1643.将下列十进制数分别转换为二进制数和十六进制数。
(2)76= 100 1100B =4CH(4)134= 1000 0110B =86H4.求下列十进制数的 BCD码(1)327=11 0010 0111 (BCD码)(2)1256=1 0010 0101 0110 ( BCD码)6.求出下列 10 进制数的原码、反码和补码(2)+85 (4)-85解: 85=0101 0101B原码: +85= 0101 0101B-85= 1101 0101B反码: +85= 0101 0101B-85= 1010 1010B补码: +85= 0101 0101B-85= 1010 1011B10.画出微型计算机的基本结构框图,说明各部分的主要功能是什么?解:微型计算机的基本结构框图如下:微处理器地址总线CPU存储器I/O 接口I/O 总线I/O 设备数据总线控制总线微处理器 CPU:控制微处理器与存储器或 I/O 设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。
微处理器主要完成:(1)指令控制:从存储器中取指令,指令译码;(2)数据加工:简单的算术逻辑运算;(3)操作控制:在微处理器和存储器或者I/O 之间传送数据;(4)时间控制:程序流向控制。
存储器:用来存放数据和指令。
I/O接口:主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。
I/O 设备:输入原始数据和程序,转换成计算机能识别的信息,送入存储器去等待处理。
输出运算结果。
总线:连接计算机系统中各功能部件的信息通道。
第 2 章 8086CPU 作业2. 8086CPU 内部由哪两部分组成?它们的大致是如何工作的?答:(1)8086CPU 由指令执行部件 EU 和总线接口部件 BIU 两部分组成。
1.已知(AX)=1234H,执行下述三条指令后,(AX)=( D )MOV BX,AXNEG BXADD AX,BXA.1234H B.0EDCCH C.6DCCH D.0000H 2.写出完成下述功能的程序段:(1)传送25H到AL寄存器(2)将AL的内容乘以2(3)传送15H到BL寄存器(4)AL的内容乘以BL的内容并请写出最后(AX)=?答:(1)MOV AL, 25H(2)SHL AL, 1(3)MOV BL, 15H(4)MUL BL最后,(AX)=612H =1554一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是( c )A.12CSBH B.12B6BH C.12C59H D.12BFEH1、在实模式下,段地址和偏移地址为3017:000A的存储单元的物理地址是3017AH?如果段地址和偏移地址是3010:002A和3010:007A的存储单元的物理地址分别是3017AH 和3017AH选择题:循环指令loop again与(A)等价A dec cx;jnz againB inc cx;jnz againC mul cx;jnz againD add cx;jnz again2程序写出结果:mess db 'chengxujieguo''13''10''$'mov bx,offset messmov ax,10mov dl,3sub ax,1mul dladd bx,axmov cx,13a:mov dl,[bx]mov ah,02int 21hinc bxloop amov ah,2dhint 21hmov ah,2ahint 21h答案:chengxujieguo1.指令MOV AX,[BX+4000H]的寻址方式为(B)A 寄存器间接寻址 B、寄存器相对寻址 C、立即寻址 D、直接寻址2.试编写一程序段,要求在长度为100H字节的数组中,找出大于42H的无符号数的个数并存入字节单元UP中,找出小于42H的无符号数的个数并存入字节单元DOWN中。
习题1.指出下列指令中操作数的寻址方式(1) MOV BX, 20H (2) MOV AX, [1245H](3) MOV DX, [SI] (4) MOV 100[BX], AL(5) MOV [BP][SI], AX (6) MOV [BX+100][SI], AX(7) MOV [1800H], AL (8) MOV [SI], AX答:源操作数目的操作数1 立即寻址寄存器寻址2 直接寻址寄存器寻址3 寄存器间接寻址寄存器寻址4 寄存器寻址寄存器相对寻址5 寄存器寻址基址加变址寻址6 寄存器寻址相对基址加变址寻址7 寄存器寻址直接寻址8 寄存器寻址寄存器间接寻址2. 判断下列操作数寻址方式的正确性,对正确的指出其寻址方式,错误的说明其错误原因:(1) [AX] (2) [SI+DI](3) BP (4) BH(5) DS (6) [BL+44](7) [BX+BP+32] (8) [DX](9) [CX+90] (10) [BX*4](11) BX+90H (12) SI[100H]答:(1) 错误,AX不能用于访问内存单元(2) 错误,两个变址寄存器SI和DI不能同时用于内存单元的有效地址(3) 正确,寄存器寻址方式(4) 正确,寄存器寻址方式(5) 正确,寄存器寻址方式(6) 错误,寄存器BL不能用于表示内存单元的有效地址(7) 错误,BX和BP都是基址寄存器,不能同时用于内存单元的有效地址(8) 错误,DX不能用于表示内存单元的有效地址(9) 错误,CX不能用于表示内存单元的有效地址(10)错误,16位寄存器不能乘以比例因子(11) 错误,没有这样的寻址方式(12) 错误,书写方式不对,应该写成100H[SI]3. 已知DS=2000H,ES=1000H,SS=1010H,SI=1100H,BX=0500H,BP=0200H,请指出下列源操作数字段是什么寻址方式?源操作数字段的物理地址是多少?(1) MOV AL, [2500H](2) MOV AX, [BP](3) MOV AX, ES:[BP+10](4) MOV AL, [BX+SI+20]答:(1)源操作数属于直接寻址,物理地址=DS⨯16+2500H=20000H+2500H=22500H;(2)源操作数属于寄存器间接寻址,物理地址=SS⨯16+(BP)=10100H+0200H=10300H(3)源操作数属于寄存器相对寻址,物理地址=ES⨯16+(BP)+100=10000H+0200H+0AH=1020AH(4)源操作数属于基址加变址寻址,物理地址=DS⨯16+(BX)+(SI)+20=20000H+0500H+1100H+14H=21614H4. 判断下列指令的对错,如果错误请说明原因。
计算机组成原理试题解析5一.判断题1.一个指令周期由若干个机器周期组成. 解:答案为正确.2.非访内指令不需从内存中取操作数,也不需将目的操作数存放到内存,因此这类指令的执行不需地址寄存器参与. 解:答案为错误.3.组合逻辑控制器比微程序控制器的速度快. 解:答案为正确.4.流水线中的相关问题是指在一段程序的相邻指令之间存在某种信赖关系,这种关系影响指令的执行.解:答案为正确.5.微程序控制控制方式与硬布线控制方式相比,最大的优点是提高了指令的执行速度. 解:答案为正确.6.微程序控制器中的控制存储器可用PROM,EPROM或闪存实现. 解:答案为正确.7.指令周期是指人CPU从主存取出一条指令开始到执行这条指令完成所需的时间. 解:答案为正确.8.控制存储器是用来存放微程序的存储器,它比主存储器速度快. 解:答案为正确.9.机器的主频最快,机器的速度就最快. 解:答案为正确.10.80X86的数据传送指令MOV,不能实现两个内存操作数的传送. 解:答案为正确. 二.选择题1.指令系统中采用不同寻址方式的目的主要是 . A. 实现程序控制和快速查找存储器地址 B. 可以直接访问主存和外存C. 缩短指令长度,扩大寻址空间,提高编程灵活性D. 降低指令译码难度解:答案为C.2.CPU组成中不包括 .A.指令寄存器B.地址寄存器C.指令译码器D.地址译码器解:答案为D.3.程序计数器PC在中. A.运算器 B.控制器 C.存储器 D.I/O接口解:答案为B.4.计算机主频的周期是指 . A.指令周期 B.时钟周期 C.CPU周期 D.存取周期解:答案为B.5.CPU内通用寄存器的位数取决于 . A.存储器容量 B.机器字长C.指令的长度D.CPU的管脚数解:答案为B.6.以硬布线方式构成的控制器也叫 . A.组合逻辑型控制器 B.微程序控制器 C.存储逻辑型控制器 D.运算器解:答案为A.7.一个节拍脉冲持续的时间长短是 . A.指令周期 B.机器周期 C.时钟周期 D.以上都不是解:答案为C.8.直接转移指令的功能是将指令中的地址代码送入 . A.累加器 B.地址寄存器 C.PCD.存储器解:答案为C.9.状态寄存器用来存放 .A.算术运算结果B.逻辑运算结果C.运算类型D.算术,逻辑运算及测试指令的结果状态解:答案为D.10.微程序放在中. A.指令寄存器 B.RAM C.控制存储器 D.内存解:答案为C.11.某寄存器中的值有时是地址,这只有计算机的才能识别它. A.译码器 B.判断程序C.指令D.时序信号解:答案为C.12.微程序控制器中,机器指令与微指令的关系是________. A. 每一条机器指令由一条微指令执行B. 每一条机器指令由一段用微指令编成的微程序来解释执行C. 一段机器指令组成的程序可由一条微指令来执行D. 一条微指令由若干条机器指令组成解:答案为C.13.在高速计算机中,广泛采用流水线技术.例如,可以将指令执行分成取指令,分析指令和执行指令3个阶段,不同指令的不同阶段可以① 执行;各阶段的执行时间最好② ;否则在流水线运行时,每个阶段的执行时间应取③ . 可供选择的答案:① A.顺序 B.重叠 C.循环 D.并行② A.为0 B.为1个周期 C.相等 D.不等③ A. 3个阶段执行时间之和 B. 3个阶段执行时间的平均值 C. 3个阶段执行时间的最小值 D. 3个阶段执行时间的最大值解:答案为①D,②C,③D.14.微指令格式分成水平型和垂直型,前者的位数 ,用它编写的微程序 . A.较少 B.较多 C.较长 D.较短解:答案为B,D.15.异步控制常作为的主要控制方式.A. 单总线计算机结构计算机中访问主存和外部设备时B. 微型机的CPU控制中C.组合逻辑的CPU控制中D. 微程序控制器中解:答案为A.16.与微指令的执行周期对应的是 . A.指令周期 B.机器周期 C.节拍周期 D.时钟周期解:答案为B. 三.填空题1.目前的CPU包括 , 和CACHE(一级). 答:运算器,控制器.2.CPU中保存当前正在执行的指令的寄存器为 ,保存下一条指令地址的寄存器为 . 答:指令寄存器IR,程序计数器PC.3.CPU从主存取出一条指令并执行该指令的时间叫 ,它常用若干个来表示,而后者又包含若干个 .答:指令周期,机器周期,时钟周期.4.在程序执行过程中,控制器控制计算机的运行总是处于 ,分析指令和的循环之中. 答:取指令,执行指令.5.控制器发出的控制信号是因素和因素的函数,前者是指出操作在什么条件下进行,后者是指操作在什么时刻进行. 答:空间,时间.6.微程序入口地址是根据指令的产生的. 答:译码器,操作码.7.微程序控制器的核心部件是 ,它一般用构成. 答:控制存储器,只读存储器.8.微指令执行时,产生后继微地址的方法主要有 , 等. 答:计数器方式,断定方式.9.任何指令的第一个周期一定是 . 答:取指令.10.一条机器指令的执行可与一段微指令构成的相对应,微指令可由一系列组成. 答:微程序,微命令.11.微程序设计技术是利用方法设计的一门技术. 答:软件,控制器.12.在同一微周期中的微命令叫互斥的微命令;在同一微周期中的微命令叫相容的微命令.显然, 不能放在一起译码.答:不可能同时出现,可以同时出现,相容的微命令. 13.在微程序控制器中,时序信号比较简单,一般采用 . 答:同步控制.14.保存当前栈顶地址的寄存器叫 . 答:栈顶指针SP.15.实现下面各功能有用哪些寄存器⑴表示运算结果是零的是. ⑵表示运算结果溢出的是. ⑶表示循环计数的是 .⑷做8位乘除法时用来保存被乘数和被除数的是. ⑸暂时存放参加ALU中运算的操作数和结果的是 . 答:⑴状态寄存器中的ZF. ⑵状态寄存器中的OF. ⑶CX. ⑷AL/AX. ⑸累加器. 四.综合题1.在8086中,对于物理地址2021CH来说,如果段起始地址为20000H,则偏移量应为多少解:14CH.2.在8086中SP的初值为2000H,AX=3000H,BX=5000H.试问: (1) 执行指令PUSH AX 后,SP=(2) 再执行指令PUSH BX及POP AX后,SP= ,BX= 请画出堆栈变化示意图. 解:⑴SP=2000H-2=1FFEH⑵执行PUSH BX和POP AX后,SP=1FFEH-2+2=IFFEH,BX=5000H,指针变化图略. 3.指出下列8086指令中,源操作数和目的操作的寻址方式. (1) PUSH AX (2) XCHG BX,[BP+SI] (3) MOV CX,03F5H (4) LDS SI,[BX](5)LEA BX,[BX+SI] (6) MOV AX,[BX+SI+0123H] (7) MOV CX,ES:[BX][SI] (8) MOV [SI],AX (9)XCHG AX,[2000H]解:⑴源是寄存器直接寻址.目的是寄存器间接寻址. ⑵源是变址/基址寻址,目的是寄存器直接寻址. ⑶源是立即数寻址,目的是寄存器直接寻址. ⑷源是寄存器间接寻址.目的是寄存器直接寻址. ⑸源是变址/基址寻址,目的是寄存器直接寻址.⑹源是变址/基址加偏移量寻址,目的是寄存器直接寻址. ⑺源是跨段的变址/基址寻址,目的是寄存器直接寻址. ⑻源是寄存器直接寻址.目的是寄存器间接寻址. ⑼源是存储器直接寻址.目的是寄存器直接寻址. 4.请按下面的要求写出相应的8086汇编指令序列.(1) 将1234H送入DS中(2) 将5678H与AX中的数相加,结果放在AX中. (3) 将DATAX和DATAY相加,其和放在DATAY中. (4) 将AX中的高4位变为全0. (5) 将AX中的低2位变为全1. 解:⑴MOV AX,1234H ;MOV DS,AX ⑵ADD AX,5678H ⑶MOV AX,DATAX ADD DATAY,AX ⑷AND AX,0FFFH⑸OR AX,0003H5.若BX=0379H,下面8086指令执行后,BX= (1) XOR BX,0FF00H (2) AND BX,0FF00H (3) OR BX,0FF00H解:⑴根据\异或\操作的特点,与\做\异或\操作,操作数不变;与\做\异或\操作,即使操作数变反,此题仅使BH变反,所以结果为BX=1111110001111001=FC79H.⑵根据\与\操作的特点,对\做\与\操作,操作数为0;对\做\与\操作,即操作数不变.此题仅使BL清0,BH不变,所以结果为BX=0000001100000000=0300H.⑶根据\或\操作的特点,对\做\或\操作,操作数不变;对\做\或\操作,即操作数为1.此题仅使BH(即高8位)置1,BL(低8位)不变,所以结果为BX=0000001110000110=0386H. 6.若(BX)=5555H,试写出执行完下面的指令序列后BX中的内容. MOV CL,5 SHR BX,CL解:第一条指令把数5传送到CL(CL是指定用于存放移位或循环次数的寄存器)中,第2条是逻辑右移指令,使BX逻辑右移5次(由CL给出移位次数),结果BX=02AAH. 7.试用8086移位和加法指令完成将AX中的内容乘以10的操作. 解:算法为AX×10=AX×2+AX×8,指令序列如下: SHL AX,1 ;AX×2MOV BX,AX ;AX×2保存到BX SHL AX,1 ;AX×4 SHL AX,1 ;AX×8 ADDAX,BX ;AX×108.根据以下要求写出相应的8086汇编语言指令.(1) 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中.(2) 用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中.(3) 用寄存器BX和偏移量0BD2H的寄存器相对寻址方式把存储器中的一个字和CX相加并把结果送回存储器中.(4) 用偏移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回该存储单元中.(5) 把数0B5H与 AL相加,并把结果送回AL中. 解:⑴ADD DX,BX ⑵ADD AL,[BX+SI]⑶ADD [BX+0BD2H],CX ⑷ADD [0524H],2A59H ⑸ADD AL,0B5H9.已知8086汇编程序段如下: MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL CXINT 20H试问:(1) 每条指令执行完后,AX寄存器的内容是什么(2) 每条指令执行完后,进位,溢出和零标志的值是什么 (3) 程序结束时,AX和DX的内容是什么解:⑴ MOV AX,1234H AX=1234H MOV CL,4 AX=1234H ROL AX,CL AX=2341H DEC AX AX=2340H MOV CX,4 AX=2340H MUL CX AX=8D00H INT 20H第2,5,7条指令对AX没有操作,故不影响AX的值.第1条指令把立即数1234H送到AX 中,AX的值就是1234H,第3条指令把AX的内容循环移位4次,AX值为2341H,第4条指令把AX减1,AX的值为2340H,第6条指令把AX的值乘以4,AX的值变为8D00H.⑵传送指令不影响标志位,第3条指令影响进位(CF),溢出(OF)标志,CF=0,OF=0;第4条指令不影响CF标志,该指令执行后,CF维持原状,OF=0,零标志(ZF)也为0;第6条指令影响各标志位,由于DX=0,因此CF=0,OF=0,ZF=0.⑶程序结束时,AX的值为8D00H,DX的值为0000H.10.有一主频为25 MHz的微处理器,平均每条指令的执行时间为两个机器周期,每个机器周期由两个时钟脉冲组成.(1)假定存储器为\等待\请计算机器速度 (每秒钟执行的机器指令条数).(2)假如存储器速度较慢,每两个机器周期中有一个是访问存储器周期,需插入两个时钟的等待时间,请计算机器速度.解:⑴存储器\等待\是假设在访问存储器时,存储周期=机器周期,此时机器周期=主频周期×2(一个机器周期由两个时钟脉冲组成) =2/25MHz=0.08μS指令周期=2×机器周期=0.16μS机器平均速度=1/0.16=6.25MIPS(百万条指令/秒)⑵若每两个机器周期中有一个是访问存储器周期,则需插入两个时钟的等待时间. 指令周期=0.16μS+0.08μS=0.24μS机器平均速度=1/0.24≈4.2MIPS(百万条指令/秒)感谢您的阅读,祝您生活愉快。
微机原理第3章习题(答案)1.下列各条指令是否有错?如果有,请指出错误之处并改正(1)MOVDS 1000H(2)MOV[100],23H(3)ADDAX [BX + BP+ 6](4)PUSHDL(5)INAX, [3FH](6)0UT3FFH AL(7)LESSS [SI](8)POP[AX](9)IMUL4CH(10)SHLBX 5(11)INT300(12)XCHGD, 0FFFH答:(1)错误。
不允许直接向段寄存器送立即数,可改为:MOVAX 1000HMOVD, AX(2)错误。
该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上BYTEPT或WORDPT说明,否则汇编程序会因不能确定操作数长度而指示出错。
可改为:MOVBYTEPTR[1O0] 23H(3)错误。
不能同时使用两个基址寄存器BX、BP进行间接寻址,可改为:ADDAX [BX + DI + 6](4)错误。
堆栈操作应以字为单位进行,而DL是一个字节。
可改为:PUSHDX(5)错误。
在输入/输出指令中,8位端口地址应直接写在操作数处。
可改为:INAX, 3FH(6)错误。
端口地址3FFH已超出8位二进制表示范围,16位端口地址应用DX可改为:MOVD, 3FFHOUTDXAL(7)错误。
LES指令的目操作数应该是通用寄存器,不能是段寄存器。
可改为:LESBX [SI](8)错误。
AX不能用于间接寻址,间接寻址只能用BXBP、SI、DI四个寄存器之一。
可改为:POP[BX](9)错误。
立即数不能做乘法指令的操作数,可改为:MOVBJL 4CHIMULBL(10)错误。
当逻辑移位的次数大于1时,应该用CL指示次数。
可改为MOVCL 5SHLBX CL(11)错误。
操作数300>255,已超出有效的中断类型码范围。
(12)错误。
XCHG指令不允许立即数做它的操作数。
可改为:MOVC, 0FFFHXCHGDXCX2•请指出以下各指令的源、目的操作数所使用的寻址方式(1)MOVSI 2100H(2)SBBDISP[BX], 7(3)AND[DI] , AX(4)ORAX [609EH](5)MOV[BXb DI + 30H], CX(6)PUSHES [BP](7)CALL[DI]DISP(8)JNZShort_label答:(1)源操作数:立即数寻址;目的操作数:寄存器寻址(2)源操作数:立即数寻址;目的操作数:基址寻址(3)源操作数:寄存器寻址;目的操作数:寄存器间接寻址(4)源操作数:直接寻址;目的操作数:寄存器寻址5)源操作数:寄存器寻址;目的操作数:(带位移量的)基址变址寻址(6)源操作数:带段超越的寄存器间接寻址;目的操作数:隐含寻址(7)只有一个操作数,为变址寻址(8)只有一个操作数,为相对寻址3. 已知DS=2000H 有关的内存单元值为:(21000H)=00H,(21001H)=12H,(21200H)=00H,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H,(23401H)=30H,(23600H)=60H,(23601H)=30H,符号COUNT 勺偏移地址为1200H。
第1章作业答案1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微处理器。
微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了微型计算机。
微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。
其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。
1.3微型计算机采用总线结构有什么优点?采用总线结构,扩大了数据传送的灵活性、减少了连线。
而且总线可以标准化,易于兼容和工业化生产。
1.4数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。
8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为地址总线。
它们主要靠信号的时序来区分。
通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。
第2章作业答案2.1 IA-32结构微处理器直至Pentillm4,有哪几种?80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。
2.6IA-32结构微处理器有哪几种操作模式?IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。
操作模式确定哪些指令和结构特性是可以访问的。
2.8IA-32结构微处理器的地址空间如何形成?由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。
若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。
1.指出下列指令中源操作数和目的操作数的寻址方式: (1) MOV SI,1000 (2) MOV BP,AX (3) MOV [SI],1000 (4) MOV BP,[AX] (5) AND DL,[BX + SI + 20H] (6) PUSH DS (7) POP AX (8) MOV EAX,COUNT[EDX*4] (9) IMUL AX,BX,34H (10) JMP FAR PTR LABEL 2.指出下列指令语法是否正确,若不正确请说明原因。 (1) MOV DS,0100H (2) MOV BP,AL (3) XCHG AX,2000H (4) OUT 310H,AL (5) MOV BX,[BX] (6) MOV ES:[BX + DI],AX (7) MOV AX,[SI + DI] (8) MOV SS:[BX + SI + 100H],BX (9) AND AX,BL (10) MOV DX,DS:[BP] (11) MOV [BX],[SI] (12) MOV CS,[1000] (13) IN AL,BX 3.设DS = 2000H,BX = 1256H,SI = 528FH,偏移量 = 20A1H,[232F7H] = 3280H,[264E5] = 2450H。若独立执行下述指令后,请给出对应IP寄存器的内容。 (1) JMP BX;IP=? (2) JMP [BX][SI];IP=? 4.32位机中,当用MOVZX和MOVSX指令时,传送执行后,结果有什么区别?试以传送80H为例说明之。 6.有如下程序: MOV AL,45H ADD AL,71H DAA MOV BL,AL MOV AL,19H ADC AL,12H DAA MOV BH,AL 执行后,BX =?标志位PF =?CF =? 7.执行下列程序段,指出此程序段功能。 (1) MOV CX,10 LEA SI,First LEA DI,Second REP MOVSB (2) CLD LEA DI,ES:[0404H] MOV CX,0080H XOR AX,AX REP STOSW 8.试用指令实现: (1) AL寄存器低4位清0; (2) 测试DL寄存器的最低2位是否为0,若是,则将0送入AL寄存器;否则将1送AL 寄存器。 9.已知AX=8060H,DX=03F8H,端口PORT1的地址是48H,内容为0040H;PORT2的地址是84H,内容为0085H。请指出下列指令执行后的结果。 (1) OUT DX,AL (2) IN AL,PORT1 (3) OUT DX,AX (4) IN AX,48H (5) OUT PORT2,AX 1. 试用指令实现 (1)使AX寄存器清0有4种方式,试写出; (2)BL寄存器低4位置1; (3)CL寄存器低4位取反。 参考答案: (1)XOR AX,AX AND AX,0000H SUB AX,AX MOV AX,0000H (2)OR BL,0FH (3)XOR CL, 0FH 2. 试分析下面程序段完成什么功能?
MOV CL,04H SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 参考答案:
(DX):(AX)的内容左移4位 3. 下列程序段执行完成后,物理地址单元01070H的内容是什么? MOV AX,0E0H MOV DS,AX ;(DS)= 00E0H MOV BX,200H ;BX指向DS从200H 单元开始的存储区 MOV CX,BX ;(CX)=200H NEXT: MOV [BX],BL ;将BL中的值存入 BX所指存储单元 INC BX LOOP NEXT 参考答案:
该程度段实现的功能是将DS(值为00E0H)数据段中偏移地址从200H个单元赋予与它的低8位偏移地址相同的内容。物理地址单元01070H在该数据段中的偏移地址为: 01070H – (DS)×16 = 0270H 所以,[01070H] = 70H. 4. 已知AL中存放着某字符的ASCII码,下列程序段完成的功能是什么?若(AL)=‗A‘=41H,程序段执行后,AL中的值为多少? MOV BL,0 ;计数器BL清0 MOV CX,8 ;置循环次数8 AGAIN: ROL AL,1 ;AL内容循环左移1位, 最高位送至CF JNC NEXT ;CX=1,计数器BL加1, 否则跳过 INC BL NEXT: LOOP AGAIN SHR BL,1 ;测试BL中统计结果 (AL中1的个数)的奇偶性 JC EXIT ;为奇数结束,否则将AL 最高位1 OR AL,80H EXIT: HLT 参考答案:
该程度段实现的功能是对AL中的ASCII码字符进行奇偶测试,并根据结果修改AL的最高位,使AL中1的个数为奇数。 若(AL)= ‗A‘ = 41H,程序段执行后,(AL)= 11000001B 5. 若(BX)= 0002H,且有如下变量定义: DBT1 DW 0400H DBT2 DD 01000020H TAB DW 0600H, 0640H, 06A0H, 06C0H 请指出下列指令的寻址方式及转向地址: (1)JMP BX (2)JMP DBT1 (3)JMP DBT2 (4)JMP TAB [BX + 2] 参考答案: (1) 转向地址(IP)=(BX)= 0002H,寻址方式为段内间接转移寻址; (2)(IP)=(DATA1)= 0400H,寻址方式为段内间接转移寻址; (3) (IP)= 0020H,(CS)= 0100H,即转向0100H:0020H处,寻址方式为段间间接转移寻址; (4)(IP)=(TAB+BX+2)= (TAB+0004H)= 06A0H,寻址方式为段内间接转移寻址; 6. 在数据段ADDR1地址处有200个字节,要传送到数据段地址ADDR2处。试在下面程序段的空白处填上适当的指令或操作数,以实现上述功能。 MOV SEG,ADDR1 MOV DX,AX MOV ES, 1 MOV SI, 2 MOV DI,OFFSET ADDR2 MOV 3 ,200 CLD REP 4 参考答案: 该程度段实现的功能是用带重复前缀的串传送指令完成数据块搬移。按串传送指令的约定,目标数据块应在ES附加数据段,SI指示源数据块地址,DI指示目标数据块地址,CX作重复次数计数器。 程序填空如下: 1 AX(ES指向ADDR2所在的数据段) 2 OFFSET ADDR2(设置源数据串首地址) 3 CX(设置传送的字节数) 4 MOVSB(字节串传送) 7. ADDR1开始的单元中连续存放两个双字数据,将其求和存放在ADDR2开始的单元。试在下面程序段的空白处填上适当的指令或操作数,以实现上述功能。 MOV CX,2 XOR BX,BX CLC NEXT:MOV AX,ADDR1[BX] ADC AX, 1 MOV ADDR2[BX],AX ADD 2 ,2 3 NEXT 参考答案:
该题要注意ADDR1的第2个双字数据相对于ADDR1的偏移地址为4。 程序填空如下: 1 ADDR1[BX+4] (与第2个双字数据对应低位或高位相加) 2 BX(调整BX指向双字高位) 3 LOOP(双字未加完,转NEXT处) 8. 设有100H个字节的数据(补码)存放在数据段中自EA = 2000H开始的存储单元中,以下程序从该数据区中找出一个最小数并存入EA = 2100H的单元中,请将程序补充完整。 MIN: MOV BX, 1 MOV AL,[BX] MOV CX, 2 LP1: INC BX CMP AL,[BX] 3 LP2 MOV AL,[BX] LP2: DEC CX JNZ 4 MOV 5 ,AL 参考答案: 该程度段找最小数的思想是先假定第1个数存于AL中,然后依次同第2个数开始的余下数据比较。所以,各空应填: 1 2000H(BX指向数据区首地址2000H单元) 2 0FFH(设置比较次数,第一单元不比较) 3 JLE/JNG(小于等于或不大于转LP2) 4 LP1(未比较完转LP1继续扫描比较) 5 [2100H](AL中存放的最小值存入2100H单元) 9(1). 判断执行―B310H + 21A4H‖运算后,OF、CF、ZF、SF、PF和AF的状态。
参考答案: 1011 0011 0001 0000 B + 0010 0001 1010 0100 B 1101 0100 1011 0100 B = D4B4 H
OF = Cs⊕Cp = 0⊕0 = 0,CF = 0, ZF = 0,SF = 1,PF = 1,AF = 0 9(2). 判断执行―A400H + 7100H‖运算后,OF、CF、ZF、SF、PF和AF的状态。
参考答案: 1010 0100 0000 0000 B + 0111 0001 0000 0000 B 1 0001 0101 0000 0000 B = D4B4 H
OF = Cs⊕Cp = 1⊕ 1 = 0,CF = 1, ZF = 0,SF = 0,PF = 1,AF = 0 9(3). 判断执行―A323H - 8196H‖运算后,OF、CF、ZF、SF、PF和AF的状态。
参考答案: 1010 0011 0010 0011 B - 1000 0001 1001 0110 B 0010 0001 1000 1101 B = D4B4 H
OF = Cs⊕Cp = 0⊕ 0 = 0,CF = 0,