《微机原理》(第五版)习题解答
第一章 习题解答 (P37)
2、设机器字长为 6 位,写出下列各数的原码、补码、反码和移码。
10101
-10101
11111
-11111
10000
-10000
解: ① [10101]原=[10101]补=[10101]反=010101B
[10101]移=2 -1+010101=11111+10101=110100B
②
[-10101]原=110101B
[-10101]反=101010B
[-10101]补=101011B
[-10101]移=11111-10101=001010B
③
[11111]原=[11111]补= [11111]反=011111B
[11111]移=11111+11111=111110B
④
[-11111]原=111111B
[-11111]反=100000B
[-11111]补=100001B
[-11111]移=11111-11111=000000B
⑤
[10000]原=[10000]补=[10000]反=010000B
[10000]移=11111+10000=101111B
⑥
[-10000]原=110000B
[-10000]反=101111B
[-10000]补=110000B
[-10000]移=11111-10000=001111B
3、利用补码进行加减法运算比用原码进行运算有何优越性?
答: 利用补码进行加减法运算比用原码进行运算的优越性主要
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
现在只用一套加法器电路就可以
进行加减法运算,简化了电路,降低了运算器的成本。
5、设机器字长为 8 位,最高位为符号位,试对下列各算式进行二进制补码运算。
(1)
解:
16+6=?
∵
[16]补=10H
[6]补=06H
∴ [16+6]补=[16]补+[6]补=10H+06H=16H
1
n-1
(2)
解:
8+18=?
∵
[8]补=08H
[18]补=12H
∴
[8+18]补=[8]补+[18]补=08H+12H=1AH
(3) 9+(-7)=?
解:
∵
[9]补=09H
[-7]补=F9H
∴ [9+(-7)]补=[9]补+[-7]补=09H+F9H=02H
(4)
解:
-25+6=?
∵
[-25]补=E7H
[6]补=06H
∴ [-25+6]补=[-25]补+[6]补=E7H+06H=EDH
(5)
8-18=?
[8]补=08H
[-18]补=EEH
∴
(6)
解:
9-(-7)=?
∵
[9]补=09H
[-(-7)]补=07H
∴ [9-(-7)]补=[9]补+[-(-7)]补=09H+07H=10H
(7)
16-6=?
[16]补=10H
[-6]补=FAH
∴
(8)
-25-6=?
解: ∵
[-25]补=E7H
[-6]补=FAH
∴
[-25-6]补=[-25]补+[-6]补=E7H+FAH=E1H
[16-6]补=[16]补+[-6]补=10H+FAH=0AH
[8-18]补=[8]补+[-18]补=08H+EEH=F6H
解: ∵
解: ∵
6、设机器字长为 8 位,最高位为符号位,试用“双高位”法判别下述二进制运算有没有溢出产生。
2
若有,是正溢出还是负溢出?
(1)43+8=51
解:[43]补=2BH
[8]补=08H
0010 1011
+
0000 1000
0011 0011B
++因为 D7CY○D6CY=0○0=0,所以运算结果没有溢出。
(2)-52+7=-45
解:[-52]补=CCH
[7]补=07H
1100 1100
+
0000 0111
1101 0011B
++因为 D7CY○D6CY=0○0=0,所以运算结果没有溢出。
(3)50+84=
解:[50]补=32H
[84]补=54H
0011 0010
+
0101 0100
1000 0110B
++因为 D7CY○D6CY=0○1=1,所以运算结果产生了正溢出。
(4)72-8=64
解:[72]补=48H
[-8]补=F8H
0100 1000
+
1111 1000
0100 0000B
++因为 D7CY○D6CY=1○1=0,所以运算结果没有溢出。
(5)-33+(-37)=-70
解:[-33]补=DFH
3
[-37]补=DBH
1101 1111
+
1101 1011
1011 1010B
++因为 D7CY○D6CY=1○1=0,所以运算结果没有溢出。
(6)-90+(-70)=
解:[-90]补=A6H
[-70]补=BAH
1010 0110
+
1011 1010
0110 0000B
++因为 D7CY○D6CY=1○0=1,所以运算结果产生负溢出。
7、何谓字符串及位串?它们之间有何不同?
答:“字符串”是以字节/字/双字的相邻序列;
例如:
字节串
元素 1
元素 2
元素 3
元素 4
.
.
.
.
字串
元素 1
元素 2
双字串
元素 1
+231-1
位串
-231
:
8、巳知位 bi 及 bj 在位串中的地址(位偏移量)分别为 92 和-88,试求它们各自在位串中的字节地
址及其在所在字节中的位置。
解:bi 的字节索引为 92÷8 取整数商:11;
bi 的位余数为 92 mod 8:4
答:bi 位在 m+11 字节的 D4 位。
解:bj 的字节索引为-88÷8 取整:11;
4
bj 的位余数为-88 mod 8:0
答:bj 位在 m-11 字节的 D0 位。
9、将下列十进制数变为 8421BCD 码:
(1)8069
答:8069 对应的 8421BCD 码为:1000 0000 0110 1001
(2)5324
答:5324 对应的 8421BCD 码为:0101 0011 0010 0100
10、将下列 8421BCD 码表示成十进制数和二进制数:
(1)01111001B
答:(01111001)8421BCD=79=1001111B
(2)10000011B
答:(10000011)8421BCD=83=1010011B
11、写出下列各数的 ASCII 代码:
(1)51
答:51 的 ASCII 代码为:35H31H
(2)7F
答:7F 的 ASCII 代码为:37H46H
(3)AB
答:AB 的 ASCII 代码为:41H42H
(4)C6
答:C6 的 ASCII 代码为:43H36H
第二章
习题解答(P69)
1、8086/8088 CPU 中 BIU 部件和 EU 部件各由哪些部分组成?各自的功能是什么?追踪指令地址的
寄存器是什么?
答:8086/8088 CPU 中 BIU 部件由 4 个段寄存器(CS,DS,ES 和 SS) 个指令指针寄存器(IP)、1、
1 个 20 位地址加法器、1 个指令队列缓冲器(8086 为 6 字节,8088 为 4 字节)和总线控制电路
等组成。主要功能一是从内存中取指令代码送入指令队列缓冲器中;二是响应 EU 的总线请求,
负责与内存或输入/输出接口之间的数据传送;三是在执行转移指令时,BIU 使指令队列缓冲器
复位,从指定的新地址取指令,并立即传给 EU 单元执行。
5
EU 部件由 1 个 16 位 ALU、寄存器组(4 个通用寄存器 AX、BX、CX 和 DX,2 个指针寄存器
BP 和 SP,2 个变址寄存器 DI 和 SI) 个标志寄存器 FLAGS 和执行控制电路(指令译码和时序、1
产生电路等)等组成。其功能一是从指令队列缓冲器中依次取出指令代码、译码并执行;二是
执行含存储器或 I/O 口的指令时,形成存储器操作数的段内偏移地址或 I/O 口地址送 BIU;三是
执行转移、调用、中断指令时通知 BIU 复位指令队列缓冲器,立即从新地址开始取指令代码。
在 8086/8088 CPU 中,追踪指令地址的寄存器是 IP(指令指针寄存器),由 CS:IP 指出要
执行指令的地址。
2、简述堆栈指示器 SP 的功能及堆栈的操作过程。
答:8X86 系列微处理器的堆栈如下图所示:
SS
进栈方向
栈顶
SP
退栈方向
堆栈段
栈底
①堆栈是由内存中按照“先进后出”原则组织起来的一片连续的存储器单元组成;
②SP 作为堆栈指针,始终指向“栈顶”;
③堆栈操作
进栈操作(PUSH)先把 SP-2,再把源操作数存入 SP 所指的字存储器单元;
设(AX)=1020H,执行PUSH
低地址
AX指令如下图所示:
存储区
(SS段)
20
10
(AL)
(AH)
进栈方向
存储区
(SS段)
低地址
-(SP)-2
(SP)-1
(SP)
(SP)
高地址
执行前
(AX)=1020
高地址
执行后
6
出栈操作(POP)先把 SP 所指字单元的内容取到目的操作数,再将 SP+2。
POP BX 的执行示意图如下图所示
存储区
(SS段) 低地址
20
10
(SP)
10
执行前
高地址
存储区
(SS段)
低地址
(SP)
(SP)+1
(SP)+2
20
BX
执行后
(BX)=1020
高地址
7
3、8086/8088 CPU 有哪几个状态标志?哪几个控制标志?各标志的含义和功能是什么?
答:① 8086/8088 CPU 有 6 个状态标志,各标志的含义是:
CF:进位/借位标志,指示加/减法运算中最高位的进/借位状态,有进/借位时 CF 为 1,反之为 0;
PF:奇偶标志,指示算术/逻辑运算结果低 8 位中 1 的个数是奇/偶数,结果中有偶数个 1 时,PF 为 1,
反之为 0;
AF:半进位标志,指示加/减法运算中 D3 位向 D4 位的进/借位状态,有进/借位时 AF 为 1,反之为 0;
ZF:0 标志,指示算术/逻辑运算结果使 ALU 中是否为全 0,ALU 中为全 0 时 ZF 为 1,反之为 0;
SF:符号标志,指示算术/逻辑运算结果最高位的状态,最高位为 1 时 SF 为 1,反之为 0;
OF:溢出标志,指示带符号算术运算结果是否超出其表示范围,用双高位法判断,有溢出时 OF 为 1,反
之为 0;
注意:CF,ZF,SF 和 OF 与操作数的位数有关,80386 支持 8 位,16 位和 32 位运算。
PF 和 AF 与操作数的位数无关。
② 8086/8088 CPU 有 3 个控制标志,各标志的含义是:
TF:单步标志,用来控制 CPU 执行指令的方式,当 TF=1 时,每执行一条指令便产生一次单步中断,当
TF=0 时,连续执行指令;
DF:方向标志,用来控制串操作指令的步进方向,当 DF=1 时,串操作指令从高地址向低地址方向进行,
当 DF=0 时,串操作指令从低地址向高地址方向进行;
IF:可屏蔽中断允许标志,当 IF=1 时,允许响应可屏蔽中断请求,反之则禁止响应。
4、8086/8088 CPU 的存储器组织为什么要采用分段结构?逻辑地址和物理地址的关系是什么?若已知逻
辑地址为 B100H:A300H,试求物理地址。
答:8086/8088 CPU 的存储器组织采用分段结构有以下优点: ①能有效利用 8086/8088 CPU 的 2
个 16 位寄存器和 1 个 20 位地址加法方便的构成 20 位地址,使 8086/8088 CPU 的寻址能力达到 1MB;②
能方便实现不同信息的分类存储(程序代码、数据和堆栈等)和共享;③有利于模块化程序、多道程序
和多用户程序的设计。
逻辑地址是编程者使用的地址,不是程序代码或数据在计算机中的实际地址,而物理地址是系统中
每个存储器单元或 I/O 端口所在的地址,由处理器的地址线状态确定。
逻辑地址必须转换成物理地址才能使用,在 8086/8088 系统中,其转换方法是:
物理地址=段地址×10H+偏移地址
一个逻辑地址只对应一个物理地址。例如本题中:
物理地址=B100H×10H+A300H=BB300H
8
而一个物理地址可以对应多个逻辑地址,例如本题中物理地址 BB300H,可以对应逻辑地址:
B100H:A300H
B000H:B300H
BB00H:0300H
BB30H:0000H
…
这种对应关系有利于存储器单元的共享,但要防止冲突。
7、试判断下列运算执行之后,OF、CF、ZF、SF、PF 和 AF 的状态:
⑴ A400H+7100H
解:
1010 0100 0000 0000
+ 0111 0001 0000 0000
0001 0101 0000 0000
运算后各标志的状态为:OF=0,CF=1,ZF=0,SF=0,PF=1,AF=0
⑵ A323H-8196H
解:
1010 0011 0010 0011
- 1000 0001 1001 0110
0010 0001 1000 1101
运算后各标志的状态为:OF=0,CF=0,ZF=0,SF=0,PF=1,AF=1
⑶ 46H-59H
解: 0100 0110
- 0101 1001
1110 1101
运算后各标志的状态为:OF=0,CF=1,ZF=0,SF=1,PF=1,AF=1
⑷ 7896H-3528H
解:
0111 1000 1001 0110
- 0011 0101 0010 1000
0100 0011 0110 1110
运算后各标志的状态为:OF=0,CF=0,ZF=0,SF=0,PF=0,AF=1
9
若把该题改为“+”运算,即:7896H+3528H,则运算结果 OF=1
解:
0111 1000 1001 0110
+ 0011 0101 0010 1000
1010 1101 1011 1110
运算后各标志的状态为:OF=1,CF=0,ZF=0,SF=1,PF=1,AF=0
10、80386 CPU 有哪几种工作方式?各有何特点?
答:80386 CPU 有 3 种工作方式。各方式的主要特点是:
①在实地址方式,80386 只能寻址 1MB 物理地址空间,相当于一个高速 8086 CPU;
②在虚地址保护方式,80386 可寻址 4GB 物理地址空间和 64TB 虚地址空间,对内存采用分段和分页管理
方式,更好地兼顾了程序设计的逻辑性和内存管理的高效灵活两者的矛盾。
③在虚拟 8086 方式,8086 的程序可以在保护方式的基础上作为任务加以执行,实现多个用户程序同时
运行。
11、80386 寄存器集由哪些寄存器组成?它们的功能和特点是什么?
答:80386 内部寄存器的组成和主要特点归纳如下:
①通用寄存器
寄存器位定义
1F …
EAX
EBX
ECX
EDX
ESI
EDI
EBP
ESP
10
0F … 08
AH
BH
CH
DH
SI
DI
BP
SP
07 … 00
AL
BL
CL
DL
②其它寄存器
寄存器位定义
1F
…
10
0F … 08
07 … 00
10
指令指针
标志寄存器
EIP
EFLAGS
CR0
CR1
CR2
CR3
DR0
DR1
DR2
DR3
DR4
DR5
DR6
DR7
TR6
TR7
保留
IP
FLAGS
MSW
页故障线性地址
页目录基地址
线性断点地址 0
线性断点地址 1
线性断点地址 2
线性断点地址 3
Intel 保留
Intel 保留
断点状态
断点控制
测试控制(命令)
测试状态(数据)
段寄存器
描述符高速缓存器
15
CS
DS
ES
SS
FS
GS
0
11
0 31
0
19
0
选择器
属性
基地址
边界
系统地址寄存器
15
LDTR
TR
0
11
0 31
描述符高速缓存器
0
19
0
选择器
属性
基地址
边界
11
31
GDTR
IDTR
线性基地址
0
19
0
边界
13、何谓 CISC 技术和 RISC 技术?各有何特点?各自的代表产品是什么?
答:所谓 CISC 技术,是指采用“复杂指令集计算机”技术设计的微处理器体系结构;其主要特点是:
采用变长指令编码,寻址方式多,指令功能丰富,采用微程序控制,各指令执行时间相差很大,目的在
于提高编程效率和内存利用率,其主要代表产品如 Intel 80X86 系列,Zilog Z80 和 Motorola 68K 系
列等。
所谓 RISC 技术是指采用“精简指令集计算机”技术设计的微处理器体系结构;其主要特点是:采
用定长指令编码,寻址方式多,指令条数少且很规整,采用硬布线控制,目的在于更多地使用流水线技
术,提高取指令和
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
指令的效率,使各指令执行时间相差很小,多数为单周期指令,大大简化了微处
理器的结构,降低了成本,提高了速度,其主要代表产品如
APPLE、IBM 和 Motorola 的 PowerPC 微处理器
SGI/MIPS 的 R2000,R3000 等
IBM 的 Power 微处理器
SUN 的 SPARC 微处理器
12
第三章习题解答(P118)
1、指出下列指令中源操作数和目的操作数的寻址方式:
;目的操作数
⑴ MOV
⑵ MOV
⑶ MOV
⑷ MOV
⑸ AND
⑹ PUSH
⑺ POP
⑻ MOV
⑼ IMUL
⑽ JMP
SI,1000
BL,AL
[SI],1000
BP,[BX]
DL,[BX+SI+20H]
DS
AX
;寄存器寻址
;寄存器寻址
;寄存器间接寻址
;寄存器寻址
;寄存器寻址
;SP 寄存器间接寻址
;寄存器寻址
源操数
立即数寻址
寄存器寻址
立即数寻址
寄存器间接寻址
相对的基址加变址寻址
寄存器寻址
SP 寄存器间接寻址
相对的寄存器间接寻址(286 扩展指令)
EAX,COUNT[EDX] ;寄存器寻址
AX,BX,34H
FAR PTR
LABEL
;寄存器寻址,寄存器寻址,立即数寻址(286 扩展指令)
;段间直接转移
2、指出下列指令语法是否正确,若不正确请说明原因。
⑴ MOV
⑵ MOV
⑶ XCHG
⑷ OUT
⑸ MOV
⑹ MOV
⑺ MOV
⑻ MOV
⑼ AND
⑽ MOV
⑾ MOV
⑿ MOV
⒀ IN
DS,0100H
BP,AL
AX,2000H
310H,AL
BX,[BX]
ES:[BX+DI],AX
AX,[SI+DI]
;× ,段寄存器不能直接赋立即数。
;×,操作数类型不匹配
;×,立即数不能用于交换指令
;×,端口直接寻址不能超出 00-FFH
;√
;√
;×,不能同时用两个变址寄存器间接寻址
SS:[BX+SI+100H],BX ;√
AX,BL
DX,DS:[BP]
[BX],[SI]
CS,[1000]
AL,BX
;×,操作数类型不匹配
;√
;×,不能用 MOV 指令直接在存储器单元间传送数据
;×,不能用 MOV 指令向 CS 寄存器写入数据
;×,不能用 BX 作为寻址 I/O 的指针
3、设(DS)=2000H,(BX)=1256H,(SI)=528FH,偏移量=20A1H,[232F7H]=3280H,
[264E5H]=2450H。若独立执行下列指令后,请给出对应 IP 寄存器的内容。
⑴ JMP BX ;
13
答:执行该指令将(BX)送 IP,所以,执行后(IP)= 1256H。
⑵ JMP [BX][SI];
答:执行该指令将 DS 段由(BX)+(SI)所指字单元的内容送 IP。
因为 2000H×10H+(1256H+528FH)=264E5H,所以,执行后(IP)=2450H。
补充:JMP [BX+20A1H];
答:该指令执行后 (IP)=3280H
6、有如下程序:
MOV
ADD
DAA
MOV
MOV
ADC
DAA
MOV
BH,AL
BL,AL
AL,19H
AL,12H
AL,45H
AL,71H
执行后 (BX)=?,标志位(PF)=?和(CF)=?
答:该程序执行时,各相关寄存器和标志位的变化过程如下:
MOV
ADD
DAA
MOV
MOV
ADC
DAA
MOV
BH,AL
BL,AL
AL,19H
AL,12H
AL,45H
AL,71H
;(AL)=45H
;(AL)=B6H,(PF)=0,(CF)=0
;(AL)=16H,(PF)=0,(CF)=1
;(BL)=16H
;(AL)=19H
;(AL)=2CH,(PF)=0,(CF)=0
;(AL)=32H,(PF)=0,(CF)=0
;(BH)=32H
45H
+ 71 H
B6H
+60
116
19H
12H
+1
2CH
+ 0 6H
32H
执行后(BX)=3216H,标志位(PF)=0,(CF)=0
7、执行下列程序段,指出此程序段的功能。
⑴
MOV
LEA
LEA
CX,10
SI,First
DI, Second
REP MOVSB
14
答:该程序段的功能是将存于 DS:First 开始的 10 个字节的内容传送到 ES:Second 开始的 10 个字节单
元中。
⑵
CLD
LEA
DI,[0404H]
MOV CX,0080H
XOR
REP
AX,AX
STOSW
答:该程序段的功能是在 ES:0404H 单元开始,依次填入 80H 个字的 0。(即 ES:0404H——ES:0503H
共 256 个字节单元清 0)
8、试用指令实现:
⑴ AL 寄存器低 4 位清 0;
答:AND AL,0F0H;
⑵ 测试 DL 寄存器的低 2 位是否为 0,若是,则将 0 送入 AL 寄存器;否则将 1 送入 AL 寄存器。
答:TEST DL,03H
JZ
z
MOV AL,1
JMP ABC
Z:
MOV AL,0
ABC: ...
第四章
2、有下列数据段:
DATA SEGMENT
MAX EQU 03F9H
习题解答(P195)
VAL1 EQU MAX MOD 0AH
VAL2 EQU VAL1*2
BUFF DB 4,5,‘1234’
BUF2 DB ?
LEND EQU BUF2-BUFF
DATA ENDS
请写出数据段中 MAX,VAL1,VAL2,LEND 符号所对应的值。
15
答:上述程序的数据段中
MAX=03F9H,VAL1=03F9H MOD 0AH=7,VAL2=VAL1*2=7*2=0EH,LEND=BUF2-BUFF=0006-0000=0006H
标号
BUFF
段内偏移地址
0000
0001
0002
0003
0004
0005
数据
04
05
31
32
33
34
00
备注
‘1’
‘2’
‘3’
‘4’
BUF2
0006
…
3、设下列指令语句中的标识符均为字变量,请指出哪些指令是非法的,并指出其错误之处。
⑴MOV WORD1 [BX+2][DI],AX
⑵MOV AX,WORD1[DX]
⑶MOV WORD1,WORD2
⑷MOV SWORD,DS
⑸MOV SP,DWORD[BX][SI]
⑹MOV [BX][SI],CX
⑺MOV AX,WORD1+WORD2
⑻MOV AX,WORD2+0FH
⑼MOV
BX,0FFSET WORD1
;√
;×,DX 不能作为寻址内存的指针。
;×,内存储器单元之间不能直接传送。
;√
;×,DWORD 是保留字
;√
;×,两个变量不能直接相加
;√
;√
;×,OFFSET 后应跟变量或标号
⑽MOV SI,OFFSET WORD2[BX]
9、巳知 X,Y,Z 被赋值如下:
X EQU 60
Y EQU 70
Z EQU 8
试求下列表达式的值:
⑴X * Y-Z
16
⑵X/8+Y
⑶X MOD (Y/Z)
⑷X *(Y MOD 2)
⑸X GE Y
⑹Y AND Z
解:
⑴ X * Y-Z = 60*70-8=4192=1060H
⑵ X/8+Y
=77.5=4DH
⑶ X MOD (Y/Z)=4
⑷ X *(Y MOD 2)=0
⑸ X GE Y =0
⑹ Y AND Z =0
10、设有一个有符号数组,共 M 个字,试编写一程序求其中最大的数,若需求绝对值最大的数,程序
应如何修改?又若数组元素为无符号数,求最大数的程序应如何修改?
解:⑴在有符号数组中找出最大数的程序
data segment
m equ 10
dat dw m dup(?)
max dw ?
data ends
code segment
assume cs:code,ds:data
main proc far
start:mov ax,data
mov ds,ax
mov
ax,dat
mov max,ax
cld
lea si,dat
mov cx,m
l1:
lodsw
17
cmp ax,max
jng lab
mov max,ax
lab:
loop l1
mov ah,4ch
int 21h
main endp
code ends
end start
⑵在有符号数组中找出绝对值最大数的程序
在 LODSW 指令后插入:
And ax,ax
Jns lab1
Neg ax
lab1: cmp ax,max
初始化时,(MAX)=0(最小的绝对值)
⑶在无符号数组中找出最大数的程序
把条件判断指令:
Jng lab
改为:jbe
lab
12、设有两个等字长、字节型字符串,试编写一汇编子程序,比较它们是否完全相同;若相同则将字
符 Y 送入 AL 中,否则将字符 N 送入 AL 中。
解:根据题意编写程序:
data segment
str1 db 'aSdas'
str2 db 'asdas'
data ends
code segment
assume cs:code,ds:data
18
start : mov ax,data
mov ds,ax
mov es,ax
lea si,str1
lea di,str2
mov cx,5
repz cmpsb
jnz labne
mov al,'Y'
jmp exit
labne:mov al,'N'
exit:mov ah,4ch
int 21h
code ends
end start
第五章
习题解答(P233)
⒈ 已知 8086 CPU 中当前段寄存器的基地址(DS)=021FH,(ES)=0A32H,(CS)=234EH,则上述各段在
存储器空间中物理地址的首地址号及末地址号是什么?
解:根据题意,各段的首末地址分别是:
DS 段首地址:021FH*10H+0=021F0H,末地址:021FH*10H+0FFFFH=121EFH
ES 段首地址:0A32H*10H+0=0A320H,末地址:0A32H*10H+0FFFFH=1A31FH
CS 段首地址:234EH*10H+0=234E0H,末地址:234EH*10H+0FFFFH=334DFH
⒉ 假若 8086 CPU 中,(CS)=234EH,已知物理地址为 25432H,若(CS)的内容被指定成 1A31H,则物
理地址应为什么地址号?
解:先根据题意求段内偏移地址 25432H-234E*10H=1F52H;
当(CS)的内容变为 1A31H 时,则物理地址应为:1A31H*10H+1F52H=1C262H
⒌ 在 8086 中,堆栈操作是字操作,还是字节操作?已知( SS)=1050H,(SP)=0006H,(AX)=1234H。
若执行对 AX 的压栈操作(即执行 PUSH AX),操作后则(AX)存放在何处?并指出执行此操作时 8086
输出的状态信息是何种编码,总线信号哪些应有效?
19
解:在 8086 中,堆栈操作是字操作;
在题目所给条件下执行 PUSH AX 后,(SP)=(SP)-2=0004H,(AX)的内容存在内存物理地址
1050H*10H+0004H=10504H 字单元中;
在 PUSH AX 指令时,8086 输出的状态信息为:S0S1S2=110(写内存),S4S3=01(访问堆栈段),
S5=0,禁止可屏蔽中断,S6=0,8086 与总线相连;
总线信号中:WR#、BHE#/S7 为低电平,RD#、M/IO#、DT/R#为高电平。
⒍ 试指出 8086 和 8088 CPU 有哪些区别。
解:8086 与 8088 CPU 的主要区别有:
内部:指令队列长度 8086 为 6 字节,8088 为 4 字节;
外部引脚:8086 的 M/IO#引脚,在 8088 中为 IO/M#,
8086 的 AD0-AD15 引脚为地址数据复用,而 8088 只有 AD0-AD7 为地址数据复用;
8086 的 BHE#/S7 引脚高字节数据有效和状态 S7,而 8088 为 SS0#。
20