微机原理与接口技术(第二版)习题答案

合集下载

微机原理与接口技术课后答案第二版

微机原理与接口技术课后答案第二版

微机原理与接口技术课后答案第二版【篇一:《微机原理与接口技术》(第二版)龚尚福-习题解析和实验指导】xt>2.2 8086微处理器由哪几部分组成?各部分的功能是什么?16355【解】:按功能可分为两部分:总线接口单元biu(bus interface unit)和执行单元eu(execution unit)。

总线接口单元biu是8086 cpu在存储器和i/o设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和i/o设备的所有操作都是由biu完成的。

所有对外部总线的操作都必须有正确的地址和适当的控制信号,biu中的各部件主要是围绕这个目标设计的。

它提供了16位双向数据总线、20位地址总线和若干条控制总线。

其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。

cpu执行指令时,总线接口单元要配合执行单元,从指定的内存单元或i/o端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或i/o端口中。

执行单元eu中包含1个16位的运算器alu、8个16位的寄存器、1个16位标志寄存器fr、1个运算暂存器和执行单元的控制电路。

这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。

eu对指令的执行是从取指令操作码开始的,它从总线接口单元的指令队列缓冲器中每次取一个字节。

如果指令队列缓冲器中是空的,那么eu就要等待biu通过外部总线从存储器中取得指令并送到eu,通过译码电路分析,发出相应控制命令,控制alu数据总线中数据的流向。

2.3 简述8086 cpu的寄存器组织。

【解】:(1)通用寄存器:通用寄存器又称数据寄存器,既可作为16位数据寄存器使用,也可作为两个8位数据寄存器使用。

当用作16位时,称为ax、bx、cx、dx。

当用作8位时,ah、bh、ch、dh 存放高字节,al、bl、cl、dl存放低字节,并且可独立寻址。

这样,4个16位寄存器就可当作8个8位寄存器来使用。

微型计算机原理与接口技术(第二版)习题参考解答

微型计算机原理与接口技术(第二版)习题参考解答

mov al , ah
adc al , bl
mov result , cx
adc al , bh
daa
mov ax , [x1+1]
daa
mov cl , al
mov bx , [x2+1]
mov ch , al
mov al , ah 【解】(6)
adc al , bl
mov [result+1] , cx
; 基址变址相对寻址
寄存器寻址
(9) in al , 05
; 寄存器寻址
立即数
(10) mov ds , ax
; 寄存器寻址
寄存器寻址
2. 已知:DS=1000H,BX=0200H,SI=02H,内存 10200H~10205H 单元的内容分别为 10H,2AH,3CH,46H,59H,6BH。
下列每条指令执行完后 AX 寄存器内容各为什么?
(1) MOV AX , 0200
; 执行后,AX=0200H
(2) MOV AX , [200H]
; 执行后,AX=2A10H
(3) MOV AX , BX
; 执行后,AX=0200H
(4) MOV AX , 3[BX]
; 执行后,AX=5946H
(5) MOV AX , [BX+SI]
; 执行后,AX=463CH
题 5. 假设程序中的数据定义如下:
par
dw ?
pname db 16 dup(?)
count dd ?
plenth dw $-par 求 plenth 的值为多少?表示什么意义?
(1) mov ax , [100h]
; 直接寻址,

《汇编语言微机原理及接口技术》(第2版)课后习题答案

《汇编语言微机原理及接口技术》(第2版)课后习题答案

第1章进制及码元1•进制转换129= 81H= 10000001B=201Q 298= 12AH= 100101010B=452Q 1000= 3E8H= 1111101000B= 1750Q 5DH= 1011101 B= 1350= 93 D 3E8H=1111101000 B= 17500= 1000 D3570=11101111 B= 0EF H= 239 D 3. 数据表示范围:一字节的无符号数表示范围为 0〜255,有符号数(补码)表示范围为-128 —+127。

一个字的无 符号数表示范围为 0〜65535,有符号数(补码)表示范围为—32768〜+32767。

N 位二进制数 的无符号数表示范围为 0〜(2N-1),有符号数(补码)表示范围为-2N -1〜(2曲-1).4.35H 代表的ASCII字符为M :,代表十六进制数时等价的十进制值为53_,代表压缩8421BCD 码等价的十进制值为 35_,代表非压缩8421BCD 码等价的十进制值为 5。

