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...