微机原理及应用 第2章 习题及答案

合集下载

微机原理第2章作业及答案

微机原理第2章作业及答案

第2章8086微处理器及其系统习题解答1. 8086 CPU 由哪两部分构成,它们的主要功能是什么在执行指令期间,EU 能直接访问存储器吗,为什么【解】8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。

执行部件由内部寄存器组、算术逻辑运算单元(ALU)与标志寄存器(FR)及内部控制逻辑等三部分组成。

寄存器用于存储操作数和中间结果;算术逻辑单元完成16位或8位算术逻辑运算,运算结果送上ALU内部数据总线,同时在标志寄存器中建立相应的标志;内部控制逻辑电路的主要功能是从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。

总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。

每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。

EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU 申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。

2. 8086CPU与传统的计算机相比在执行指令方面有什么不同这样的设计思想有什么优点【解】8086 CPU与传统的计算机相比增加了指令队列缓冲器,从而实现了执行部件(EU)与总线接口(BIU)部件的并行工作,因而提高了8086系统的效率。

3. 8086 CPU 中有哪些寄存器,各有什么用途【解】8086共有8个16位的内部寄存器,分为两组:①通用数据寄存器。

四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。

用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。

AX(AH、AL)累加器。

有些指令约定以AX(或AL)为源或目的寄存器。

实际上大多数情况下,8086的所有通用寄存器均可充当累加器。

BX(BH、BL)基址寄存器。

微机原理第二章习题参考答案

微机原理第二章习题参考答案

微机原理第二章习题参考答案微机原理第二章作业参考答案:1.(2字节)a.指由8个二进制位组成的通用基本单元(6时钟周期)b.是cpu指令执行时间的刻度(10软件配置管理空间)c.cpu所要出访的存储单元数,与cpu地址总线条数有关(11实际地址)d.唯一能代表存储空间每个字节单元的地址,用5位16进制数表示(7总线周期)e.cpu执行访问存储器或i/o操作所花时间(12逻辑地址)f.由段基址和段偏转地址共同组成,均用4十一位16十进制则表示(4基本指令继续执行时间)g.指寄存器乘法指令继续执行所花掉时间(3指令)h.顺利完成操作方式的命令(1字长)i.指cpu在交换、加工、存放信息时信息位的基本长度(5指令执行时间)j.各条指令执行所花时间,不同指令值不一(8cache)k.为减轻cpu与主存储器间互换数据的速度瓶颈而建立的高速缓冲存储器(9虚拟存储器)l.cpu执行程序时看见的一个速度吻合内存却具有外存容量的假想存储器2.(1)mhz频率单位,可以用来表示cpu的主频1mhz=1000000hz(2)ghz频率单位,可以用来表示cpu的主频1ghz=1000000000hz(3)μs时间单位,可以用来表示基本指令执行时间1μs=10s(4)mips每秒百万条指令,用来表示基本指令执行速度(5)kb用以则表示存储器容量、软件配置管理空间或者存储空间的一种单位1kb=2bytes(6)mb用以则表示存储器容量、软件配置管理空间或者存储空间的一种单位1mb=2bytes(7)gb用以则表示存储器容量、软件配置管理空间或者存储空间的一种单位1gb=2bytes(8)tb用以则表示存储器容量、软件配置管理空间或者存储空间的一种单位1tb=2bytes3.eu的共同组成部件:(3)alu(7)状态标志寄存器(9)掌控单元(12)通用寄存器组与biu的共同组成部件:(1)地址部件au(2)段界检查器(4)20十一位地址产生器(5)20十一位物理地址加法器(6)指令队列(8)总线掌控逻辑(10)段寄存器组(11)指令指针4.标志sf(b符号标志)cf(d位次标志)af(h辅助位次标志)df(i方向标志)tf(a陷阱标志)of(c外溢标志)pf(f奇偶标志)if(g中断容许标志)zf(e零标志)类型sssccsscs为0时则表示的状态两个带符号数运算结果就是正数两个并无符号数经alu运算后并无位次或者借位产生两个数运算时,两个高4十一位运算并无位次或者借位产生数据串成操作方式的增量地址为自动递减正常调试两个带符号数运算后没产生外溢运算结果数据高8位中二进制存有奇数个1中断屏蔽数据运算时结果不为零403020?6107.首地址pa=62d87h末地址pa=62d87h+28h(则表示40字节)-1h=62daeh8.实际地址:99a40h9.实际地址:3ba00h10填写下列个状态下的有效信号状态总线操作类型t1t2t3t4最小模式下总线存储器读操作最小模式下总线存储器写操作11.特点方式最小模式最大模式12.00130h:00131h:00135h:00136h:13.0dah31h7fh5ehmn/mx引脚高电平低电平处理器个数12个以上总线控制信号的产生8086828834h00230h:2dh00231h:0abh00232h:00233h:67h14.55h00330h:20h00331h:00332h:45h00333h:20h00334h:53h00335h:20h00336h:54h00337h:20h00338h:43h15.(1)ds:11a7es:11a7ss:21becs:31b8ds,es段顶:11a70hss段顶上:21be0hss段底:22ca8hcs段顶上:31b80hds,es段底:21a6fhcs段底:41b7fh(2)of=0df=0if=1sf=0zf=0zf=0pf=0cf=016.5ch20a28h:00h20a29h:7ah20a2ah:20a2bh:20a2ch:20a2dh:20a2eh:20a2fh:20a30h:20a31h:53h42h0ffh12h00h5bh0ah入栈完毕时,(ss)=20a0h(ip)=0028h17.8086系统中:(1)8284a时钟产生器的作用是:为8086cpu提供时钟,产生cpu所需的系统时钟信号(2)8282/8283地址锁存器的作用是:锁存8086地址总线中的信息(3)8286/8287总线收发器的作用是:传送8086数据总线中的信息(4)8288总线控制器的促进作用就是:在最小工作模式下产生8086系统所需的掌控信号18.8086寻址i/o端口时,使用16条地址线,可寻址32k个字端口,或64k个字节端口。