5. FFH 代表无符号数时等价的十进制值为一 1 ,代表反码有符号数时等价的十进制值为第2章微机硬件基础1 .计算机系统硬件的五大功能部件及其主要功能?答:硬件系统按功能模块分为运算器、控制器、存储器、输入设备、输出设备。

运算器主要完成算术运算、逻辑运算及移位运算,其中主要包括算术逻辑运算单元Arithmetic Logic Unit , ALU)和暂存数据(原始、中间、结果)的寄存器(Register , R)。

控制器实现对计算机部件的协调调度完成指令的分析执行,其中主要有程序计数器Program Counter , PC)或叫指令指针(Instruction Pointer , IP)、指令寄存器(Instruction register , IR)、指令译码器(Instruction Decoder , ID)、微操作命令发生器、时序发生器等。

微机原理与接口技术(第二版)课后习题答案

微机原理与接口技术(第二版)课后习题答案

微机原理与接口技术(第二版)课后习题答案微机原理与接口技术(第二版)课后题答案第1章作业答案1.1 微处理器、微型计算机和微型计算机系统的区别是什么?微处理器是将CPU集成在一个芯片上,微型计算机是由微处理器、存储器和外部设备构成,而微型计算机系统则是微型计算机与管理、维护计算机硬件以及支持应用的软件相结合的系统。

1.2 CPU的内部结构由哪些部分组成?它应该具备哪些主要功能?CPU主要由算术逻辑单元、指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等寄存器组成。

它的主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。

1.3 采用总线结构的微型计算机有哪些优点?采用总线结构可以扩大数据传送的灵活性,减少连线。

此外,总线可以标准化,易于兼容和工业化生产。

1.4 数据总线和地址总线在结构上有什么不同?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?数据总线是双向的,而地址总线是单向的。

如果一个系统的数据和地址合用一套总线或者部分总线,就要靠信号的时序来区分。

通常在读写数据时,总是先输出地址,过一段时间再读或写数据。

1.8 给定一个模型,如何用累加器实现15×15的程序?LD A。

15LD H。

15LOOP: ADD A。

15DEC HJP NZ。

LOOPHALT第2章作业答案2.1 IA-32结构微处理器直至Pentium 4,有哪几种?IA-32结构微处理器有、、Pentium、Pentium Pro、Pentium II、Pentium III和Pentium 4.2.6 IA-32结构微处理器有哪几种操作模式?IA-32结构支持保护模式、实地址模式和系统管理模式三种操作模式。

操作模式决定了哪些指令和结构特性可以访问。

2.8 IA-32结构微处理器的地址空间是如何形成的?由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。

微机原理与接口技术第二版课后习题答案龚尚福版

微机原理与接口技术第二版课后习题答案龚尚福版

微机原理与接口技术部分答案第二版主编:龚尚福2.2 8086微处理器由哪几部分组成?各部分的功能是什么?16355【解】:按功能可分为两部分:总线接口单元BIU(Bus Interface Unit)和执行单元EU (Execution Unit)。

总线接口单元BIU是8086 CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。

所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个目标设计的。

它提供了16位双向数据总线、20位地址总线和若干条控制总线。

其具体任务是:负责从存单元中预取指令,并将它们送到指令队列缓冲器暂存。

CPU执行指令时,总线接口单元要配合执行单元,从指定的存单元或I/O端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的存单元或I/O端口中。

执行单元EU中包含1个16位的运算器ALU、8个16位的寄存器、1个16位标志寄存器FR、1个运算暂存器和执行单元的控制电路。

这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。

EU对指令的执行是从取指令操作码开始的,它从总线接口单元的指令队列缓冲器中每次取一个字节。

如果指令队列缓冲器中是空的,那么EU就要等待BIU 通过外部总线从存储器中取得指令并送到EU,通过译码电路分析,发出相应控制命令,控制ALU数据总线中数据的流向。

2.3 简述8086 CPU的寄存器组织。

【解】:(1)通用寄存器:通用寄存器又称数据寄存器,既可作为16位数据寄存器使用,也可作为两个8位数据寄存器使用。

当用作16位时,称为AX、BX、CX、DX。

