微型计算机原理与接口技术周荷琴着课后答案.doc

上传人:本田雅阁 文档编号:2471648 上传时间:2019-04-01 格式:DOC 页数:92 大小:36.33MB
返回 下载 相关 举报
微型计算机原理与接口技术周荷琴着课后答案.doc_第1页
第1页 / 共92页
微型计算机原理与接口技术周荷琴着课后答案.doc_第2页
第2页 / 共92页
微型计算机原理与接口技术周荷琴着课后答案.doc_第3页
第3页 / 共92页
微型计算机原理与接口技术周荷琴着课后答案.doc_第4页
第4页 / 共92页
微型计算机原理与接口技术周荷琴着课后答案.doc_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《微型计算机原理与接口技术周荷琴着课后答案.doc》由会员分享,可在线阅读,更多相关《微型计算机原理与接口技术周荷琴着课后答案.doc(92页珍藏版)》请在三一文库上搜索。

1、第一章1. 什么是冯诺依曼机?答: 冯诺依曼于 1945 年提出了存储程序的概念和二进制原理,利用这种概念和原理设计的电子计算机系统统称为冯诺依曼机。它包括运算器、控制器、存储器、输入设备和输出设备五个组成部分。早期的冯诺依曼机结构上以运算器和控制器为中心,随着计算机体系结构的发展,现在已演化为以存储器为中心的结构。2. 微处理器,微型计算机,微型计算机系统有什么联系与区别?答:微处理器是微型计算机系统的核心,也称为 CPU(中央处理器)。主要完成:从存储器中取指令,指令译码;简单的算术逻辑运算;在处理器和存储器或者 I/O 之间传送数据;程序流向控制等。微型计算机由微处理器、存储器、输入/输

2、出接口电路和系统总线组成。以微型计算机为主体,配上外部输入/输出设备及系统软件就构成了微型计算机系统。三者关系如下图:3. 微处理器有哪些主要部件组成?其功能是什么?答:微处理器是一个中央处理器,由算术逻辑部件 ALU、累加器和寄存器组、指令指针寄存器 IP、段寄存器、标志寄存器、时序和控制逻辑部件、内部总线等组成。算术逻辑部件 ALU 主要完成算术运算及逻辑运算。累加器和寄存器组包括数据寄存器和变址及指针寄存器,用来存放参加运算的数据、中间结果或地址。指令指针寄存器 IP 存放要执行的下一条指令的偏移地址,顺序执行指令时,每取一条指令增加相应计数。段寄存器存放存储单元的段地址,与偏移地址组成

3、 20 位物理地址用来对存储器寻址。标志寄存器 flags 存放算术与逻辑运算结果的状态。时序和控制逻辑部件负责对整机的控制:包括从存储器中取指令,对指令进行译码和分析,发出相应的控制信号和时序,将控制信号和时序送到微型计算机的相应部件,使 CPU内部及外部协调工作。内部总线用于微处理器内部各部件之间进行数据传输的通道。4. 画一个计算机系统的方框图,简述各部分主要功能。答:计算机系统由硬件(Hardware)和软件(Software)两大部分组成。硬件是指物理上存在的各种设备,如显示器、机箱、键盘、鼠标、硬盘和打印机等,是计算机进行工作的物质基础。软件是指在硬件系统上运行的各种程序、数据及有

4、关资料。一个完整的计算机系统不仅应该具备齐全的基本硬件结构,还必须配备功能齐全的基本软件系统,后者是为了充分发挥基本硬件结构中各部分的功能和方便用户使用计算机而编制的各种程序,一般称为计算机的软件系统。运算器主机中央处理器控制器内存储器外存硬件系统外部设备输入设备输出设备计算机系统软件系统总线系统软件操作系统编译系统数据库系统服务性程序应用软件5. 列出计算机系统中的三种总线结构,画出面向存储器的双总线结构图。答:(1)面向系统的单总线结构(2)面向 CPU 的双总线结构(3)面向主存储器的双总线结构6. 8086 微处理器可寻址多少字节存储器?Pentium II 微处理器可寻址多少字节存储