微机原理及应用习题答案

微机原理及应用习题答案

《微机原理及应用》习题答案教材:《80X86/Pentium 微型计算机原理及应用》答案第一章计算机基础1-3(1)01101110 真值=110(2)10001101 真值=-131-4(1)+010111[+010111]原=[+010111]反=[+010111]补=00010111 (2) +101011[+101011]原=[+101011]反=[+101011]补=00101011 (3) - 101000[-101000]原=10101000 [-101000]反= 11010111[-101000]补=11011000(4) -111111[-111111]原=10111111 [-111111]反= 11000000[-111111]补=110000011- 6(1) [x1+y1] 补=[x1]补+ [y1]补=00010100+00100001=00110101(2) [x2-y2]补=[x2]补+ [-y2]补=11101100+00100001=000011011- 7(1) 85+60解:[-85] 补=10101011 [60] 补=00111100[-85] 补+[60] 补=10101011+00111100=11100111 (11100111)补=10011001 真值=—25CS= 0, CP=0, CS® CP= 0 无溢出(4)-85-60[-85] 补=10101011 [-60] 补=11000100 [-85] 补+[-60] 补=10101011+11000100=101101111 CS=1, CP=0 CS® CP=1 有溢出1- 8(1) [x] 补+ [y] 补=01001010+01100001=10101011 CS=0, CP=1 CS® CP=1 有溢出⑵[X] 补-[y]补=[x]补+ [-y]补=01001010- 01100001=01001010+10101010=100010110CS=1, CP=1 CS® CP=0 无溢出1- 9(1) (127)10=(000100100111)BCD(2) (74)H=(116)10=(000100010110)BCD(1) 41H 代表 A(2) 72H 代表r (3) 65H 代表e(4) 20H 代表SP1-14(1) 69.57(69.57)10=(1000101.100)B=0.1000101100 X 27=0.1000101100 X 2+111浮点规格数为011101000101(2) -38.405(-38.405)10=(-100110.011)B-100110.011= -0.100110011 x 26 = - 0.100110011 x 2110浮点规格数为011011001100(3) - 0.3125(-0.3125)10=(-0.0101)2=(-0.101)2 x 2-001浮点规格数为1111110100001. +0.008342. (+0.00834)10=(0.000000100010001)2=(0.100010001)2 x 2-1103. 浮点规格数为1010010001004. 1-155. (1) (69.57)10=(1000101.10010001111010111)26. =(1.00010110010001111010111)2 x 21107. p=6+127=133=(10000101)28. 单精度浮点数为010000101000101100100011110101119. ( 2)(-38.405)10=(-100110.011001111010111000)210. = - (1.00110011001111010111000)2 x 210111. p=5+127=132=(10000100)212. 单精度浮点数为1100001000011001100111101011100013. (3) (-0.3125)10=(-0.0101)2=(-1.01)2 x 2-1014. p=-2+127=125=(1111101)215. 单精度浮点数为10111110101000000000000000000000第二章80X86/Pentium 微处理器2- 3IO/M DT/R DEN RD WR 读存储器0 0 0 0 1 写存储器0 1 0 1 0 2- 17PA=CS x 16+IP IP 的范围为OOOOH〜FFFFH而CS 为A000H因此PA的范围即现行代码段可寻址的存储空间范围为1-10AOOOOH〜AFFFFH2- 2O1234ABCDH=OOO1OO1OOO11O1OO1O1O1O1111OO11O1 BPA=SS x 16+SP=AOOOOH+O1OOH=AO1OOH栈顶SP= 0100H-4=00FCH11OO11O1 AOOFCH101010110011010000010010 A0100F2- 21(1) 1278H+3469H=0001 0010 0111 1000+0011 0100 0110 1001=0100 0110 1110 0001SF=0 ZF=0 AF=1 PF=1 CF=0 OF=0(2) 54E3H-27A0H=0101 0100 1110 0011+1101 1000 0110 0000=1 0010 1101 0100 0011SF=0 ZF=0 AF=1 PF=0 CF=0 OF=0当进行16 位或8 位加或减运算时,若最高位产生进位或借位时,将CF置1,否则为0,当进行带符号数补码运算时,运算结果超出了机器所能表示的数值范围,就产生溢出,将OF置1,否则OF置0,即OF用来表示有符号数运算的溢出,而CF则用来表示无符号数运算的溢出。