当用作8位时,AH、BH、CH、DH存放高字节,AL、BL、CL、DL存放低字节,并且可独立寻址。

这样,4个16位寄存器就可当作8个8位寄存器来使用。

(2)段寄存器:段寄存器共有4个CS、DS、SS、ES。

微机原理与接口技术(第二版)课后习题答案完整版之欧阳德创编

微机原理与接口技术(第二版)课后习题答案完整版之欧阳德创编

习题12.什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。

汇编语言是面向及其的程序设计语言。

在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。

这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。

使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。

3.微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。

这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。

4.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。

答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。

“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。

②在计算机内部采用二进制来表示程序和数据。

③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。

④五大部件以运算器为中心进行组织。

5.请说明微型计算机系统的工作过程。

答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。

如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。

6.试说明微处理器字长的意义。

答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。

它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。

微机原理与接口技术(第二版)课后习题答案完整版之欧阳地创编

微机原理与接口技术(第二版)课后习题答案完整版之欧阳地创编

习题11.2.什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。

汇编语言是面向及其的程序设计语言。

在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。

这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。

使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。

3.微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。

这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。

4.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。

答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。

“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。

②在计算机内部采用二进制来表示程序和数据。

③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。

④五大部件以运算器为中心进行组织。

5.请说明微型计算机系统的工作过程。

答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。

如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。

6.试说明微处理器字长的意义。

答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。

它决定着计算机内部寄存器、ALU 和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。

微机原理与接口技术第二版课后习题答案,龚尚福版

微机原理与接口技术第二版课后习题答案,龚尚福版

微机原理与接口技术部分答案第二版主编:龚尚福2.2 8086微处理器由哪几部分组成?各部分的功能是什么?16355【解】:按功能可分为两部分:总线接口单元BIU(Bus Interface Unit)和执行单元EU (Execution Unit)。

总线接口单元BIU是8086 CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。

所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个目标设计的。

它提供了16位双向数据总线、20位地址总线和若干条控制总线。

其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。

CPU 执行指令时,总线接口单元要配合执行单元,从指定的内存单元或I/O端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或I/O端口中。

执行单元EU中包含1个16位的运算器ALU、8个16位的寄存器、1个16位标志寄存器FR、1个运算暂存器和执行单元的控制电路。

这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。

EU对指令的执行是从取指令操作码开始的,它从总线接口单元的指令队列缓冲器中每次取一个字节。

如果指令队列缓冲器中是空的,那么EU就要等待BIU通过外部总线从存储器中取得指令并送到EU,通过译码电路分析,发出相应控制命令,控制ALU数据总线中数据的流向。

2.3 简述8086 CPU的寄存器组织。

【解】:(1)通用寄存器:通用寄存器又称数据寄存器,既可作为16位数据寄存器使用,也可作为两个8位数据寄存器使用。

当用作16位时,称为AX、BX、CX、DX。

当用作8位时,AH、BH、CH、DH存放高字节,AL、BL、CL、DL存放低字节,并且可独立寻址。

这样,4个16位寄存器就可当作8个8位寄存器来使用。

(2)段寄存器:段寄存器共有4个CS、DS、SS、ES。

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

第1章1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?解:把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微处理器。

微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了微型计算机。

微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。

1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?解:CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。

其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。

1.3微型计算机采用总线结构有什么优点?解:采用总线结构,扩大了数据传送的灵活性、减少了连线。

而且总线可以标准化,易于兼容和工业化生产。

1.4数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?解:数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。

8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为地址总线。

它们主要靠信号的时序来区分。

通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。

1.8在给定的模型中,写出用累加器的办法实现15×15的程序。

DEC HJP NZ,LOOPHALT第2章作业答案2.1 IA-32结构微处理器直至Pentillm4,有哪几种?解:80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。

2.6IA-32结构微处理器有哪几种操作模式?解:IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。

操作模式确定哪些指令和结构特性是可以访问的。

2.8IA-32结构微处理器的地址空间如何形成?解:由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。

若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。

2.15 8086微处理器的总线接口部件由哪几部分组成?解:8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传送。

具体地说,BIU既负责从内存的指定部分取出指令,送至指令队列中排队(8086的指令队列有6个字节,而8088的指令队列只有4个字节);也负责传送执行指令时所需的操作数。

