微机答案版

发布 2022-09-04 22:13:28 阅读 7560

2.1 3在8086/8088 cpu中,标志寄存器包含哪些。

标志位?各位为0(为1)分别表示什么含义?

解:(略),见书第49页。

2.14 8086/8088 cpu中,有哪些通用寄存器和专。

用寄存器?说明它们的作用。

解:通用寄存器包含以下8个寄存器:

ax、bx、cx和dx寄存器一般用于存放参与运。

算的数据或运算的结果。除此之外:

ax:主要存放算术逻辑运算中的操作数,以及存。

放i/o操作的数据。

bx:存放访问内存时的基地址。

cx:在循环和串操作指令中用作计数器。

dx:在寄存器问接寻址的l/o指令中存放i/o地址。

在做双字长乘除法运算时,dx与ax合起来存。

放一个双字长数。

sp:存放栈顶偏移地址。

bp:存放访问内存时的基地址。

sp和bp也可以存放数据,但它们的默认段寄。

存器都是ss。

s1:常在变址寻址方式中作为源地址指针。

d1:常在变址寻址方式中作为目标地址指针。

专用寄存器包括4个段寄存器和两个控制寄存器:

cs:**段寄存器,用于存放**段的段基地址。

ds:数据段寄存器,用于存放数据段的段基地址。

ss:堆栈段寄存器,用于存放堆栈段的段基地址。

es:附加段寄存器,用于存放附加段的段基地址。

ip:指令指针寄存器,用于存放下一条要执lz--¨日t。令。

的偏移地址。

flags:标志寄存器,用于存放运算结果的特征。

2.15 8086/8088系统中,存储器为什么要分段?一个。

段最大为多少个字节?最小为多少个字节?

解:分段的主要目的是便于存储器的管理,使得可以。

用l6位寄存器来寻址20位的内存空间。一个段最大为。

64kb,最小为l68。

2.1 6在8086/8088 cpuqa,物理地址和逻辑地址是指。

什么?已知逻辑地址为1f00:38aoh,如何计算出其。

对应的物理地址?

解:物理地址时cpu存取存储器所用的地址。逻辑地。

址是段和偏移地址形式的地址,即汇编语言程序中使。

用的存储器地址。

若已知逻辑地址为lf00:38aoh,则对应的物。

理土l乜匀e=lf00h x l6+38aoh=228aoh。

2.17已知存储器物理地址为78a00i-1,计算出它所对。

应的逻辑地址。此结果惟一吗?

解:物理地址可以对应于不同的逻辑地址。78a00h对。

应的逻辑地址可以是7000h:8a00h,7800h:0a00h

78aoh:0000h等。结果不是惟一的。

2.18设当前数据段位于存储器的a8000h~b7fffh,ds段寄存器的内容应是什么?

解:因为a8000h到b7fffh之间的地址范围大小为。

64kb,未超出一个段的最大范围。故要访问此地址范。

围的数据,数据段的起始地址(即段首地址)应为。

a8000h,则ds段寄存器为a800h。

2.19若cs=8000h,则当前**段可寻址的存储空间。

的范围是多少?

解(cs)=8000h时,当前**段可寻址的存储空问范。

围为80000h-8ffffh。

第3章8088/8086指令系统。

3.1什么叫寻自k方式?8086/8088cpu共有哪几种寻址。

方式?解:寻址方式主要是指获得操作数所在地址的方法.

8086/8088cpu具有:立即寻址、直接寻址、寄存器。

寻址、寄存器间接寻址、寄存器相对寻址、基址一。

变址寻址、基址一变址一相对寻址以及隐含寻址等8

种寻址方式。

3.2设(ds)=6000h, (es)=2000h, (ss)=1500h,si)=00aoh,(bx)=0800h,(bp)=1200h,数据变。

量var为0050h.请分别指出下列各条指令源操作。

数的寻址方式?它的物理地址是多少?

争。1)mov ax,bx

3)mov ax,var

5)mov al,’8’

7)mov dx,[bp]

解:2)mov dl,80h

4)mov ax,var[bx][si]

6)mov dl,es:[bx]

8)mov bx,20h[bx】

(1)寄存器寻址。因源操作数是寄存器,故寄存器bx就。

是操作数的地址.

(2)立即寻址。操作数80h存放于**段中指令码mov

之后。(3)直接寻址。

(4)基址一变址一相对寻址.

操作数的物理地址=(ds)×l6+(si)+(bx)+var

=60000h+ooaoh+0800h+0050h=608foh

5)立即寻址。

6)寄存器间接寻址。

操作数的物理地址=(es)*16+(bx)

20000h+0800h=20800h

(7)寄存器间接寻址。

操作数的物理地址=(ss)*16+(bp)

15000h+1200h=16200h

8)寄存器相对寻址。

操作数的物理地址=(ds)*16+(bx)+20h

60000h+0800h+20h=60820h

3.6指出下列指令的错误:

1)movah,cx (2)mov 33h,al

3)mov ax,[sl】[d1】 (4)mov【bx],[s1】

5)add byte ptr[bp],256 (6)mov data[s|],es:ax

7)jmp byte ptr[bx] (8)out 230h,ax

9)mov ds,bp (10)mul 39h