微机原理第二章练习题及解

微机原理第二章练习题及解

微机原理第二章练习题及解一:单项选择题●8086CPU复位后, 下列寄存器的值为( C )。

A:CS = 0000H、IP = 0000H B:CS = 0000H、IP = FFFFHC:CS = FFFFH、IP = 0000H D:CS = FFFFH、IP = FFFFH●8086CPU复位后, 下列寄存器的值为( C )。

A:CS:IP = 0000H:0000H B:CS:IP = 0000H:FFFFHC:CS:IP = FFFFH:0000H D:CS:IP = FFFFH:FFFFH●当RESET信号为高电平时,寄存器初值为FFFFH的是( A )。

A:CS B:ES C:IP D:BP●地址锁存发生在指令周期的( A )时刻。

A:T1 B:T2 C:T3 D:T4●8086CPU读数据操作在总线周期的( D )时刻。

A:T1 B:T1,T2 C:T2,T3 D:T3,T4●8086CPU写数据操作在总线周期的( D )时刻。

A:T1 B:T2 C:T2,T3 D:T2,T3,T4●8086与外设进行数据交换时,常会在( C )后进入等待周期。

A:T1 B:T2 C:T3 D:T4●计算机中数据总线驱动器采用的基本逻辑单元是( C )。

A:反相器B:触发器C:三态门D:译码器●计算机中地址锁存器采用的基本逻辑单元是( B )。

A:反相器B:触发器C:三态门D:译码器●计算机中地址锁存器的输出信号状态是( B )。

A:单向双态B:单向三态C:双向双态D:双向三态●8086CPU从功能结构上看,是由( D )组成A:控制器和运算器B:控制器,运算器和寄存器C:控制器和20位物理地址加法器D:执行单元和总线接口单元●执行指令IRET后弹出堆栈的寄存器先后顺序为( D )。