5、器?答:8086 微处理器有 20 条地址线,可寻址 220=1MB 存储器Pentium II 处理器有 36 条地址线,可寻址 236=64GB 存储器7. 什么是 PCI 总线?什么是 USB?答:PCI 总线是微处理机机箱内的底板总线即系统总线的一种,是用来连接构成微处理机的各个插件板的一种数据传输标准。PCI 全称为 Peripheral Component Interconnect,即外设互连局部总线,是 Intel 公司推出的 32/64 位标准总线。数据传输速率为 132MB/s,适用于 Pentium 微型机。PCI 总线是同步且独立于微处理器的,具有即插即用的特性,允许任何

6、微处理器通过桥接口连接到 PCI 总线上。USB总线,通用串行总线(Universal Serial Bus),属于外部总线的一种,用作微处理机系统与系统之间,系统与外部设备之间的信息通道。USB是在 1994 年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的,不过直到近期,才得到广泛应用,已成为目前电脑中的标准扩展接口。USB 接口支持设备的即插即用和热插拔功能,具有传输速度快,使用方便,连接灵活,独立供电等优点。8. 说明以下一些伪指令的作用。(1)DB(2)DQ(3)DW(4)DD答:(1)在汇编语言中定义字节数据。(2)在汇编语言中定义 4 字数据。(3)在汇编语言中

7、定义字数据。(4)在汇编语言中定义双字数据。9. 将下列二进制数转换为十进制数。(1)1101.01B(2)111001.0011B(3)101011.0101B (4)111.0001B答:(1)13.25(3)43.3125(2)57.1875(4)7.062510. 将下列十六进制数转换为十进制数。(1)A3.3H(3)AC.DCH答:(1)163.1875(2)129.CH(4)FAB.3H(2)297.75(3)172.859375 (4)4011.187511. 将下列十进制数转换为二进制、八进制、十六进制。(1)23(2)107(3)1238(4)92答:(1)23D=27Q=1

8、7H(3)1238D=2326Q=4D6H(2)107D=153Q=6BH(4)92D=134Q=5CH12. 将下列十进制数转换为 8 位有符号二进制数。(1)+32(2)-12(3)+100(4)-92答:(1)+32原=+32反=+32补=00100000B(2)-12原=10001100B -12反=11110011B -12补=11110100B(3)+100原=+100反= +100补=01100100B(4)-92原=11011100B -92反=10100011B -92补=10100100B13. 将下列十进制数转换为压缩和非压缩格式的 BCD 码。(1)102(2)44(3

9、)301(4)1000答:(1)102压缩 BCD=00000001 00000010B102非压缩 BCD=00000001 00000000 00000010B(2)44压缩 BCD=01000100B44非压缩 BCD=00000100 00000100B(3)301压缩 BCD=00000011 00000001B301非压缩 BCD=00000011 00000000 00000001B(4)1000压缩 BCD=00010000 00000000B1000非压缩 BCD=00000001 00000000 00000000 00000000B14. 将下列二进制数转换为有符号十进制

10、数。(1)10000000B(2)00110011B(3)10010010B(4)10001001B答:(1)看作原码时真值为-0,看作反码时真值为-127,看作补码时真值为-128(2)+51(3)看作原码时真值为-18,看作反码时真值为-109,看作补码时真值为-110(4)看作原码时真值为-9,看作反码时真值为-118,看作补码时真值为-11915. 将下列十进制数转换为单精度浮点数。(1)+1.5(2)-10.625(3)+100.25(4)-12000尾数 1000000 00000000 00000000故单精度浮点数为 0 01111111 1000000 00000000 00

11、000000(2)-10.625=-1010.101B=-1.01010123,符号为 1,移码阶 127+3=130=10000010B,尾数 0101010 00000000 00000000故单精度浮点数为 1 10000010 0101010 0000000 0000000(3)+100.25=1100100.01B=1.1001000126,符号为 0移码阶 127+6=133=10000101B,尾数 1001000 10000000 00000000故单精度浮点数为 0 10000101 1001000 10000000 00000000(4)-1200= -1001011000