执行单元(EU)负责执行指令规定的操作。

2.16段寄存器CS=120OH,指令指针寄存器IP=FFOOH,此时,指令的物理地址为多少?解:指令的物理地址=12000H+FFOOH=21FOOH第3章作业答案3.1分别指出下列指令中的源操作数和目的操作数的寻址方式。

(1)MOV SI, 30O(2)MOV CX, DATA[DI](3)ADD AX, [BX][SI](4)AND AX, CX(5)MOV[BP], AX(6)PUSHF解:(l)源操作数为立即寻址,目的操作数为寄存器寻址。

(2)源操作数为变址寄存器加位移量寻址,目的操作数为寄存器寻址。

(3)源操作数为基址加变址寻址,目的操作数为寄存器寻址。

(4)源操作数和目的操作数都为寄存器寻址。

(5)源操作数为寄存器寻址,目的操作数为寄存器间接寻址。

(6)为堆栈操作。

3.2试述指令MOV AX,2000H和MOV AX,DSz[2000H]的区别。

解:前一条指令是立即寻址,即把立即数2000H传送至寄存器AX。

后一条指令是直接寻址,是把数据(DS)段中的地址为200OH单元的内容传送至寄存器AX。

3.3写出以下指令中内存操作数的所在地址。

(1)MOV AL, [BX+10](2)MOV [BP+10], AX(3)INC BYTEPTR[SI十5](4)MOV DL, ES:[BX+SI](5)MOV BX,[BP+DI+2]解:(1)数据段BX+10单元。

(2)堆栈段BP+10单元。

(3)数据段SI+5字节单元。

(4)附加段(ES段)BX+SI单元。

(5)堆栈段BP+DI+2单元。

3.4判断下列指令书写是否正确。

(1)MOV AL, BX(2)MOV AL, CL(3)INC [BX](4)MOV 5, AL(5)MOV [BX],[SI](6)M0V BL, OF5H(7)MOV DX, 2000H(8)POP CS(9)PUSH CS解:(l)不正确,AL与BX数据宽度不同。

(2)正确。

(3)不正确,因为不明确是增量字节还是字。

(4)不正确,立即数不能作为目的操作数。

(5)不正确,因为不明确要传送的是字节还是字。

(6)正确。

(7)正确。

(8)不正确,CS不能作为:pop指令的操作数。

(9)不正确,CS不能作为PUSH指令的操作数。

3.5设堆钱指针SP的初值为1000H,AX=2000H,BX=3000H,试问:(1)执行指令PUSHAX后SP的值是多少?(2)再执行PUSHBX及POPAX后,SP、AX和BX的值各是多少?解:(1)SP=OFFEH。

(2)SP=OFFEH;AX=3000H,BX=3000H。

3.6要想完成把[3000H]送[2000H]中,用指令:MOM[200OH],[300OH]是否正确?如果不正确,应该用什么方法实现?解:不正确。

正确的方法是:MOV AL, [300OH]MOV [2000H],AL3.7假如想从200中减去AL中的内容,用SUB200,AL是否正确?如果不正确,应该用什么方法?解:不正确。

正确的方法是:MOV BL, 200SUB BL,AL3.8试用两种方法写出从8OH端口读入信息的指令。

再用两种方法写出从4OH口输出10OH的指令。

解:(1)IN AL, 80H(2)MOV DX,8OHIN AL, DX(3)MOV,AL,lOOHOUT40H,AL4)MOV AL,10OHMOV DX,4OHOUT DX,AL3.9假如:AL=20H,BL=1OH,当执行CMPAL,BL后,问:(1)AL、BL中的内容是两个无符号数,比较结果如何?影响哪儿个标志位?(2)AL、BL中的内容是两个有符号数,结果又如何,影响哪几个标志位?解:(l)AL=2OH,BL=1OH,O=0,S=0,Z=0,A=0,P=0,C=0。

(2)因为两个都是符号正数,其结果与(l)相同。