A:CS、IP、F B:IP、CS、F C:F、CS、IP D:F、IP、CS●下列逻辑地址中对应不同的物理地址的是( C )。

微机原理第二章习题答案

微机原理第二章习题答案

《微处理器系统原理与嵌入式系统设计》第二章习题解答2.2 选择题(1) 下列无符号数中最小的数是( A )。

A.H(1,1011,0101)(01A5)B.B(3764)C.D(2590)D.O(2) 下列无符号数中最大的数是( B )。

A.B(10010101)B.O(227)C.H(96)D.D(143)(3) 在机器数( A )中,零的表示形式是唯一的。

A.补码B.原码C.补码和反码D.原码和反码(4) 定点8位字长的字,采用2的补码形式时,一个字所能表示的整数范围为( A )。

A.-128~+127 B.-127~+127C.-129~+128 D.-128~+128(5) 若下列字符码(ASCII)中有奇偶校验位,但没有数据错误,那么采用偶校验的字符码是( D )。

A.B.C. D.(6) 单纯从理论出发,计算机的所有功能都可以交给硬件实现。

而事实上,硬件只实现比较简单的功能,复杂的功能则交给软件完成。

这样做的理由是( BCD )。

A.提高解题速度B.降低成本C.增强计算机的适应性,扩大应用面D.易于制造(7) 编译程序和解释程序相比,编译程序的优点是( D ),解释程序的优点是( C )。

A.编译过程(解释并执行过程)花费时间短B.占用内存少C.比较容易发现和排除源程序错误D.编译结果(目标程序)执行速度快(8) 计算机的存储器采用分级存储体系的主要目的是( D )。

A.便于读写数据B.减小机箱的体积C.便于系统升级D.解决存储容量、价格和存取速度之间的矛盾(9) 在多级存储体系中,cache-主存结构的作用是解决( D )问题。

A.主存容量不足B.主存与辅存速度不匹配C.辅存与CPU速度不匹配D.主存与CPU速度不匹配(10) 下列说法中正确的是( CD )。

A.虚拟存储器技术提高了计算机的速度B.cache与主存统一编址,cache的地址空间是主存地址空间的一部分C.主存是由易失性的随机读写存储器构成的D.cache的功能全部由硬件实现(11) 在CPU与外设之间设计接口电路的目的主要有( ABCD )。

微机原理第2章习题答案

微机原理第2章习题答案

第2 章习题参考答案1 8086CPU 由哪两局部构成它们的主要功能是什么?答:8086CPU由两局部组成:指令执行部件(E U,E x e c u t i o n U n i t)和总线接口部件(B I U,B u s I n t e r f a c e U n i t)。

指令执行部件〔EU〕主要由算术逻辑运算单元(A L U),标记存放器F R,通用存放器组和 EU 限制器等 4 个部件组成。

其主要功能是执行指令。

总线接口部件(B I U)主要由地址加法器, 专用存放器组,指令队列和总线限制电路等4 个部件组成。

其主要功能是形成访问存储器的物理地址, 访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参与 EU 运算或存放运算结果等。

2.8086C P U预取指令队列有什么好处?8086CPU 内部的并行操作表达在哪里?答:8086CPU 的预取指令队列由 6 个字节组成。

根据 8086CPU 的设计要求,指令执行部件〔EU〕在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。

从速度上看,该指令队列是在 CPU 内部,EU 从指令队列中获得指令的速度会远远超过直接从内存中读取指令。

8086CPU 内部的并行操作表达在指令执行的同时,待执行的指令也同时从内存中读取并送到指令队列。

3.8086CPU 中有哪些存放器?各有什么用途?答:CPU 有 14 个内部存放器,可分为 3 大类:通用存放器,限制存放器和段存放器。

通用存放器是一种面对存放器的体系构造,操作数可以直接存放在这些存放器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。