12、0B=-1.0010110000210,符号为 1移码阶 127+10=137=10001001B,尾数 0010110 00000000 00000000故单精度浮点数为 1 10001001 0010110 00000000 0000000016. 将下列单精度浮点数转换为十进制数。(1)0 10000000 1100000 00000000 00000000(2)1 01111111 0000000 00000000 00000000(3)0 10000000 1001000 00000000 00000000答:(1)1.1121=11.1B=+3.5D(2)-1.020=-1B=-1

13、D答:(1)+1.5=1.1B=1.12 ,符号为 0,移码阶 127+0=127=01111111B(3)1.100121=11.001B=+3.125D第二章1. 8086CPU 内部由哪两部分组成?它们的主要功能是什么?答:8086CPU 内部由执行单元 EU 和总线接口单元 BIU 组成。主要功能为:执行单元 EU 负责执行指令。它由算术逻辑单元(ALU)、通用寄存器组、16 位标志寄存器(FLAGS)、EU 控制电路等组成。EU 在工作时直接从指令流队列中取指令代码,对其译码后产生完成指令所需要的控制信息。数据在 ALU 中进行运算,运算结果的特征保留在标志寄存器 FLAGS 中。总

14、线接口单元 BIU 负责 CPU 与存储器和 IO 接口之间的信息传送。它由段寄存器、指令指针寄存器、指令队列、地址加法器以及总线控制逻辑组成。2. 8086CPU 中有哪些寄存器?各有什么用途?答:8086CPU 内部包含 4 组 16 位寄存器,分别是通用寄存器组、指针和变址寄存器、段寄存器、指令指针和标志位寄存器。(1)通用寄存器组包含 4 个 16 位通用寄存器 AX、BX、CX、DX,用以存放普通数据或地址,也有其特殊用途。如 AX(AL)用于输入输出指令、乘除法指令,BX 在间接寻址中作基址寄存器,CX 在串操作和循环指令中作计数器,DX 用于乘除法指令等。(2)指针和变址寄存器B

15、P、SP、SI 和 DI,在间接寻址中用于存放基址和偏移地址。(3)段寄存器CS、DS、SS、ES 存放代码段、数据段、堆栈段和附加段的段地址。(4)指令指针寄存器 IP 用来存放将要执行的下一条指令在现行代码段中的偏移地址。(5)标志寄存器 Flags用来存放运算结果的特征。3. 8086CPU 和 8088CPU 的主要区别是什么?答:8088CPU 的内部结构及外部引脚功能与 8086CPU 大部分相同,二者的主要不同之处如下:(1)8088 指令队列长度是 4 个字节,8086 是 6 个字节。(2)8088 的 BIU 内数据总线宽度是 8 位,而 EU 内数据总线宽度是 16 位,

16、这样对 16位数的存储器读/写操作需要两个读/写周期才能完成。8086 的 BIU 和 EU 内数据总线宽度都是 16 位。(3)8088 外部数据总线只有 8 条 AD7AD0,即内部是 16 位,对外是 8 位,故 8088也称为准 16 位机。(4)8088 中,用 IO/M 信号代替 M/ IO 信号。(5)8088 中,只能进行 8 位数据传输,BHE 不再需要,改为 SS0 ,与 DT/ R 和 IO/M一起决定最小模式中的总线周期操作。4. 简要解释下列名词的意义:CPU,存储器,堆栈,IP,SP,BP,段寄存器,状态标志,控制标志,物理地址,逻辑地址,机器语言,汇编语言,指令,

17、内部总线,系统总线。答:CPU:中央处理器,是整个计算机系统的控制中心,主要功能是进行算术和逻辑运算,以及发出各种控制信号以协调整个系统正常工作。存储器:是计算机系统中的记忆元件,用于存储指令和数据。堆栈:在存储器中开辟的一个区域,用来存放需要暂时保存的数据。其操作特点是先进后出。IP:指令指针寄存器,用来存放将要执行的下一条指令在现行代码段中的偏移地址。SP:堆栈指针寄存器,用于指向当前栈顶单元。BP:基址指针,间接寻址中用于存放基址,隐含段地址为 SS。段寄存器:用于存放逻辑段的段地址。状态标志:SF、ZF、OF、AF、PF 和 CF,反映运算结果的状态特征。控制标志:IF、DF 和 TF