3.10若要使AL×10,有哪几种方法,试编写出各自的程序段?解:(1)使用乘法指令:MOVBL,10MULBI,(2)使用移位指令:SHLAL,1MOVBL,ALSHLAL,2ADDAL,BL(3)使用加法指令:ADDAL,ALMOVBL,ALADDAL,ALADDAL,ALADDAL,BL3.118086汇编语言指令的寻址方式有哪几类?哪种寻址方式的指令执行速度最快?解:寻址方式分为:立即数寻址方式、寄存器操作数寻址方式和存储器操作数寻址方式。

其中,寄存器操作数寻址方式的指令执行速度最快。

3.12在直接寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如果要用某个段寄存器指出段地址,指令中应该如何表示?解:默认的数据访问,操作数在DS段;堆栈操作在SS段;串操作源操作数(SI)在DS段, 目的操作数(DI)在ES段;用BP作为指针在SS段。

如果要显式地指定段地址,则在操作数中规定段寄存器。

例如:MOV AX,ES:(BX+10H)3.13在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么如何确定段地址?解:在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,段地址是隐含约定的,也就是隐含地选择段寄存器。

如操作类型为指令,则指定代码段寄存器CS,如操作类型为堆栈操作,则指定堆找段寄存器SS,…,如表3-1中所示。

当需要超越约定时,通常用段替代前缀加冒号":"来表示段超越,它允许程序设计者偏离任何约定的段。

例如:MOV ES:〔BX],AX这时数据将从寄存器EAX传送至附加段中由EBX寻址的存储单元,而不是传送到数据段中。

3.14采用寄存器间接寻址方式时,BX、BP、SI、DI分别针对什么情况来使用?这4个寄存器组合间接寻址时,地址是怎样计算的?请举例说明。

解:在寄存器间接寻址方式下,BX和BP作为间址寄存器使用,而SI、DI作为变址寄存器使用。

除BP间址默认的段为堆栈段,其他的都默认为数据段。

它们都可以单独使用,或加上偏移量或组合使用。

如:[BX+n]LBP+n][SI+n][DI+n][BX+SI+n][BX+DI+n][BP+SI+n][BP+DI+n]3.15设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下面两条指令所进行的具体操作:MOVBYTEPTR[BP],200MOVWORDPTR[BX],2000解:前一条指令是把立即数(应是字节)200,传送至堆栈段(BP的默认段〉偏移量由BP规定的字节单元,地址为:52000H+620OH=58200H第二条指令是把立即数.2000,传送至数据段(BX的默认段)偏移量由BX规定的字单元,地址为:21000H+1400H=22400H。

3.16使用堆钱操作指令时要注意什么问题?传送指令和交换指令在涉及内存操作数时应该分别要注意什么问题?解:使用堆栈指令可以把内存单元作为一个操作数(从内存到内存)。

但堆栈固定在堆栈段且只能由SP指向。

且堆栈操作要修改堆核指针。

MOV指令不能实现内存单元间的数据传送。

XCHG指令是交换,有一个操作数必须是寄存器。

3.17下面这些指令中哪些是正确的?哪些是错误的?若是错误的,请说明原因。

(1)XCHG CS, AX(2)MOV[BX], [1000](3)XCHGBX, IP(4)PUSHCS(5)POP CS(6)IN BX, DX(7)MOVBYTE[BX],100O(8)MOVCS, [1000]解:(l)错误,CS不能交换。

(2)错误,MOV指令不能在内存间传送。

(3)错误,IP不能交换。

(4)错误,CS可以作为PUSH指令的操作数。

(5)错误,CS可以作为POP指令的操作数。

(6)错误,IN指令的目的操作数是累加器。

(7)错误,目的操作数是字节单元。

(8〉错误,CS不能作为MOV指令的目的操作数。

3.18 以下是格雷码的编码表,O 00001 00012 00113 00104 01105 01116 01017 01008 1100请用换码指令和其他指令设计一个程序段,以实现由格雷码向ASCII码的转换。

解:MOVBX,TABLEMOVSI,ASCII_TABMOV AL,0MOVCX,10TRAN:XLATTABLEMOVDL,ALADDDL,30HMOV[SI],DLINCALLOOPTRAN3.19使用乘法指令时,特别要注意先判断是用有符号数乘法指令还是用无符号数乘法指令,这是为什么?解:因为有符号数和无符号数,其数的乘法是一样的。

相关文档
最新文档