指令执行部件〔EU〕设有 8 个通用存放器:AX:累加器,一般用来存放参与运算的数据和结果,在乘,除法运算,I/O操作,BCD 数运算中有不可替代的作用BX:基址存放器,除可作数据存放器外,还可放内存的逻辑偏移地址CX:计数存放器,既可作数据存放器,又可在串指令和移位指令中作计数用DX:DX 除可作通用数据存放器外,还在乘, 除法运算,带符号数的扩展指令中有特别用途源变址存放器SI:多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在 DS 存放器中,也可放数据目标变址存放器D I:多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在 DS 存放器中,也可放数据基址指针 BP:用于存放内存的逻辑偏移地址,隐含的逻辑段地址在 SS 存放器中堆栈指针 SP:用于存放栈顶的逻辑偏移地址,隐含的逻辑段地址在 SS 存放器中限制存放器包括指令指针存放器I P和标记存放器F L A G:I P 用来指示当前指令在代码段的偏移位置。

李伯成《微型计算机原理及应用》课后习题答案

李伯成《微型计算机原理及应用》课后习题答案

李伯成《微机原理》习题第一章本章作业参考书目:①薛钧义主编《微型计算机原理与应用——Intel 80X86系列》机械工业出版社2002年2月第一版②陆一倩编《微型计算机原理及其应用(十六位微型机)》哈尔滨工业大学出版社1994年8月第四版③王永山等编《微型计算机原理与应用》西安电子科技大学出版社2000年9月1.1将下列二进制数转换成十进制数:X=10010110B=1*27+0*26+0*25+1*24+0*23+1*22+1*21 +0*21=128D+0D+0D+16D+0D+0D+4D+2D=150DX=101101100B=1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20=256D+0D+64D+32D+0D+16D+4D+0D=364DX=1101101B=1*26+1*25+0*24+1*23+1*22+0*21 +1*20=64D+32D+0D+8D+4D+0D+1D=109D1.2 将下列二进制小数转换成十进制数:(1)X=0.00111B=0*2-1+0*2-2+1*2-3+1*2-4+1*2-5=0D+0D+0.125D+0.0625D+0.03125D=0.21875D(2) X=0.11011B=1*2-1+1*2-2+0*2-3+1*2-4+1*2-5=0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D(3) X=0.101101B=1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6=0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D1.3 将下列十进制整数转换成二进制数:(1)X=254D=11111110B(2)X=1039D=10000001111B(3)X=141D=10001101B1.4 将下列十进制小数转换成二进制数:(1)X=0.75D=0.11B(2) X=0.102 D=0.0001101B(3) X=0.6667D=0.101010101B1.5 将下列十进制数转换成二进制数(1) 100.25D= 0110 0100.01H(2) 680.75D= 0010 1010 1000.11B1.6 将下列二进制数转换成十进制数(1) X=1001101.1011B =77.6875D(2) X=111010.00101B= 58.15625D1.7 将下列二进制数转换成八进制数(1)X=101011101B=101’011’101B=535Q(2) X=1101111010010B=1’101’111’010’010B=15722Q(3) X=110B=6Q1.8 将下列八进制数转换成二进制数:(1)X=760Q=111'110'000B(2)X=32415Q=11'010'100'001'101B1.9 将下列二进制数转换成十六进制数:X=101 0101 1110 1101B= 5 5 E D HX= 1100110101'1001B= 11 0011 0101 1001B= 3 3 5 9HX= 1000110001B= 10 0011 0001 B= 2 3 1 H1.10 将下列十六进制数转换成二进制数:X= ABCH= 1010 1011 1100 BX=3A6F.FFH = 0011 1010 0110 1111.1111 1111BX= F1C3.4B =1111 0001 1100 0011 . 0100 1011B1.11 将下列二进制数转换成BCD码:(1) X= 1011011.101B= 1'011'011.101B= 91.625d=1001 0001.0110BCD(2) X=1010110.001B= 1’010’110.001 =126.1 BCD1.12 将下列十进制数转换成BCD码:(1)X=1024D=0001 0000 0010 0100 BCD(2)X=632 = 0110 0011 0010 BCD(3)X= 103 = 0001 0000 0011 BCD1.13 写出下列字符的ASCI I码:A 41H 65D 0100 0001B9 39H 47D* 2AH 42D= 3DH 45D!21H 33D1.14 若加上偶校验码,下列字符的ASCII码是什么?字符原码加上偶校验码之后B 42H,0100 0010B 42H,0100 0010B4 34H,0011 0100B B4H,1011 0100B7 37H,0011 0111B B7H,1011 0111B= 3DH,0011 1101B BDH,1011 1101B!21H,0010 0001B 21H,0010 0001B?3FH 0011 1111B 3FH,0011 1111B1.15 加上奇校验,上面的结果如何?字符原码加上奇校验码之后B 42H,0100 0010B C2H,1100 0010B4 34H,0011 0100B 34H,0011 0100B7 37H,0011 0111B 37H,0011 0111B= 3DH,0011 1101B 3DH,0011 1101B!21H,0010 0001B A1H,1010 0001B?3FH 0011 1111B BFH,1011 1111B1.16 计算下式:(1)[‘B’/2+ABH-11011001B]*0.0101BCD=(42H/2+ABH-D9H)*0.21 BCD = = F3H*0.21 BCD =(-DH) *0.21 BCD= -2.73D(2) 3CH –[(84D)/(16Q)+’8’/8D]= 60D-[84D/14D+(56/8)]=60D-[13]D==47D1.17 对下列十进制数,用八位二进制数写出其原码、反码和补码:(正数的反码与原码相同,负数的反码除符号位之外其余各位按位取反。

