微机原理和接口技术张颖超叶彦斐第3章习题答案解析

合集下载

微型计算机原理和接口技术第三章课后答案

微型计算机原理和接口技术第三章课后答案

微型计算机原理和接口技术第三章课后答案本文回答了微型计算机原理和接口技术第三章的课后题目,涵盖了数字逻辑电路、组合逻辑电路、时序逻辑电路和存储器等内容。

1. 数字逻辑电路1.1. 逻辑电路和数字逻辑电路的基本概念逻辑电路是由逻辑门(与门、或门、非门等)和触发器等基本逻辑元件组合而成的电路。

数字逻辑电路是逻辑电路在数字系统中的应用,主要用于实现数字信号的逻辑运算和信号的转换等功能。

1.2. 数字逻辑门电路的组合和简化数字逻辑电路中常见的逻辑门有与门(AND)、或门(OR)、非门(NOT)等。

这些逻辑门可以通过组合和简化来构造更复杂的逻辑电路,例如与非门(NAND)、或非门(NOR)等。

1.3. 数字逻辑电路的时序特性数字逻辑电路的时序特性主要包括延迟时间、上升时间和下降时间等。

延迟时间表示信号经过电路的传播所需的时间,上升时间和下降时间表示信号从一个逻辑状态到另一个逻辑状态所需的时间。

2. 组合逻辑电路2.1. 组合逻辑电路的定义和特点组合逻辑电路是由多个逻辑门组合而成的电路,输入信号直接决定输出信号,不涉及时钟信号和状态存储。

2.2. 组合逻辑电路的设计方法组合逻辑电路的设计方法主要有真值表法、卡诺图法和特征方程法。

真值表法通过列出输入输出的真值表来进行设计,卡诺图法通过画出卡诺图进行化简,特征方程法通过建立逻辑方程进行设计。

2.3. 组合逻辑电路的应用组合逻辑电路广泛应用于数字系统中,包括逻辑运算、数据选择、数据的编码和解码等功能。

3. 时序逻辑电路3.1. 时序逻辑电路的定义和特点时序逻辑电路是由触发器和组合逻辑电路组合而成的电路,通过时钟信号来控制触发器的状态转换。

时序逻辑电路具有状态存储的功能,可以实现存储和记忆功能。

3.2. 触发器和时序逻辑电路的设计方法触发器是时序逻辑电路的基本组件,常见的触发器包括SR 触发器、D触发器和JK触发器等。

时序逻辑电路的设计方法主要是通过状态转换图、状态转移表和重建方程等方法进行设计。

微机原理与接口技术课后习题参考答案

微机原理与接口技术课后习题参考答案

《微机原理与接口技术》李华贵主编课后习题参考答案第1章(1.6 习题)1.简述名词的概念:微处理器、微型计算机、微型计算机系统。

答:(1)微处理器:微处理器(Microprocessor)简称µP或MP,或CPU。

CPU 是采用大规模和超大规模集成电路技术将算术逻辑部件ALU(Arithmetic Logic Unit)、控制部件CU(Control Unit)和寄存器组R(Registers)等三个基本部分以及内部总线集成在一块半导体芯片上构成的电子器件。

(2)微型计算机:微型计算机(Microcomputer)是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。

