(2)40h17h(3)2000h4500h(4)B821h4567h120、8086有哪4种逻辑段,各种逻辑段分别是什么用途?(解答)代码段(CodeSegme
t)用来存放程序的指令序列。处理器利用CSIP取得下一条要执行的指令堆栈段(StackSegme
t)确定堆栈所在的主存区域。处理器利用SSSP操作堆栈中的数据数据段(DataSegme
t)存放当前运行程序所用的数据。处理器利用DSEA存取数据段中的数据附加段(ExtraSegme
t)是附加的数据段,也用于数据的保存。处理器利用ESEA存取数据段中的数据
第二章8086指令系统
21已知DS=2000H、BX0100H、SI0002H,存储单元20100H20103H依次存
放12345678H,21200H21203H依次存放2A4CB765H,说明下列每条指令执行
完后AX寄存器的内容。
(1)movax1200h
AX=1200h
(2)movaxbx
AX=0100h
(3)movax1200h
AX=4C2Ah
(4)movaxbx
AX=3412h
(5)movaxbx1100h
AX=4C2Ah
(6)movaxbxsi
AX=7856h
(7)movaxbxsi1100hAX=65B7h
22指出下列指令的错误
第2页共29页
f1movcxdl
两操作数类型不匹配
2movipaxIP指令指针禁止用户访问
3moves1234h立即数不允许传给段寄存器
4movesds
段寄存器之间不允许传送
5moval300
两操作数类型不匹配
6movspax
目的操作数应为BP
7movaxbxdi源操作数应为BXDI
8mov20hah
立即数不能作目的操作数
23已知数字09对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、
11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。请为如下程
序段的每条指令加上注释,说明每条指令的功能和执行结果。
leabxtable;获取table的首地址,BX=200H
moval8;传送欲转换的数字,AL=8
xlat;转换为格雷码,AL=12H
24什么是堆栈,它的工作原则是什么,它的基本操作有哪两个,对应哪两种指令?
堆栈是一种按“先进后出”原则存取数据的存储区域。
堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。
25已知SSFFA0H、SP00B0H,画图说明执行下面指令序列时,堆栈区和SP的内
容如何变化?
movax8057h
pushax
movax0f79h
pushaxpopbxpopbx
bx0f79hDS0f79h8057h
第3页共29页
f26给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态:
moval89hAL89hCFZFSFOFPF
addalal
AL12h10011
addal9dh
AL0afh00101
cmpal0bchAL0afh10101
subalal
AL00h01001
decal
AL0ffh00101
i
cal
AL00h01001
27设X、Y、Z均为双字数据,分别存放在地址为X、X2;Y、Y2;Z、Z2的
存储单元中,它们的运算结果存入W单元。阅读如r