18、,对可屏蔽中断、字符串操作指针变换方向和单步运行起控制作用。物理地址:指存储器中存储单元的实际地址编码,是一种绝对地址,是 CPU 访问存储器的实际寻址地址,对于 8086 系统,地址范围为 00000HFFFFFH。逻辑地址:由段基址和偏移地址组成,均为无符号的 16 位二进制数,程序设计时采用逻辑地址,可由逻辑地址变换为物理地址,物理地址=段基址16+偏移地址。机器语言:直接用二进制代码指令表达的计算机语言,指令是用 0 和 1 组成的一串代码,计算机可以直接识别,不需要进行任何翻译。每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言,是第一代计

19、算机语言。汇编语言:使用助记符表示的二进制代码指令语言,是一种符号化的机器语言,必须经编译程序将汇编语言编译成机器语言,计算机才能识别。指令:能被计算机识别并执行的二进制代码,规定了计算机能完成的某一操作。内部总线:微处理器内部各个部件之间传送信息的通道。系统总线:微处理机机箱内的底板总线,用来连接构成微处理机的各个插件板,如 ISA总线、EISA 总线、PCI 总线等。5. 要完成下述运算或控制,用什么标志位判别?其值是什么?(1)比较两数是否相等(3)两数相加后是否溢出(5)两数相减后比较大小(2)两数运算后结果是正数还是负数(4)采用偶校验方式,判定是否要补 1(6)中断信号能否允许答:

20、(1)ZF,两数相减,若 ZF=1,则相等。(2)SF,SF=1 则为负,否则为正(3)对有符号数:OF,OF=1 为溢出;对无符号数:CF,CF=1 为溢出(4)PF,PF=1,不补 1(5)对有符号数:无溢出时(OF=0),如 ZF=1,则两数相等;如 ZF=0 且 SF=0,则被减数大;如 ZF=0 且 SF=1,则减数大; 有溢出时(OF=1),如 SF=1,则被减数大;如SF=0,则减数大; 对无符号数:如 ZF=1,则两数相等;如 CF=0,则被减数大;如 CF=1,则减数大(6)IF,IF=1,允许中断6. 8086 系统中存储器采用什么结构?用什么信号来选中存储体?答:8086

21、 系统中,存储器采用分体结构,1MB 的存储空间分成两个存储体:偶地址存储体和奇地址存储体,各为 512KB。使用 A0 和 BHE 来区分两个存储体。当 A0=0 时,选中偶地址存储体,与数据总线低 8位相连,从低 8 位数据总线读/写一个字节。当 BHE =0 时,选中奇地址存储体,与数据总线高 8 位相连,从高 8 位数据总线读/写一个字节。当 A0=0, BHE =0 时,同时选中两个存储体,读/写一个字。7. 用伪指令 DB 在存储器中存储 ASCII 码字符串“What time is it?”。并画出内存分布图。答:STR DB What time is it?,$STRWhat

22、timeisit?$8. 用伪指令将下列 16 位二进制数存储在存储器中,并画出内存分布图。(1)1234H(2)A122H(3)B100H答:NUM DW 1234H,A122H,B100HNUM34H12H22HA1H00HB1H9. 段寄存器装入如下数据,写出每段的起始和结束地址。(1)1000H(2)1234H(3)2300H(4)E000H(5)AB00H答:(1)10000H1FFFFH(2)12340H2233FH(3)23000H32FFFH(4)E0000HEFFFFH(5)AB000HBAFFFH10. 根据下列 CS:IP 的组合,求出要执行的下一条指令的存储器地址。(1

23、)CS:IP=1000H:2000H(3)CS:IP=1A00H:B000H(2)CS:IP=2000H:1000H(4)CS:IP=3456H:AB09H答:(1)12000H(2)21000H(3)25000H(4)3F069H11. 求下列寄存器组合所寻址的存储单元地址:(1)DS=1000H,DI=2000H(3)DS=A000H,BX=1000H(2)SS=2300H,BP=3200H(4)SS=2900H,SP=3A00H答:(1)12000H(2)26200H(3)A1000H(4)2CA00H12. 若当前 SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址,若

