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

名师整理优秀资源参考答案第一章计算机中的数制和码制第二章计算机概述一、填空题1.82.23. 10244. 25.5、11001.1、00100101.0101B5. 1000010B、42H、66H6. 41.625、29.AH7. 10001101B8. 11001001、110010109. -128 ~ +12710. 系统软件、应用软件11. 电子管、超大规模集成电路二、单选题1. A4. C2. C5.A 3.D 6. C三、分析简答题1. 8086 CPU 的总线根据其中信息传送的类型可分为几种?哪几种?答:8086 CPU 的总线根据其中信息传送的类型可分为三种种,分别是:数据总线、地址总线和控制总线2. 写出-25 的原码、反码、补码,并将补码转换成十六进制数 (设机器字长为8 位)。
答:X=-25=-11001BX 原码:10011001BX 反码:11100110BX 补码:11100111B = E7H名师整理 优秀资源 3. 举例说明什么是机器数,什么是真值?答: 将符号数值化了的数称为机器数。
如: -18=-10010B(真值);机器数为: 10010010B第三章 半导体存贮器一、填空题1. ROM 、RAM2. 6 个3. 8、4二、单选题1. A 5. C2 . B3 . D4 . B6 . C7 . B三、分析简答题1. 在对存储器芯片进行片选时,全译码方式、部分译码方式和线选方式各有何特点?答: ①全译码方式: 存储器芯片中的每一个存储单元对应一个唯一的地址。
译码需要的器件多;②部分译码方式:存储器芯片中的一个存储单元有多个地址。
译码简单;③线选:存储器芯片中的一个存储单元有多个地址。
地址有可能不连续。
不需要译码。
四、硬件接口设计题1. 答:(1)A10~08088CPUWEA10~0#CSY4WEA10~01#CS1Y5名师整理优秀资源(2) 存储器类型为RAM 总容量为4K×8地址范围: 0# 2000H-27FFH1# 2800H-2FFFH2. 答:(9 分)(1) 存储器类型:RAM该系统的存储器容量为:6K×8位(或:6K 字节)(2) 1#芯片的地址范围:1000H ~ 17FFH2#芯片的地址范围:0800H ~ 0FFFH3#芯片的地址范围:0000H ~ 07FFH3. 1)1K×42)2K×8或2KB3)地址分配范围第一组: A19~ A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 最小地址最大地址第二组:0 ~0 ~0 ~0 ~111111111111111111110 00000H~1 003FFH0 00400H~1 007FFH第四章微型计算机及微处理器的结构和组成一、填空题1. BIU、EU、指令的译码和指令执行2. 4、16、16、6、20名师整理优秀资源3. 8、164.1、2二、单选题1 . B2 . B三、分析简答题1. 8086/8088 微处理器内部有那些寄存器,它们的主要作用是什么?答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。
微机原理作业及参考答案

第二章计算机基础(P32)1-1电子管,晶体管,中小规模集成电路、大规模、超大规模集成电路。
1-2把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。
以微处理器为核心,配上由大规模集成电路制作的只读存储器(ROM)、读写存储器(RAM)、输入/输出、接口电路及系统总线等所组成的计算机,称为微型计算机。
微型计算机系统是微型计算机配置相应的系统软件,应用软件及外部设备等.1-3写出下列机器数的真值:(1)01101110 (2)10001101(3)01011001 (4)11001110答案:(1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码)1-4写出下列二进制数的原码、反码和补码(设字长为8位):(1)+010111 (2)+101011(3)-101000 (4)-111111答案:(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000(4)[x]原=10111111 [x]反= 11000000 [x]补=110000011-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?(1)00001110 表示原码14,反码14,表示补码为14(2)11111111 表示原码-127,反码-0,表示补码为-1(3)10000000 表示原码-0,反码-127,表示补码为-128(4)10000001 表示原码-1,反码-126,表示补码为-1271-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。
微机原理第二章习题参考答案

微机原理第二章习题参考答案微机原理第二章作业参考答案: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个字节端口。
微机原理及应用第三版课后答案晏寄夫著西南交通大学出版社

+) [60]补→ 00111100B 10111101B
Cs=0,Cp=0
V=Cs⊕Cp 位带符号数补码,按下列给定的 a,b 之值进行 a+b 和 a-b 的 运 算 ,
并用双高位法判断是否产生溢出:
(1) a=37, b=57; (2)a=0B7H, b=0D7H; (3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H
[解] (1)a+b=0011 0010B + 0100 1010B=01111100B
(2) a+c=0011 0010B + 1110 1001B=00011011B
(3) c+b=1110 1001B + 0100 1010B=00110011B
(4) c+d=1110 1001B + 1011 1010B=10100011B
无溢出
无溢出
(2)a=0B7H, b=0D7H
a+b
a-b
10110111B
10110111B
+) 11010111B
+) 00101001B
1┇10001110B
11100000B
Cs=1,Cp=1
Cs=0,Cp=0
V=Cs⊕Cp=0
V=Cs⊕Cp=0
无溢出
无溢出
(3)a=0F7H, b=0D7H
[解] (1) a=37, b=57
a+b
a-b
[37]补→ 00100101B +) [57]补→ 00111001B
[37]补→ 00100101B +) [-57]补→ 11000111B
01011110B
11101011B
微机原理习题课