《微型计算机原理及应用》课后习题答案

《微型计算机原理及应用》课后习题答案

《微型计算机原理及应用》习题解答第一章基础知识1.1 解释题(1)微处理器【解答】由大规模集成电路芯片构成的中央处理器(CPU),叫做微处理器。

(2)微型计算机【解答】以微处理器为基础,配以内存储器、输入输出接口电路、总线以及相应的辅助电路而构成的计算机裸机,叫做微型计算机。

(3)微型计算机系统【解答】微型计算机系统由硬件系统和软件系统组成。

即由微型计算机、配以相应的外部设备(如打印机、显示器、键盘、磁盘机等),再配以足够的软件而构成的系统。

(4)单板机【解答】将微处理器、RAM、ROM以及I/O接口电路,再配上相应的外设(如小键盘、LED显示器等)和固化在ROM中的监控程序等,安装在一块印刷电路板上构成的微型计算机系统称为单板机。

(5)运算器【解答】运算器是直接完成各种算术运算、逻辑运算的部件,主要由ALU(Arithmetic and Logic Unit,算术逻辑部件)、通用寄存器、标志寄存器等组成。

(6)地址总线【解答】地址总线是CPU对内存或外设进行寻址时,传送内存及外设端口地址的一组信号线。

地址总线的条数多少决定了CPU的寻址能力。

(7)数据总线【解答】数据总线是CPU与内存或外设进行信息交换时,所用的一组数据信号线。

它决定了CPU 一次并行传送二进制信息的位数,反映出CPU的“字长”这个重要性能指标。

(8)控制总线【解答】控制总线是在CPU与外部部件之间传送控制信息(如读/写命令、中断请求命令等)的一组信号线。

1-2 单片机应包括哪些基本部件?其主要应用于哪些领域?【解答】一般单片机芯片中包括微处理器、RAM、ROM、I/O接口电路、定时器/计数器,有的还包括A/D、D/A转换器等。

其主要应用于智能化仪器仪表及工业控制领域。

1-3 按图1-11和图1-12,写出取第二条指令操作码和执行第二条指令的过程。

【解答】ADD AL,12H指令的取指过程:1)IP的值(002H)送入地址寄存器AR;2)IP的内容自动加1,变为003H;3)AR将地址码通过地址总线送到存储器的地址译码器,经译码后选中002H单元;4)微处理器给出读命令MEMR;5)所选中的002H单元内容04H送上数据总线DB;6)数据总线DB上的数据04H送到数据寄存器DR;7)因是取指操作,取出的是指令操作码04H,即由DR送入指令寄存器IR;8)IR中的操作码经指令译码器ID译码后,通过PLA发出执行该指令的有关控制命令。

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