24、此时入栈 10 个字节,SP 内容是什么?若再出栈 6 个字节,SP 为什么值?答:物理地址:35000H35800H。入栈 10 个字节后 SP 为 7F6H。再出栈 6 个字节后 SP为 7FCH。13. 某程序数据段中存放了两个字,1EE5H 和 2A8CH,已知 DS=7850H,数据存放的偏移地址为 3121H 及 285AH。试画图说明它们在存储器中的存放情况。若要读取这两个字,需要对存储器进行几次操作?答:1EE5H 的存储物理地址=78500H+3121H=7B621H,为奇数,故若要读取这个字,需要对存储器进行两次读操作。2A8CH 的存储物理地址=78500H+285AH=

25、7AD5AH,为偶数,故若要读取这个字,只需对存储器进行一次读操作。7850:0000M7850:285A7850:3121M8CH2AHMME5H1EHM14. 存储器中每段容量最多 64K 字节,若用 debug 调试程序中的 r 命令,在屏幕上有如下显示:C:debug-rAX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PL NZ NA PO NC(1)试画出此时存储器分段示意图(2)写出状态标志 OF、SF、ZF

26、、CF 的值答:(1)代码段首地址:31FF0H数据段首地址:10E40H堆栈段首地址:21F00H当前指令地址:320F0H堆栈段栈顶地址:31EEEH附加段首地址:10F40H(2)OF=SF=ZF=CF=015. 说明 8086 系统中“最小模式”和“最大模式”两种工作方式的主要区别是什么?答:为了便于组成不同规模的系统,在 8086 芯片中设计了两种工作模式,即最小模式和最大模式。最小模式用于单机系统,系统中所需要的控制信号全部由 8086 直接提供;最大模式用于多处理机系统,系统中所需要的控制信号由总线控制器 8288 提供。16. 8086 系统中为什么要用地址锁存器?8282 地

27、址锁存器与 CPU 如何连接?答:为了减少引脚的数量,8086CPU 的地址引脚和数据引脚分时复用,为了保证在总线操作周期中地址信号能有效而稳定的输出,必须使用地址锁存器。由于 8086 有 20 条地址线,故需使用三片 8282,其中 OE 接地,STB 与 CPU 的 ALE相连,前两片 8282 的 DI0DI7 分别与 CPU 的 AD0AD15 相连,第三片 8282 的 DI0DI3 分别与 CPU 的 AD16AD19 相连,DI4 与 CPU 的 BHE 相连。17. 哪个标志位控制 CPU 的 INTR 引脚?答:IF,中断允许标志,IF=1 时,允许可屏蔽中断,IF=0 时

28、,禁止可屏蔽中断。18. 什么叫总线周期?在 CPU 读/写总线周期中,数据在哪个机器状态出现在数据总线上?答:CPU 完成一次存储器访问或 I/O 端口操作所需要的时间称为一个总线周期,由几个 T状态组成。在读/写总线周期中,数据在 T2T4 状态出现在数据总线上。19. 8284 时钟发生器共给出哪几个时钟信号?答:OSC:振荡器输出信号,是内部振荡电路的 TTL 电平输出,其频率与晶振的频率相等,在 PC/XT 中,其频率为 14.318MHzCLK:三分频 OSC 后的时钟,输出频率为 4.77MHz,占空比为 1/3,供 8086CPU 使用。PCLK:二分频 CLK 后的时钟,输出

29、频率为 2.38636MHz,TTL 电平,占空比为 1/2,供 PC/XT 机的外设使用。20. 8086CPU 重新启动后,从何处开始执行指令?答:重新启动后,CS=FFFFH,IP=0000H,故从物理地址为 FFFF0H 的位置开始执行指令。21. 8086CPU 的最小模式系统配置包括哪几部分?答:8086 最小模式系统配置包括:8086CPU,存储器,I/O 接口芯片,1 片 8284 时钟发生器,3 片 8282 地址锁存器,2 片8286 双向数据总线收发器。第三章1. 分别说明下列指令的源操作数和目的操作数各采用什么寻址方式。(1)MOV AX,2408H(2)MOV CL,

