3-17:设初值 AX=6264H, CX=0004H, 在执行下列程序段后,AX = ?
AND AX, AX --- AX = 6264H JZ DONE
--- ZF = 0 ,顺序执行程序
SHL CX, 1 --- CX = 0008H ROR AX, CL
--- AX = 6462H
DONE: OR AX, 1234H 11
--- AX = 7676H
习题四
4-3:已知一数组语句定义为:
ARRAY DW 100 DUP(567H,3DUP(?)),5678H
请指出下列指令执行后,各个寄存器中的内容是什么?
MOV BX, OFFSET ARRAY --- BX = ARRAY的偏移地址
MOV CX, LENGTH ARRAY --- CX = 100 MOV SI, 0 --- SI = 0
ADD SI, TYPE ARRAY --- SI = 2
4-5:下列程序段执行后,寄存器AX、BX和CX的内容分
别是多少?
ORG 0202H DW 20H MOV
AX,
DA_WORD
DA_WORD
---- AX=0020H
MOV
BX,
OFFSET DA_WORD
---- BX=0202H
BYTE PTR DA_WORD
MOV
CL,
----CL=20H
TYPE DA_WORD
MOV
CH,
----CH=2
12
4-9:某程序设置的数据区如下:
DATA SEGMENT DB1 DB 12H,34H,0,56H DW1 DW 78H,90H,0AB46H,1234H ADR1 DW DB1 ADR2 DW DW1 AAA DW $-DB1 BUF DB 5 DUP(0) DATA ENDS 画出该数据段内容在内存中的存放形式(要求用十六进制补码表示,按字
节组织)。
DB1 12H DS:0000H 34H 00H 56H DW1 78H 00H 90H 00H 46H
ABH
34H
12H 00H ADDR1
00H 04H ADDR2
00H AAA 10H 00H BUF 00H 00H 00H 00H 00H
13
4-10:分析下列程序:
A1 DB 10 DUP(?)
A2 DB 0,1,2,3,4,5,6,7,8,9 . . .
MOV CX, LENGTH A1 ------ CX = 10 MOV SI, SIZE A1 – TYPE A1 ------ SI = 9
LP: MOV AL, A2[SI] ------ AL= 9,8,7,6,5,4,3,2,1,0 MOV A1[SI], AL ------ A1[SI] = 9,8,7,6,5,4,3,2,1,0 SUB SI, TYPE A1 ------ SI = 8,7,6,5,4,3,2,1,0 DEC CX ----- CX = 9,8,7,6,5,4,3,2,1,0 JNZ LP HLT
(1) 该程序的功能是什么?
(2) 该程序执行后,A1单元开始的10个字节内容是什么?
答:(1)该程序是将数据区A2的数据逆序复制到数据区A1中;
(2)该程序执行后,A1单元开始的10个字节内容是:0,1,2,3,4,5,6,7,8,9
4-11:假设BX=45A7H,变量VALUE中存放的内容为78H,下列各条指令单独执行后BX=?
14
(1)XOR BX, VALUE ------ BX=45DFH (2) SUB BX, VALUE ------ BX=452FH (3) OR BX, VALUE ------ BX=45FFH (4) XOR BX, 0FFH (5) AND BX, 00H
------- BX=4558H ------- BX=0000H
(6) TEST BX, 01H ------ BX=45A7H
习题五
5-2: 常用的地址译码方式有几种?各有哪些特点?
答:地址译码方式有两种:
(1)单译码方式(字结构)
它的全部地址码只用一个地址译码器电路译码,译码输出的字选择线直接选中与输入地址码对应的存储单元。 (2)双译码方式(重合译码) 它将地址码分为X与Y两部分,用两个译码电路分别译码,X
向译码又称行译码,其输出线称行选择线,它选中存储矩阵中一行的所有存储单元;Y向译码又称列译码,其输出线称列选择线,它选中存储矩阵中一列的所有存储单元,只有X向和Y向的选择线同时选中的那一位存储单元,才能进行读或写操作。
5-4: 设有一个具有13位地址和8位字长的存储器,试问:
(1)存储器能存储多少字节信息? 2
13
字节=8K字节;
(2)如果存储器由1K × 4位RAM芯片组成,共计需要多少芯片? 8K × 8 = (1K × 8) × 8
= (1K × 4 × 2) × 8 = (1K × 4) × 2× 8 = (1K × 4) × 16 =16片
位扩展 字扩展
(3)需要用那几个高位地址作为片选译码来产生芯片选择信号?
13位地址线中,A0---A9同时与16片1K × 4位RAM芯片的
A0---A9地址线相连,A10,A11,A12这三根高位地址线作为片选译码来产生选择信号,其中每一条译码选择线同时连接作为位扩展的两片1K × 4位RAM芯片的片选线。
5-5: 下列RAM芯片各需要多少条地址线进行寻址?需要多少条数据I/O线?
(1) 512 × 4位 = 2
(2) 1K × 4位 = 2
9
× 4位 需9条地址线,4条数据I/O线;
10
× 4位 需10条地址线,4条数据I/O线; × 8位 需10条地址线,8条数据I/O线; × 1位 需11条地址线,1条数据I/O线;
15
(3) 1K × 8位 = 2
(4) 2K × 1位 = 2
10
11
(5) 4K × 1位 = 2
12
× 1位 需12条地址线,1条数据I/O线; × 4位 需14条地址线,4条数据I/O线; × 1位 需16条地址线,1条数据I/O线; × 4位 需18条地址线,4条数据I/O线;
(6) 16K × 4位 = 2
14
(7) 64K × 1位 = 2
16
(8) 256K × 4位 = 2
18
5-6: 分别用1024 × 4位和4K × 2位芯片构成64K的随机存取存储器,各
需多少片?
答: 64K = 2KB = 2
= 2
64K = 2KB = 2
= 2
12 16
16
10 16
16
× 8位 = (2
6
10
×2)× (4×2)位
6
×4位×2×2 = (1024 × 4位)× 128片
12
4
× 8位 = (2×2)×(2×4)位
4
×2位×2×4 = (4K × 2位)× 64片
5-15: 什么是存储器的分层结构?并简要说明其特点。
答: 存储器的层次结构主要为Cache—主存和主存—辅存这两个存储
层次上;
Cache—主存在存储系统中主要是提高CPU的访问速度,使访问容
量接近主存,访问速度接近Cache;
主存—辅存在存储系统中主要是扩大存储器的容量,使访问容量
接近辅存,访问速度接近主存。
16