CH02 8086/8088指令系统
习题与思考题
1.假定DS=2000H,ES=2100H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令源操作数是什么寻址方式?源操作数在哪里?如在存储器中请写出其物理地址是多少?
(1)MOV AX,0ABH (2)MOV AX,[100H]
(3)MOV AX,VAL (4)MOV BX,[SI]
(5)MOV AL,VAL[BX] (6)MOV CL,[BX][SI]
(7)MOV VAL[SI],BX (8)MOV [BP][SI],100
解答:
(1)MOV AX,0ABH
寻址方式:立即寻址;源操作数在数据线上;物理地址:无
(2)MOV AX,[100H]
寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+100H=2000H*16+100H=20100H
(3)MOV AX,VAL
寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+VAL=2000H*16+0050H=20050H
(4)MOV BX,[SI]
寻址方式:寄存器间接寻址;源操作数在存储器中;物理地址:DS*16+SI=2000H*16+00A0H=200A0H
(5)MOV AL,VAL[BX]
寻址方式:变址寻址;源操作数在存储器中;物理地址:DS*16+VAL+BX=2000H*16+0050H+0100=20150H
(6)MOV CL,[BX][SI]
寻址方式:基址加变址寻址;源操作数在存储器中;物理地址:DS*16+BX+SI=
2000H*16+0100H+00A0H
=201A0H
(7)MOV VAL[SI],BX
寻址方式:寄存器寻址;源操作数在寄存器中;物理地址:无
(8)MOV [BP][SI],100
寻址方式:立即寻址;源操作数在;物理地址:无
.设有关寄存器及存储单元的内容如下:2.
DS=2000H,BX=0100H,AX=1200H,SI=0002H,[20100H]=12H,[20101H]=34H,[20102H]=56H,[20103]=78H,[21200]=2AH,[21201H]=4CH,[21202H]=0B7H,[21203H]=65H。

试说明下列各条指令单独执行后相关寄存器或存储单元的内容。

(1)MOV AX,1800H (2)MOV AX,BX
(3)MOV BX,[1200H] (4)MOV DX,1100[BX]
(5)MOV [BX][SI],AL (6)MOV AX,1100[BX][SI]
解答:
3.假定BX=0E3H,变量VALUE=79H,确定下列指令执行后的结果(操作数均为无符号数。

对3、6,写出相应标志位的状态)。

(1)ADD VALUE,BX (2)AND BX,VALUE
(3)CMP BX,VALUE (4)XOR BX,0FFH
(5)DEC BX (6)TEST BX,01H
解答:
4.已知SS=0FFA0H,SP=00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的过程示意图。