30、0FFH(3)MOV BX,SI(4)MOV 5BX,BL(5)MOV BP+100H,AX(6)MOV BX+DI,$(7)MOV DX,ES:BX+SI (8)MOV VALBP+DI,DX(9)IN AL,05H(10)MOV DS,AX答:(1)立即数,寄存器(2)立即数,寄存器(3)寄存器间接,寄存器(4)寄存器,寄存器相对 (5)寄存器,寄存器相对 (6)立即数,基址变址(7)基址变址,寄存器(8)寄存器,相对基址变址(9)直接端口寻址,寄存器 (10)寄存器,寄存器2. 已知:DS=1000H,BX=0200H,SI=02H,内存 10200H10205H 单元的内容分别为 10

31、H,2AH,3CH,46H,59H,6BH。下列每条指令执行完后 AX 寄存器的内容各是什么?(1)MOV AX,0200H(4)MOV AX,3BX(2)MOV AX,200H(5)MOV AX,BX+SI(3)MOV AX,BX(6)MOV AX,2BX+SI答:(1)0200H(4)5946H(2)2A10H(5)463CH(3)0200H(6)6B59H3. 设 DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,数据段中变量名为 VAL 的偏移地址值为 0030H,试说明下列源操作数字段的寻址方式是什么?物理地

32、址值是多少?(1)MOV AX,100H(4)MOV AX,ES:BX(2)MOV AX,VAL(5)MOV AX,SI(3)MOV AX,BX(6)MOV AX,BX+10H(7)MOV AX,BP(8)MOV AX,VALBPSI(9)MOV AX,VALBXDI(10)MOV AX,BPDI答:(1)直接,10100H (2)直接,10030H (3)寄存器间接,10100H(4)寄存器间接,20100H (5)寄存器间接,100A0H (6)寄存器相对,10110H(7)寄存器间接,35200H (8)相对基址变址,352D0H(9)相对基址变址,10154H (10)基址变址,352

33、24H4. 写出下列指令的机器码(1)MOV AL,CL(2)MOV DX,CX(3)MOV BX+100H,3150H答:(1)10001010 11000001B(2)10001011 11010001B(3)11000111 10000111 00000000 00000001 01010000 00110001B5. 已知程序的数据段为:DATA SEGMENTA DB $,10HB DB COMPUTERC DW 1234H, 0FFHD DB 5 DUP(?)E DD 1200459AHDATA ENDS求下列程序段执行后的结果是什么。MOV AL, AMOV DX, CXCHG

34、DL, AMOV BX, OFFSET BMOV CX, 3BXLEA BX, DLDS SI, ELES DI, E答:MOV AL, A AL=24HMOV DX, C DX=1234HXCHG DL, A DL=24H, A=34HMOV BX, OFFSET B BX=2MOV CX, 3BX CX=5550HLEA BX, D BX=000EHLDS SI, E DS=1200H, SI=459AHLES DI, E ES=1200H, DI=459AH6. 指出下列指令中哪些是错误的,错在什么地方。(1)MOV DL,AX(2)MOV 8650H,AX(3)MOV DS,0200H

35、(4)MOV BX,1200H(5)MOV IP,0FFH(6)MOV BX+SI+3,IP(7)MOV AX,BXBP(8)MOV AL,ES:BP(9)MOV DL,SIDI(10)MOV AX,OFFSET 0A20H (11)MOV AL,OFFSET TABLE(12)XCHG AL,50H (13)IN BL,05H(14)OUT AL,0FFEH答:(1)长度不匹配(2)立即数不能做目的操作数(3)段寄存器不能用立即数赋值 (4)两个内存单元不能直接传送数据(5)IP 不能用指令直接修改 (6)指令中不能出现 IP(7)BX/BP 应与 SI/DI 搭配(8)正确(9)SI/DI

