当前位置:
文档之家› 微机原理部分习题解答和复习重点(2013年秋)
微机原理部分习题解答和复习重点(2013年秋)
MEMW
MEMR
D0~D7 A0~A10
6116
R / W CS
OE
408~00H 40FFFH
D0~D7 A0~A10
MEMW
D0~D7 A0~A10
6116
R / W CS
400~00H 407FFH
MEMR
OE
8088
系统总线 MEMW
MEMR
&
G1
Y0
A18
1
Y1 G2A
A19
A17
≥1
A16 A15
6264 D0~D7 A0~A12
OE CS1 WE CS2
+5v
6264 D0~D7 A0~A12
OE CS1 WE CS2
+5v
≥1
≥1
≥1
≥1
74LS138 & G1
G2A
&
G2B Y4
C B
Y5
A
700~00H 73FFFH
740~00H 77FFFH
P243 习题 5.13、5.14 1. E2PROM 98C64A (8K×8bit),连接到8088系统总
G2B
A14
A13 A12
C B
A11
A
74LS138
【程序】方法1:用串操作指令
TESTP: MOV MOV MOV MOV MOV CLD REP
DX,4000H ES,DX DI,0 CX,1000H AL,55H
STOSB
; 串操作: DS:SI→源串
;
ES:DI→目的串
; 4K次
; DF=0,DI自增 ; AL→ES:DI,4K次,DI自增
5
P134 习题
3.6 在DATA1为首地 址的内存区域中顺 序存放着以ASCII 码表示的十进制千 位数,现欲将其转 换成二进制数,试 编写程序实现之。
MOV BL,[SI] AND BL,0FH MOV AH,0 MOV AL,BL ADD DX,AX ……
;个位
PROGM: MOV DX,SEG DATA1 MOV DS,DX MOV BH,0 MOV SI,OFFSET DATA1 MOV DX,0 MOV BL,[SI+3] ;千位 AND BL,0FH MOV AX,1000 MUL BX ADD DX,AX MOV BL,[SI+2] ;百位 AND BL,0FH MOV AL,100 MUL BL ADD DX,AX MOV BL,[SI+1] ;十位 AND BL,0FH MOV AL,0AH MUL BL ADD DX,AX
WRT: MOV
DX,4000H DS,DX AL,55H SI,0 CX,1000H [SI],AL
; 初始化数据段寄存器 ; 要写入的数据:55H ; 段内偏移(地址指针) ; 循环4K次 ; 写数据
INC SI
LOOP WRT
MOV SI,0
MOV CX,1000H CHK: CMP [SI],AL
的十进制数,并按
位数高低顺序存放 GOON: 在ANSWER为首 地址的内存区域中。
MOV [DI],3030H
MOV [DI+2],30H
CMP AX,0
JE NEXT
DIV BL
;BL=10
OR AH,30H ;AH:余数
MOV [DI],AH
MOV AH,00H
INC DI
JMP GOON NEXT: ……
方法1: 使用常规指令
START: MOV DX,4000H MOV DS,DX MOV SI,0 MOV CX,0C000H MOV AL,55H
GOON1: MOV [SI],AL INC SI LOOP GOON1 MOV SI,0 MOV CX,0C000H
GOON2: CMP [SI],AL JNE ERROR INC SI LOOP GOON2 MOV AL,7EH JMP STOP
MOV DI,0 MOV CX,1000H MOV AL,55H REPE SCASB JCXZ GOOD
; 4K次 ; AL与ES:DI比较;ZF=1、CX≠0重复
MOV DL,01H
JMP STOP
GOOD: MOV DL,0EEH STOP: ……
17
【程序】方法2:用LOOP循环
TESTP: MOV MOV MOV MOV MOV
立即寻址 寄存器寻址 寄存器间接寻址 直接寻址 寄存器相对寻址 寄存器相对寻址
3
P134 习题 3.2 若1KB的数据存放在TABLE以下,试编程序将该数
据块搬到NEXT为首地址的内存区域中。
① 利用串操作指令。
② 不用串操作指令。
START: MOV DX,SEG TABLE MOV DS,DX MOV SI,OFFSET TABLE MOV DX,SEG NEXT MOV ES,DX MOV DI,OFFSET NEXT MOV CX,1024 CLD REP MOVSB ……
NEXT: INC SI LOOP GOON ……
13
微机原理及接口技术
5 第 章 存储技术
Page 242~243 习题
P242 习题 5.5
两片6116 SRAM(2K×8bit),连接到8088系统总线,
地址范围40000H~40FFFH。
1. 画电路图。
有错:01H → DL
2. 编程序:写入某数,读出比较
【解】
A0~A12
6264: D0~D7
CS1 , CS2
OE
地址分析: WE
A19 A1 A17 A16 A1 A1 A13 A12 A11 A1 A9 A8 A7 … A1 A0
8
5
4
0
0 1 1 1 0 0 0 0 x x x x x…x x
0 1 1 1 0 1 1 1 x x x x x…x x
微机原理及接口技术
部分习题解答
原作者:车向泉 时间:2013年12月30日13:14:29
微机原理及接口技术
3 第 章 Intel处理器指令系统及
汇编语言
P134~135 习 题
P134 习题 3.1 判别下列指令的寻址方式:
MOV AX,00H SUB AX,AX MOV AX,[BX] ADD AX,TABLE MOV AL,ARRAY[SI] MOV AX,[BX+6]
9
3.10 在BVFF单元中有 一个BCD数A,试编 写程序计算Y,结果 送DES单元,其中:
3A,A≤20 Y= A-20,20<A<60
80,A≥60
START: LEA SI,BVFF MOV AL,[SI] CMP AL,20H JBE NEXT1 CMP AL,60H JB NEXT2 MOV AL,80H ;A≥60 JMP SAVE
0 1 0 0 0 0 0 1 x x x x x…x x
用基本门电路实现
片内地址
21
1. E2PROM地址范围:40000H~41FFFH 2. 内存地址:B0000H开始,共8KB。 片内地址
ERROR: MOV AL,81H STOP: ……
11
3.13 试编写程序,给 从内存 40000H 到 4BFFFH 的每个单 元中均写入 55H, 并逐个单元读出比 较。若写入的与读 出的完全一致,则 将AL置7EH;若有 错则将AL置81H。
方法2: 使用串操作指令
START: MOV DX,4000H MOV ES,DX MOV DI,0 MOV CX,0C000H MOV AL,55H CLD REP STOSB MOV DI,0 MOV CX,0C000H REPE SCASB JNZ ERROR MOV AL,7EH JMP STOP
START: MOV DX,SEG TABLE MOV DS,DX MOV SI,OFFSET TABLE MOV DX,SEG NEXT MOV ES,DX MOV DI,OFFSET NEXT MOV CX,1024
GOON: MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP GOON ……
4
P134 习题
START: MOV DX,SEG BUFFER
3.5 试编写程序将 BUFFER中的一个 8位二进制数转换 为用ASCII码表示
MOV DS,DX MOV DI,OFFSET ANSWER MOV SI,OFFSET BUFFER MOV BL,10 MOV AH,0 MOV AL,[SI]
都对:EEH → DL
【解】地址分析:
A19 A1 A17 A16 A1 A1 A13 A12 A11 A1 A9 A8 A7 … A1 A0
8
5
4
0
0 1 0 0 0 0 0 0 0 x x x x…x x
0 1 0 0 0 0 0 0 1 x x x x…x x
可用3-8译码器实现
片内地址
15
D0~D7 A0~A10
; 数据读出校验
JNZ ERROR
INCቤተ መጻሕፍቲ ባይዱSI
LOOP CHK MOV DL,0EEH
; 分支1:都对
JMP STOP
ERROR: MOV DL,01H
; 分支2:有错
STOP: ……
; 程序出口
18
P242 习题 5.10 4片6264 SRAM(8K×8bit),连接到8086系统总线, 地址范围70000H~77FFFH,画电路图。
6
3.7 试编写程序将MOLT中的一个8位二进制数乘以20, 乘积放在ANS单元及其下一单元中(用3种方法完成)。 ① 用乘法指令实现;② 利用连续加法实现;