(标出存储单元的地址)
解答:
0FFA0H0FFA0H堆栈段SS=堆栈段SS=
FFAABHFFAABHFFAACH00ACHFFAACH00ACHFFAADH00ADHFFAADH00ADH57HFFAAEH00AEHFF AAEH00AEHFFAAFH00AFHFFAAFH00AFH80HFFAB0H00B0HX0FFA0:FFAB0H0FFA0:
00B0HX············00AEH)SP=AX;(AX=8057H②PUSH00B0H①初始状态;SP=0FFA0H=堆栈段SS0FFA0H=堆栈段
SS FFAABHFFAABH79HFFAACH00ACHFFAACH00ACH0FHFFAADH00ADHFFAADH00ADH57H57H00A EHFFAAEHFFAAEH00AEHFFAAFH80H00AFHFFAAFH80H00AFHFFAB0HX0FFA0:
00B0HFFAB0HX0FFA0:00B0H············③PUSH BX;(BX=0F79H)SP=00ACH④POP BX;SP =00AEH
5.已知程序段如下:
MOV AX,1234H
MOV CL,4
ROL AX,CL
DEC AX
MOV CX,4
MUL CX
试问:(1)每条指令执行后,AX寄存器的内容是什么?(2)每条指令执行后,CF,SF及ZF的值分别是什么?(3)程序运行结束时,AX及DX寄存器的值为多少?
指令执行结果
ZF SF AX CF×××1234H=AX1234H,AX
MOV.
MOV CL,4AX=1234H×××
0AX=ROL2341H0AX,CL1010AX=AXDEC2340H
02340H CX,401AX=MOV0MUL0=8D00H,CX DX=0000H0AX
6.写出实现下列计算的指令序列。

(假定X、Y、Z、W、R都为字变量)
(1)Z=W+(Z+X)(2)Z=W-(X+6)-(R+9)
(3)Z=(W*X)/(R+6)(4)Z=((W-X)/5*Y)*2
解答:(1)Z=W+(Z+X)
7.假定DX=001B,CL=3,CF=1,试确定下列各条指令单独执行后DX的值。

(1)SHR DX,1 (2)SHL DL,1
(3)SAL DH,1 (4)SAR DX,CL
(5)ROR DX,CL (6)ROL DL,CL
(7)RCR DL,1 (8)RCL DX,CL
解答:
8.已知DX=1234H,AX=5678H,试分析下列程序执行后DX、AX的值各是什么?该程序完成了什么功能?
MOV CL,4
SHL DX,CL
MOV BL,AH
SHL BL,CL
SHR BL,CL
OR DL,BL
解答:DX=2345H,AX=6780H。

该程序完成的功能如图所示,将DX,AX拼装成双字后,左移
四位。

DXDX32124034DXAX78620345AXAX86708567
9.试分析下列程序段:
ADD AX,BX
JNC L2
SUB AX,BX
JNC L3
JMP SHORTL5
如果AX、BX的内容给定如下:
AX BX
(1)14C6H 80DCH
(2)B568H 54B7H
问该程序在上述情况下执行后,程序转向何处?
解答:(1)AX=AX+BX=14C6H+80DCH=95A2H;CF=0;无进位,转移至L2;
(2)AX=AX+BX=B568H+54B7H=0A1FH;CF=1;有进位,继续执行;
AX=AX-BX=0A1FH+54B7H=B568H;CF=1;有借位,继续执行;
无条件转移至SHORTL5
10.编写一段程序,比较两个5字节的字符串OLDS和NEWS,如果OLDS字符串不同于NEWS,否则顺序执行。

NEW_LESS字符串,则执行
解答:编程如下,(说明:左测程序为常规编法,两个字符串在一个数据段中;右测的程序
要求OLDS在数据段中,NEWS在附加段中,利用串操作的指令是可行的)
LEA SI,OLDS; LEA SI,OLDS
LEA DI,NEWS; LEA DI,NEWS
MOV CX,5; MOV CX,5
NEXT: MOV AL,[SI]; CLD
MOV BL,[DI]; REPE CMPSB
CMP AL,BL; JNZ NEW_LESS
JNZ NEW_LESS;……
INC SI; JMP EXIT
INC DI; NEW_LESS:
LOOP NEXT;……
…… EXIT:……
JMP EXIT
NEW_LESS:
……
EXIT:……
11.若在数据段中从字节变量TABLE相应的单元开始存放了0~15的平方值,试写出包含有XLAT 指令的指令序列查找N(0~15)的平方。

(设N的值存放在CL中)
解答:
MOV BX,OFFSET TABLE;LEA BX,TABLE
MOV CL,N
MOV AL,CL
XLAT
12.有两个双字数据串分别存放在ASC1和ASC2中(低字放低地址),求它们的差,结果放在ASC3中(低字放低地址)。

ASC1 DW 578,400 ASC2 DW 694,12
ASC3 DW ?,?
解答:编程如下,
LEA SI,ASC1
LEA DI,ASC2
LEA BX,ASC3
MOV CX,2
CLC
NEXT: MOV AX,[SI] MOV DX,[DI]
SBB AX,DX
MOV [BX],AX
INC SI
INC SI
INC DI
INC DI
INC BX
INC BX
LOOP NEXT。

相关文档
最新文档