解:(1)指令错。两操作数字长不相等。

(2)指令错。mov指令不允许目标操作数为立即数.

(3)指令错。在间接寻址中不允许两个间址寄存器同时为变址寄。

存器。(4)指令错。muv指令不允许两个操作数同时为存储器操作数。

(5)指令错。add指令要求两操作数等字长。

(6)指令错。源操作数形式错,寄存器操作数不加段重设符。

(7)指令错。转移地址的字长至少应是16位的。

(8)指令错。对输人输出指令,当端l:3地址超出8位二进制数的表。

达范围(即寻址的端13超出256个)时,必须采用间接寻址。

(9)指令正确。

(10)指令错。mul指令不允许操作数为立即数。

3.7已知(al)=7bh,(bl)=38h,试问执行指令add al,bl后,af、

cf、of、pf、sf和zf的值各为多少?

解:af=1,cf=0,of=1,pf=0,sf=1,zf=0

3.8试比较无条件转移指令、条件转移指令、调用指令和中断指令。

有什么异同?

解:无条件转移指令的操作是无条件地使程序转移到指定的目标。

地址,并从该地址开始执行新的程序段,其转移的目标地址既可以。

是在当前逻辑段,也可以是在不同的逻辑段;条件转移指令是在满。

足一定条件下使程序转移到指定的目标地址,其转移范围很小,在。

当前逻辑段的.128~+127地址范围内。

调用指令是用于调用程序中常用到的功能子程序,是在程序设计。

中就设计好的。根据所调用过程人口地址的位置可将调用指令分为。

段内调用(入口地址在当前逻辑段内)和段问调用。在执行调用指。

令后,cpu要保护断点。对段内调用是将其下一条指令的偏移地址。

压人堆栈,对段间调用则要保护其下一条指令的偏移地址和段基地。

址,然后将子程序人口地址赋给ip(或cs和ip).

3.1 1分别指出以下两个程序段的功能:

mov cx.10 cld

lea sl,first lea dl,[1 200h]

lea dl.second mov cx.0fooh

std xor ax.ax

rep movsb rep stosw

解:(1)该段程序的功能是:将数据段ttlfirst为最高地址的l0个字节。

数据按减地址方向传送到附加段second为最高地址的向前l0个单。

元中。(2)将附加段中偏移地址为l200h单元开始l堑jofooh个字单元清o。

3.12执行以下两条指令后,标志寄存器flagsl'|"j六个状态位各为。

什么状态?mov ax.84aoh

add ax.9460h

解:执行add指令后,6个状态标志位的状态分别为: .

在两个l6位数进行加法运算时,对cf、zf、sf和of会产。

生影响,但刑’pf和iaf标志位,只有其低8位的运算影响它们的状态。

各标志位的状态分别为:af=0,pf=1,cf=1,zf=0,sf=0,of=1。

#}+46n1.38分别乘以2,可应用什么指令来完成?如果除以2

呢?解:因为对二进制数,每左移一位相当于乘以2,右移一位相当。

于除以2。所以,将+46平il.38分别乘以2,可分别用逻辑左移指令。

shl)$11算术左移指令(sal)完成。shl指令针对无符号数,sal

指令针对有符号数。

当然,也可以分别用无符号数乘法指令mul和有符号数乘法。

指令imul完成。

如果是除以2,则进行相反操作,即用逻辑右移指令shr或无符。

号数除法指令div实现+46除以2的运算,用算术右移指令sar或。

有符号数除法指令idiv实现一38除以2的运算。

3.14已矢hax=8060h.dx=03f8h,容为40h;port2的地址是84h,执行后的结果。

端口portl的地址是48h,内。

内容为85h。请指出下列指令。

1)out dx,al

2)in al,porti

3)out dx,ax

4)in ax,48h

5)out port2,ax

解:1)将60h输出到地址为03f8h的端el中。

2)从portl读入一个字节数据,执行结果:(al)=40h。

3)将ax=8060h输出到地址为03f8h的端口中。

4)由48h端口读人l6位二进制数。

第4章汇编语言程序设计。

4.i请分别jhdb、dw、dd伪指令’;lh'竹炎型、‘}类型及砹‘}型.其定义形式为。

微机原理答案

1.串行通信与并行通信的主要区别是什么?各有优缺点?答 按信息的传送方式可将数据通信分为并行通信与串行通信两种 并行通信 是指利用多条数据传输线将一个数据的各位同时进行传送。特点 传输速度快,适用于短距离通信。串行通信 是指利用一条传输线将数据的各位一位位地顺序进行传送。串行通信又可分为异步通信和同...

一微机答案

一 答案 二 答案 1.2 5 2.3 5 顺序可以换。三 答案。存储程序控制 当前 段内下一条要执行指令的偏移量 相加和移位 全局描述符表和中断描述符表局部描述符表和任务状态 可屏蔽 不可屏蔽中断 ax 0cfh 1200h 0100h 0200h 总线请求和仲裁阶段寻址阶段数据传送阶段结束阶段 ...

微机原理答案

第3章 8086 8088指令系统与寻址方式习题。3 3 8086系统中,设ds 1000h,es 2000h,ss 1200h,bx 0300h,si 0200h,bp 0100h,var的偏移量为0600h,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。1...