36、应与 BX/BP 搭配 (10)OFFSET 后应跟内存单元(11)偏移地址为 16 位,AL 长度不够(12)立即数不能用于 XCHG(13)IN 必须用 AL/AX(14)操作数顺序反向;地址应为 8 位7. 已知当前数据段中有一个十进制数字 09 的 7 段代码表,其数值依次为 40H,79H,24H,30H,19H,12H,02H,78H,00H,18H。要求用 XLAT 指令将十进制数 57 转换成相应的7 段代码值,存到 BX 寄存器中,试写出相应的程序段。答: DATA SEGMENTTABLE DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,18H

37、DATA ENDSMOV AL,5MOV BX,OFFSET TABLEXLAT TABLEMOV CL,ALMOV AL,7XLAT TABLEMOV BL,ALMOV BH,CL8. 已知当前 SS=1050H,SP=0100H,AX=4860H,BX=1287H,试用示意图表示执行下列指令过程中,堆栈中的内容和堆栈指针 SP 是怎样变化的。PUSH AXPUSH BXPOP BXPOP AX答:(1)指令执行前(2)执行 PUSHAX 后10500H10500HSP-60H48HSP-(3)执行 PUSHBX 后(4)执行 POP BX 后10500HSP-87H12H60H48H105

38、00HSP-87H12H60H48H(5)执行 POP AX 后10500H87H12H60H48HSP-9. 下列指令完成什么功能?(1)ADD AL,DH(4)DEC BX(7)MUL BX答:(1)AL+DHAL(4)BX-1BX(2)ADC BX,CX(5)NEG CX(8)DIV CL(2)BX+CX+CFBX(5)0-CXCX(3)SUB AX,2710H(6)INC BL(3)AX-2710HAX(6)BL+1BL(7)AX*BXDX,AX(8)AX/CL 商AL,余数AH10. 已知 AX=2508H,BX=0F36H,CX=0004H,DX=1864H,求下列每条指令执行后的

39、结果是什么?标志位 CF 等于什么?(1)AND AH,CL(2)OR BL,30H(3)NOT AX(4)XOR CX,0FFF0H(5)TEST DH,0FH(6)CMP CX,00H(7)SHR DX,CL(10)SAL AX,1(8)SAR AL,1(11)RCL BX,1(9)SHL BH,CL(12)ROR DX,CL答:(1)AX=0408H,CF=0(2)BX=0F36H,CF=0(3)AX=0DAF7H,CF 不变(4)CX=0FFF4H,CF=0(5)DX=01864H,CF=0(7)DX=0186H,CF=0(9)BX=0F036H,CF=0(6)CX=0004H,CF=

40、0(8)AX=2504H,CF=0(10)AX=4A10H,CF=0(11)BX=1E6C/1E6DH,CF=0(12)DX=4186H,CF=011. 假设数据段定义如下:DATA SEGMENTSTRING DB The Personal Computer & TVDATA ENDS试用字符串操作等指令编程完成以下功能:(1)把该字符串传送到附加段中偏移量为 GET_CHAR 开始的内存单元中。(2)比较该字符串是否与The Computer相同,若相同则将 AL 寄存器的内容置 1,否则置0。并要求将比较次数送到 BL 寄存器中。(3)检查该字符串是否有&,若有则用空格字符将其替换。(4

41、)把字符串大写字母传送到附加段中以 CAPS 开始的单元中,其余字符传到以 CHART开始的单元中。然后将数据段中存储上述字符串的单元清 0。答:(1) CLDLEA SI,STRINGLEA DI,GET_CHARMOV CX,26REP MOVSB(2)补充在附加段定义STRING1 DB The computerMOV AL,1CLDLEA SI,STRINGLEA DI,STRING1MOV CX,12REPZ CMPSBJZ SKIPMOV AL,0SKIP: MOV BX,12SUB BX,CX(3) MOV AX, DATAMOV ES, AXCLDMOV AL,&LEA DI,STRINGMOV CX,26NEXT: REPNE SCASBJZ FINDJMP EXITFIND:MOV BYTE PTR DI-1, JCXZ EXITJMP NEXTEXIT:(4)LEA SI,STRINGLEA DI,CAPSLEA BX,CHARTMOV CX,26NEXT: MOV AL, SICMP AL,AJB OTHERCMP AL,ZJA O

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1