(3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。

其中,硬件(Hardware)系统由CPU、内存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。

软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。

一般把软件划分为系统软件和应用软件。

其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。

而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。

2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。

答:(1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。

当一条指令被执行时,首先,CPU从内存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。

(2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的内存单元。

微机原理与接口技术 张颖超 叶彦斐 第3章 习题解答

微机原理与接口技术 张颖超 叶彦斐 第3章 习题解答

习题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. 判断下列指令的对错,如果错误请说明原因。

微机原理与接口技术课后习题答案

微机原理与接口技术课后习题答案

微机原理与接口技术习题解答第1章微型计算机系统〔习题〕简答题(1)计算机字长(Word)指的是什么(2)总线信号分成哪三组信号(3)PC机主存采用DRAM组成还是SRAM组成(4)Cache是什么意思(5)ROM-BIOS是什么(6)中断是什么(7)32位PC机主板的芯片组是什么(8)教材中MASM是指什么(9)处理器的“取指-译码-执行周期”是指什么(10)本课程的主要内容属于计算机系统层次结构中哪个层次〔解答〕①处理器每个单位时间可以处理的二进制数据位数称计算机字长。

②总线信号分成三组,分别是数据总线、地址总线和控制总线。

③ PC机主存采用DRAM组成。

④高速缓冲存储器Cache是处理器与主存之间速度很快但容量较小的存储器。

⑤ ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。

⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。

⑦主板芯片组是主板的核心部件,它提供主板上的关键逻辑电路。

⑧ MASM是微软开发的宏汇编程序。

⑨指令的处理过程。

处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。

⑩机器语言层,即指令集结构。

(学生很多认为是:汇编语言层。

前4章主要涉及汇编语言,但本书还有很多处理器原理等内容)〔习题〕判断题(1)软件与硬件的等价性原理说明软硬件在功能、性能和成本等方面是等价的。

(2)IA-64结构是IA-32结构的64位扩展,也就是Intel 64结构。

(3)8086的数据总线为16位,也就是说8086的数据总线的个数、或说条数、位数是16。

(4)微机主存只要使用RAM芯片就可以了。

(5)处理器并不直接连接外设,而是通过I/O接口电路与外设连接。

单片机微型计算机原理及接口技术课后习题答案3章

单片机微型计算机原理及接口技术课后习题答案3章

单片机微型计算机原理及接口技术课后习题答案3章3-1简述模型机的工作过程(就以书上举例,叙述过程,本题内容较多,明白道理即可,不需详细记住)计算机的指令执行过程分为读取指令→分析指令→执行指令→保存结果在进行计算前,应做如下工作:①用助记符号指令(汇编语言)编写程序(源程序)②用汇编软件(汇编程序)将源程序汇编成计算机能识别的机器语言程序③将数据和程序通过输入设备送入存储器中存放读取指令阶段(就以书上举例,理解过程即可):①CPU将程序计数器PC中的内容XXH送地址寄存器AR②程序计数器PC的内容自动加1,为取下一条指令做好准备③地址寄存器AR将XXH通过地址总线AB送至存储器地址译码器译码,选中XXH 单元。

④CPU发出“读”指令⑤所选中的XXH单元中的内容由存储器送至数据总线DB上⑥经数据总线DB,CPU将读出的XXH单元中的内容送至数据寄存器DR⑦数据寄存器DR将其送至指令寄存器IR,经过译码,CPU通过控制器发出执行该条指令的控制命令。

执行指令阶段(就以书上举例,理解过程即可)与读取类似(这里从略)3-2 STC15F2K60S2单片机的存储器分为哪几个空间?中断服务程序的入口地址分别是什么?32个通用寄存器各对应哪些RAM单元?STC15F2K60S2单片机的存储器分为四个空间,分别为程序Flash存储器,数据Flash 存储器,内部数据存储器和扩展数据存储器。

中断服务程序的入口地址分别为:0003H 外部中断0中断服务程序的入口地址000BH 定时/计数器0中断服务程序的入口地址0013H 外部中断1中断服务程序的入口地址001BH 定时/计数器1中断服务程序的入口地址0023H 串行通信口1中断服务程序的入口地址002BH ADC中断服务程序的入口地址0033H 低电压检测中断服务程序的入口地址003BH PCA中断服务程序的入口地址0043H 串行通信口2中断服务程序的入口地址004BH SPI中断服务程序的入口地址0053H 外部中断2中断服务程序的入口地址005BH 外部中断3中断服务程序的入口地址0063H 定时/计数器2中断服务程序的入口地址0083H 外部中断4中断服务程序的入口地址32个通用寄存器分为寄存器组0,1,2,3,每个组8个8位的工作寄存器(R0~R7),均存在于内部数据存储器的低128字节内,范围为00H-1FH寄存器组0 R0~R7对应00H-07H寄存器组1 R0~R7对应08H-0FH寄存器组2 R0~R7对应10H-17H寄存器组3 R0~R7对应18H-1FH3-3 位地址29H,61H,7FH,E0H,F1H,各对应哪些单元的哪些位?29H——RAM位寻址区字节地址25H,对应D1位61H——RAM位寻址区字节地址2CH,对应D1位7FH——RAM位寻址区字节地址2FH,对应D7位E0H——高128字节/特殊功能寄存器SFR区,寄存器ACC(字节地址E0H)的D0位;F1H——高128字节/SFR,寄存器B(字节地址F0H)的D1位。

《微机原理与接口技术》思考题参考答案

《微机原理与接口技术》思考题参考答案

第一章习题与思考题1.1计算机的主要性能指标有哪些?答:运算速度、字长、存储器的容量等。

1.2计算机有哪些主要应用领域?答:科学计算;信息处理;计算机辅助技术;过程控制;人工智能;网络通信。

1.3什么叫微处理器?什么叫微型计算机?什么叫微型计算机系统?答:微处理器也称微处理机,它是微型计算机的核心部件,是一个大规模集成电路芯片,其上集成了运算器、控制器、寄存器组和内部总线等部件。

微型计算机是以微处理器为基础,配以存储器、系统总线及输入输出接口电路所组成的裸机,它包括微型计算机运行时所需要的硬件支持。

以微型计算机为主体,配上电源系统、输入/ 输出设备及软件系统就构成了微型计算机系统。

1.4什么是系统总线?答:在CPU、存储器、 I/O接口之间传输信息的总线称谓系统总线,系统总线包括:地址总线、控制总线和数据总线。

1.5简述微型计算机的硬件结构并说明各部件的主要功能。

答:微型计算机的硬件主要由CPU、存储器、 I/O接口和I/O 设备组成,各组成部分之间通过系统总线联系起来。

功能略第二章习题与思考题2.1 将下列十进制数分别转换为二进制数、八进制数、十六进制数。

12810240.4762567.544答:128D =10000000B =200O =80H1024D = 10000000000B = 2000O = 400H0.47D = 0.011111B = 0.37O = 0.7CH625D = 1001110001B = 1161O = 271H67.544D = 1000011.1000101B = 103.124O = 43.8AH2.2 将下列二进制数转换成十进制数。

10110.00111000.01012.3 将下列二进制数分别转换为八进制数、十六进制数。

1100010 101110.1001 0.1011101答: 1100010 = 142O = 62H2.4 写出下列用补码表示的二进制数的真值。

微机原理及接口技术课后习题及参考答案

微机原理及接口技术课后习题及参考答案

第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。

① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。

① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。

① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。

① A7.8 ②9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。

① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。

① +355 ② -11.7 计算机分那几类?各有什么特点?1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。

1.9 80X86微处理器有几代?各代的名称是什么?1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=100011.11B=43.6Q=23.CH③ 123.875D=1111011.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ①② 63.73Q=110011.111011B=51.922D③ 35.6Q=11101.110B=29.75D ④1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补=01111111 ② [-1]补③ [-0]补=00000000 ④[-128]补1.6 ① [+355]补② [-1]补= 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。

微机原理习题答案1234章剖析

微机原理习题答案1234章剖析

微机原理与接口技术习题解答第1章数制与码制1.将下列十进制数转换成二进制数:(1)58;(2)67.625; (3)5721;解:(1)58D = 0011 1010B(2)67.625D = 0100 0011.1010B(3)5721D = 0001 0110 0101 1001B2.将二进制数变换成十六进制数:(1)1001 0101B;(2)11 0100 1011B;(3)1111 1111 1111 1101B;(4)0100 0000 10101B;(5)0111 1111B;(6)0100 0000 0001B解:(1)1001 0101B = 95H(2)11 0100 1011B = 34BH(3)1111 1111 1111 1101B = FFFDH(4)0 1000 0001 0101B = 815H(5)0111 1111B = 7FH(6)0100 0000 0001B = 401H3.将十六进制数变换成二进制数和十进制数:(1)78H;(2)0A6H;(3)1000H;(4)0FFFFH解:(1)78H = 120D = 0111 1000B(2)0A6H = 166D = 1010 0110B(3)1000H = 4096D = 0001 0000 0000 0000H(4)0FFFFH = 65535D = 1111 1111 1111 1111B4.将下列十进制数转换成十六进制数:(1)39;(2)299.34375;(3)54.5625解:(1)39D = 27H(2)299.34375D = 12B.58H(3)54.5625D = 36.9H5.将下列二进制数转换成十进制数:(1)10110.101B;(2)10010010.001B;(3)11010.1101B解:(1)10110.101B = 22.625D(2)10010010.001B = 146.125D(3)11010.1101B = 26.8125D6.计算(按原进制运算):(1)10001101B+11010B;(2)10111B+11100101B;(3)1011110B-1110B;(4)124AH+78FH;(5)5673H+123H;(6)1000H-F5CH;解:(1)10100111B(2)11111100B(3)1010000B(4)19D9H(5)5796H(6)A4H7.已知a=1011B, b=11001B, c=100110B, 按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b; (2)c-a-b; (3)a×b; (4)c÷b解:a=1011B=11D b=11001B=25D c=100110B =38D(1)100100B = 36D(2)10B = 2D(3)1 0001 0011B=275D(4)1B 余1101B= 13D8.已知a=00111000B, b=11000111B, 计算下列逻辑运算:(1)a AND b; (2)a OR b; (3)a XOR b; (4)NOT a解:(1)00000000B(2)11111111B(3)11111111B(4)11000111B9.设机器字长为8位,写出下列各数的原码和补码:(1)+1010101B;(2)-1010101B;(3)+1111111B;(4)-1111111B;(5)+1000000B;(6)-1000000B解:(1)原01010101B 补01010101B(2)原11010101B 补10101011B(3)原01111111B 补01111111B(4)原11111111B 补10000001B(5)原01000000B 补01000000B(6)原11000000B 补11000000B10.写出下列十进制数的二进制补码表示(设机器字长为8位):(1)15;(2)-1;(3)117;(4)0;(4)-15;(5)127;(6)-128;(7)80解:(1)(00001111B)补(2)(11111111B)补(3)(01110101B)补(4)(00000000B)补(5)(11110001B)补(6)(01111111B)补(7)(10000000B)补(8)(01010000B)补11.设机器字长为8位,先将下列各数表示成二进制补码,然后按补码进行运算,并用十进制数运算进行检验:(1)87-73;(2)87+(-73);(3)87-(-73);(4)(-87)+73;(5)(-87)-73;(6)(-87)-(-73);解:(1)1110B=14D(2)00001110B 进位舍弃(3)10100000B=-96D 溢出(4)11110010B=-14D(5)01100000B=96D 溢出(6)11110010B=-14D12.已知a,b,c,d为二进制补码:a=00110010B, b=01001010B, c=11101001B, d=10111010B,计算:(1)a+b;(2)a+c;(3)c+b;(4)c+d;(5)a-b;(6)c-a;(7)d-c;(8)a+d-c解:(1)01111100B(2)00011011B(3)00110011B(4)10100011B(5)11101000B(6)10110111B(7)11010001B(8)11B13.设下列四组为8位二进制补码表示的十六进制数,计算a+b和a-b,并判断其结果是否溢出:(1)a=37H, b=57H; (2)a=0B7H, b=0D7H;(3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H解:(1)a+b=8EH溢出,a-b=E0H未溢出(2)8EH未溢出,E0H未溢出(3)CEH未溢出,20H未溢出(4)FEH未溢出70H未溢出14.求下列组合BCD数的二进制和十六进制表示形式:(1)3251(2)12907(3)2006解:(1)0011 0010 0101 0001B = 3251H(2)0001 0010 1001 0111B = 12907H(3)0010 0000 0000 0110B = 2006H15.将下列算式中的十进制数表示成组合BCD码进行运算,并用加6/减6修正其结果:(1)38+42;(2)56+77;(3)99+88;(4)34+69;(5)38-42;(6)77-56;(7)15-76;(8)89-23解:(1) 0011 1000B + 0100 0010B = 0111 1010B 低BCD码位需要加6修正0111 1010B + 0000 0110B = 1000 0000B = 80BCD(2) 0101 0110B + 0111 0111B = 1100 1101B 高、低BCD码位都需要加6修正1100 1101B + 0110 0110B = 0001 0011 0011B=133BCD(3) 1001 1001B+1000 1000B = 0001 0010 0001B 高、低BCD码位都需要加6修正0001 0010 0001B +0110 0110B = 0001 1000 0111B=187BCD(4) 0011 0100B + 0110 1001B = 1001 1101B 低BCD码位需要加6修正1001 1101B + 0000 0110B = 1010 0011B 修正结果使高BCD码位需要加6修正1010 0011B +0110 0000B = 0001 0000 0011B = 103BCD(5) 00111000B-01000010B =(-1)1111 0110B 高 BCD码位需要减6修正(-1)1111 0110B -0110 0000B =(-1)1001 0110B=-100+96=-4BCD(6)01110111B-01010110B = 0010 0001B = 21BCD(7) 00011001B-01110110B =(-1)1001 1111B 高、低BCD码位都需要减6修正(-1)1001 1111B -01100110B =(-1)0011 1001B = -100+39 = -61BCD(8)10001001B-00100011B = 0110 0110B = 66BCD16.将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Example 1;(2)XiDian University;(3)-108.652;(4)How are you?;(5)Computer(6)Internet Web解:(1)45H,78H,61H,6DH,70H,6CH,65H,20H,31H(2)58H,69H,44H,69H,61H,6EH,20H,55H,6EH,69H,76H,65H,72H,73H,69H,74H,79H (3)2DH,31H,30H,38H,2EH,36H,35H,32H(4)48H,6FH,77H,20H,61H72H,65H,20H79H,6FH,75H(5)43H,6FH,6DH,70H,75H,74H,65H,72H(6)49H,6EH,74H,65H72H,6EH,65H,74H,20H,57H,65H,62H17.将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Hello(2)123<CR>456;(注:<CR>表示回车)(3)ASCII;(4)The number is 2315解:(1)48H,65H,6CH,6CH,6FH (2)31H,32H,33H,0DH,34H,35H,36H (3)41H,53H,43H,49H,49H (4)54H,68H,65H,20H,6EH,75H,6DH,62H,65H,72H第2章 8086 CPU 结构与功能1. 微处理器内部结构由哪几部分组成?阐述各部分的主要功能。

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

习题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. 判断下列指令的对错,如果错误请说明原因。

(1) MOV CS, BX (2) MOV CH, SI(3) PUSH AL (4) MOV DX, [BX][ BP](5) MOV CH, 100H (6) XCHG BX, 3(7) PUSH CS (8) MOV AL, [BX][SI]答:(1) CS不能赋值(2) 操作数类型/长度不匹配(3) PUSH指令的操作数必须是字(4) 寻址方式错误,两个基址寄存器不能同时使用(5) 100H超出了CH表示的范围(6) 交换指令的操作数不能是立即数(7) 正确(8) 正确5. 给出MOV指令执行后的结果,设有关寄存器及存储单元内容如下:DS=2000H, ES=2200H, BX=0100H, SI=0004H, (22100H)=12H, (22101H)=34H, (22102H)=56H, (22103H)=78H, (22104H)=9AH, (22105H)=0BCH, (20100H)=1AH, (20101H)=2BH, (20103H)=3CH, (20104H)=4DH, (20105H)=5EH, (20106H)=6FH,(1) MOV AX, ES:[BX][SI](2) MOV AX, BX(3) MOV AX, [BX](4) MOV AX, [BX+SI](5) MOV AX, [BX+SI+01]答:(1) 物理地址=2200H⨯16+0100H+0004H=22104H,所以(AX)=0BC9AH;(2) (AX)=(BX)=0100H;(3) 物理地址=2000H⨯16+0100H=20100H,所以(AX)=2B1AH;(4) 物理地址=2000H⨯16+0100H+0004H=20104H,所以(AX)=5E4DH;(5) 物理地址=2000H⨯16+0100H+0004H+01=20105H,所以(AX)=6F5EH;6. 已知AX=1020H,DX=3080H,端口地址PORT=41H,(40H)=6EH,(41H)=22H,指出下列各条指令执行的结果。

(1) IN AL, PORT; AL=(2) IN AL, 40H; AX=(3) OUT DX, AL; (DX)=(4) OUT DX, AX; (DX)=答:(1) AL=22H(2) IN AX, 40H; AX=226EH(3) OUT DX, AL; (DX)=6EH(4) OUT DX, AX; (DX)= 226EH7. 用一条指令实现把(BX)和(SI)之和传送给CX。

答:LEA CX, [BX+SI]8. 试比较下列3组指令的功能(1) LDS SI, [DI](2) MOV SI, [DI]MOV DS, [DI+2](3) MOV DS, [DI+2]MOV SI, [DI]答:(1) 相当于MOV SI, [DI]MOV DS, [DI+2](2) 与(1)功能相同(3) 第一条指令修改了DS的值,因此执行第二条指令后结果可能与(1)(2)不同。

9.求出以下各十六进制数与十六进制数62A0之和,并根据结果设置标志位SF,ZF和OF的值。

(1) 1234 (2)4321 (3) CFA0 (4)9D60略10.写出以下指令序列中每条指令的执行结果,请在DEBUG环境下进行验证,并注意各标志位的变化情况。

MOV BX, 23ABHADD BL, 0ACHMOV AX, 23F5HADD BH, ALSUB BX, AXADC AX, 12HSUB BH,-9略11.编写计算4A2−B+10多项式值的程序段;说明:(1)多项式值存于AX中,A、B是无符号数,设中间和最后结果不超过16位二进制数。

(2)数据说明:A DB 0AHB DB 10H答:MOV AL, AMUL AMOV BL, 4MOV BH, 0MUL BXSUB AL, BSBB AH, 0ADD AX, 1012.写一个计算CL的3次方的指令序列,假设幂不超过16位二进制数答:有符号数MOV AL, CLIMUL CLMOV CX, AXMOV AL, CLCBWIMUL CX无符号数MOV AL, CLMUL CLMOV CX, AXMOV AL, CLMOV AH, 0MUL CX13.假设DX:AX中存放一个双字的数据:NEG DXNEG AXSBB DX,0请问:(1)上述程序段完成什么功能?(2)设执行前,DX=0001H,AX=FFFFH,上述程序段执行后,DX、AX的值是什么?答:求DX,AX存放的双字的相反数执行前两条语句后DX=0FFFFH,AX=0001H,CF=1;执行第三条语句后,DX=0FFFEH,DX:AX=0FFFE 0001H14.扩展无符号数是否可以使用如下指令?为什么?(1) CBW指令;(2)CWD指令答:不可以,因为这两条指令都是针对带符号数的。

CBW把AL的符号扩展到AH,CWD把AX 的符号扩展到DX。

如果AL=80H,执行CBW后,AX=0FF80H,显然不对。

15. 按要求编写下列指令序列(1) 清除DL中的低2位而不改变其他位;(2) 把SI的高3位置为1而不改变其他位;(3) 把AX中的0~3位置0,7~9位置1,13~15取反;(4) 检查CX中的1、3和5位中是否有1位为1;(5) 检查BX中的第2、6和10位是否同时为1;(6) 检查CX中的1、3、5和7位中是否有1位为0;(7) 检查BX中的第2、6、10和12位是否同时为0。

答:(1) AND DL, 0FCH;1111 1100B(2)OR SI, 0E000H;1110 0000 0000 0000B(3)AND AX, 0FFF0H;1111 1111 1111 0000BOR AX, 0380H; 0000 0011 1000 0000BXOR AX,0E000H; 1110 0000 0000 0000B(4)MOV AX, CXAND AX, 002AH;0000 0000 0010 1010B如果运算结果不为0,表示1、3、5位至少有一位为1(5) MOV AX, BXAND AX, 0444H;0000 0100 0100 0100B;XOR AX, 0444H如果运算结果为0,表示2、6、10位均为1或者 OR AX,1111 1011 1011 1011B如果运算结果为FFFFH,则表示2、6、10位均为1(6) MOV AX, CXOR AX, 0FF55H;1111 1111 0101 0101B如果运算结果不为0FFFFH,表示1、3、5、7中至少有一位为0 (7) MOV AX, BXAND AX, 1444H;0001 0100 0100 0100B;如果运算结果为0,表示2、6、10、12位均为0OR AX,1111 1111 0101 0101BNOT AX如果运算结果为0,表示2、6、10、12位均为016.列出3种以上实现下列要求的指令或指令序列。

(1)清累加器AX;(2)清进位标志位(3)将累加器内容乘以2(不考虑溢出)(4)将累加器内容除以2(不考虑余数)答:(1) a. XOR AX, AXb. SUB AX, AXc. AND AX,0d. MOV AX,0(2) a. SUB AX, AXb. AND AX, AXc. OR AX, AXd. XOR AX, AXe. TEST AX, AXf. CLC(3) a. MOV CX,2;MUL CXb. ADD AX, AXc. SHL AX, 1d. SAL AX, 1e. CLCRCL AX, 1(4) a. MOV CX,2;无符号数DIV CXMOV CX,2;带符号数IDIV CXb. SHR AX, 1;无符号数. SAR AX, 1;带符号数c. CLCRCR AX, 117.写出下列程序段执行后的结果:AX=?。

相关文档
最新文档