微机原理习题课第二章习题答案一、填空题1、MOV AX,7896HADD AL,AH上述指令执行后,标志位CF和OF的值是()。
2、MOV SP,3210HPUSH AX 执行上述指令序列后,SP寄存器的值是( )3、重复前缀指令REP的重复次数由()决定。
4、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。
5、下面指令序列执行后完成的运算,正确的算术表达式应是()。
MOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,AL6、下面程序段执行后,AL中的内容是()MOV AX,8833HADD AL,AHDAA7、如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是____ IP____,而后两个字节存放的是____ CS____。
8、执行下面的程序段后,AX=_________ 。
MOV CX,5;MOV AX,50;NEXT:SUB AX,CX;LOOP NEXT;HLT9、MUL WORD PTR [SI] ,原操作数__________;目标操作数__________;10、设AL=-18,CL=2,则执行SAR AL,CL 后,AL=__________ 。
11、设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。
12、指令LOOPNZ 退出循环的条件是()。
13、MOV AX, 65A3;AND AX, 0FA03AX=___5FA6_______,若作为无符号数,其十进制值为___24486_______,若作为带符号数,其十进制值为____+24486______.14、(西安交大)写出一条能完成下述操作的指令(1)将AH的最高3位清零,其他位不变()(2)AH的低半字节置1,其他位不变()(3)AH的最低位取反,其他位不变()15、(西南交大) 8086 CPU在基址-变址寻址方式中,基址寄存器可以是( )和( ),变址寄存器可以是( )和( )。
微机原理及应用习题库与答案

微机原理及应⽤习题库与答案微机原理及应⽤习题库与答案习题与练习题1第1章绪论1.计算机分那⼏类?各有什么特点?答:传统上分为三类:⼤型主机、⼩型机、微型机。
⼤型主机⼀般为⾼性能的并⾏处理系统,存储容量⼤,事物处理能⼒强,可为众多⽤户提供服务。
⼩型机具有⼀定的数据处理能⼒,提供⼀定⽤户规模的信息服务,作为部门的信息服务中⼼。
微型机⼀般指在办公室或家庭的桌⾯或可移动的计算系统,体积⼩、价格低、具有⼯业化标准体系结构,兼容性好。
2.简述微处理器、微计算机及微计算机系统三个术语的内涵。
答:微处理器是微计算机系统的核⼼硬件部件,对系统的性能起决定性的影响。
微计算机包括微处理器、存储器、I/O接⼝电路及系统总线。
微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成⼀个完整的、独⽴的信息处理系统。
3.80X86微处理器有⼏代?各代的名称是什么?答:从体系结构上可分为3代:← 8080/8085:8位机。
↑ 8086/8088/80286:16位机。
→ 80386/80486:32位机。
第2章微处理器结构及微计算机的组成1.8086是多少位的微处理器?为什么?答:8086是16位的微处理器,其内部数据通路为16位,对外的数据总线也是16位。
2.EU与BIU各⾃的功能是什么?如何协同⼯作?答:EU是执⾏部件,主要的功能是执⾏指令。
BIU是总线接⼝部件,与⽚外存储器及I/O接⼝电路传输数据。
EU经过BIU进⾏⽚外操作数的访问,BIU为EU提供将要执⾏的指令。
EU与BIU可分别独⽴⼯作,当EU不需BIU提供服务时,BIU可进⾏填充指令队列的操作。
3.8086/8088与其前⼀代微处理器8085相⽐,内部操作有什么改进?答:8085为8位机,在执⾏指令过程中,取指令与执⾏执令都是串⾏的。
8086/8088由于内部有EU和BIU两个功能部件,可重叠操作,提⾼了处理器的性能。
4.8086/8088微处理器内部有那些寄存器,它们的主要作⽤是什么?答:执⾏部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。
微机原理第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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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内容变化的过程示意图。
(标出存储单元的地址)解答:
00ADH 00AEH 00AFH
0FFA0:00B0H
···
FFAACH FFAADH FFAAEH FFAAFH FFAB0H
···
00ACH X FFAABH 00ADH 00AEH 00AFH
0FFA0:00B0H
···
57H 80H FFAACH FFAADH FFAAEH FFAAFH FFAB0H
···
00ACH X FFAABH ①初始状态;SP =00B0H
②PUSH AX ;(AX =8057H )SP =00AEH
00ADH 00AEH 00AFH
0FFA0:00B0H
···
79H 0FH 57H 80H FFAACH FFAADH FFAAEH FFAAFH FFAB0H
···00ACH X FFAABH 00ADH 00AEH 00AFH
0FFA0:00B0H
···
57H 80H FFAACH FFAADH FFAAEH FFAAFH FFAB0H
···
00ACH X FFAABH ③PUSH BX ;(BX =0F79H )SP =00ACH ④POP BX ;SP =00AEH
堆栈段SS =0FFA0H 堆栈段SS =0FFA0H
堆栈段SS =0FFA0H 堆栈段SS =0FFA0H
5.已知程序段如下: MOV AX ,1234H MOV CL ,4 ROL AX ,CL DEC AX MOV CX ,4 MUL CX 试问:(1)每条指令执行后,AX 寄存器的内容是什么?(2)每条指令执行后,CF ,SF 及ZF
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
7.假定DX=1100100110111001B,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 拼装成双字后,左移四位。
DX DX AX 1
2
3
4
5
6
7
8
DX AX 2
3
4
6
7
8
2
3
4
5
6
7
8
AX
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
(注:可编辑下载,若有不当之处,请指正,谢谢!)。