第一章习题
例:27=[00100111B]BCD=[27H]BCD 12.34=[00010010.00110100B]BCD=[12.34H]BCD [10000101B]BCD=85 [30.2H]BCD=30.2
例:a=20,则 [a]补=00010100B
例:已知X=-30,则 [X]补= 11100010 B 例:已知X=-64H,则 [X]补= 9C H
例:[a]补 = 4DH,则 a = +1001101B = +77;
例:[b]补 = 8CH,则 b = -(1110011B+1) = -116。例:已知[X]补=80H,则X= -128 。 例:用8位补码运算求 X=20-30,Y=20+30 解:设a=20,b=30,则X=a-b,Y=a+b。 [a]补= 00010100 , [b]补=00011110 则 [X]补= [a]补- [b]补 =11110110 [Y]补= [a]补+[b]补 =00110010
所以 X=-0001010B =-10,Y=+0110010B=+50 例:用8位补码运算求 30-20 解:X=30,Y=20,-Y=-20
[X]补=00011110, [-Y]补=11101100, 则 [X-Y]补=[X]补+[-Y]补 =00001010 所以 X-Y=+0001010B = +10
例:已知[X]补=80H,[Y]补=50H,用补码运算规则求 X-Y。 解:Y=+80,-Y=-80,[-Y]补=1011000B=B0H [X-Y]补=[X]补+[-Y]补 =80H+B0H =30H=00110000B 所以 X-Y=+48
实际上,X=-128,Y=+80,因此 X-Y=-208。
例:X=+80,Y=+50,采用8位运算。用双进位法判断X+Y有无溢出。 解: [X]补=01010000B, [Y]补=00110010B,
[X+Y]补=[X]补+ [Y]补 =01010000+00110010
例:X=+80,Y=+50,采用8位运算。用双进位法判断X-Y有无溢出。 解: [X]补=01010000B ,
[Y]补=00110010B,[-Y]补=11001110B , [X-Y]补=[X]补+ [-Y]补 =01010000+11001110 01010000 +)11001110
00011110 最高两位同时有进位,所以无溢出。 1-1 总结和比较AB、DB、CB的特点及作用。 1-2 简述以下操作的实现过程:
①将3AH写入5CH单元;②从F0H单元读出数据。 1-3 完成下列转换:
9AH= 10011010 B= 154 D 1111011.01B= 7B.4 H= 123.25 D
[0010.0111B]DBCD= 2.7 D= 2.B3… H 49.2= 0409.02 HABCD=
0000010000001000.00000010 BABCD 1-4 已知X=-64,则 [X]补= C0 H。
1
1-5 已知X=+7AH,则[X]补= 01111010 B。 1-6 已知[a]补=8000H,则a= -32768 D。
1-7 已知[X]反=11111000B,则[X]补= F9 H,X= -7 D。
1-8 用补码运算规则进行下列8位数据的运算,并判断是否有溢出: ① -128+127 ② -128-127
③ 70H-40H ④ 70H+40H ① -128+127
令 X=-128, Y = +127,则 [X]补=80H, [Y]补=7FH [X+Y]补=FFH,所以 X+Y=-1。
10000000 最高两位同时无进位,所以无溢出。
+ 01111111
11111111
② -128-127
令 X=-128, Y = -127,则 [X]补=80H, [Y]补=81H
10000000
[X+Y]补=01H,所以 X+Y=+1。 10000001 +
最高两位不同时有进位,所以有溢出。 00000001
③ 70H-40H 01110000
令 [X]补=70H, [Y]补=40H, [-Y]补=C0H 11000000 + [X+Y]补=D0H,所以 X+Y=48。 00110000 最高两位同时有进位,所以无溢出。 01110000 ④ 70H+40H 01000000 [X]补=70H, [Y]补=40H + 10110000
[X+Y]补=B0H,所以 X+Y=-80。
最高两位不同时有进位,所以有溢出。
例:10110011B+01111111B
最高位有进位,所以CF=1;
D3位有进位,所以AF=1;
10110011
最高两位同时有进位,所以OF=0;
01111111 +
结果的最高位为0,所以SF=0;
)
结果中有3个1,所以PF=0;
100110010
结果不等于0,所以ZF=0。
第二章习题
2-1分别分析执行完以下运算后各状态标识位的状态。 (1)84H+ACH
CF= 1 ,ZF= 0 ,OF= 1 ,SF= 0 ,PF= 1 ,AF= 1 。 (2)8000H-2DFFH
CF= 0 ,ZF= 0 , OF= 1 , SF= 0 ,PF= 0 ,AF= 1 。
2-3 已知CS=1230H,求代码段中物理地址为13AC0H 的单元的逻辑地址。
解:由 CS*16+EA=13AC0H 求得 EA=17C0H
2
所以逻辑地址为: 1230H:17C0H
2-4 已知DS=21FAH,求数据段中偏移地址为0120H的单元的物理地址。 解: PA=21FAH*16+0120H=220C0H
2-5已知SS=31ABH,SP=0124H,则将AX和BX中的内容推入堆栈后,SP= 0120H 。
2-6已知SS=31ACH,SP=0120H,则从堆栈中弹出数据到SI后,栈顶单元的物理地址为 31BE2H 。 2-7将数据2EH、AB1CH和逻辑地址1234H:0100H从数据段中偏移地址为0100H的单元开始依次存放。已知DS=20CDH。画出内存分配图,并标出各单元的逻辑地址和物理地址。 2EH 20CDH:0100H 20DD0H 1CH 20CDH:0101H 20DD1H ABH 20CDH:0102H 20DD2H 00H 20CDH:0103H 20DD3H 01H 20CDH:0104H 20DD4H 34H 20CDH:0105H 20DD5H 12H 20CDH:0106H 20DD6H
例:某单元的段基值为2500H,偏移地址为0100H,则其物理地址为 2500H×16+0100H=25100H
例:某单元的逻辑地址为1234H:03FEH,则其物理地址为: 1234H×16+03FEH=1273EH
0DH 1000H
例:将字数据1E0DH、
逻辑地址135BH:002EH和字节数据2CH 1EH 1001H
依次放入从当前数据段中偏移地址为1000H
2EH 1002H 开始的单元,画出内存分配图。
00H 1003H
5BH 1004H
13H 1005H
2CH 1006H
例:已知SP=01ACH,AX=1234H,BX=23ABH, 堆栈段中各单元内容如图1所示,则将AX和BX
图1
中的内容依次推入堆栈后,堆栈段如图2所示,且 SP=01A8H 图2
接着从堆栈中弹出数据依次放入CX和BX,则 00H SP= 01ACH ,
00H BX= 1234H , EFH ABH SP CX= 23ABH 。
BCH 23H 9AH
34H 78H
12H 01ACH 56H 56H 01ACH SP 34H 34H 12H 12H
3
第三章练习
例: MOV AL,20H ;将立即数送到AL中 ADD AL,A2H ;将A2H和AL中的数据相加 注:所有目的操作数都不能采用立即寻址。 如: MOV 12H,AL INC 2CH
例: MOV AL,[2000H]
;将数据段中偏移地址为2000H的单元中的内容取出送到AL 例: MOV [BP],AL;将AL中的内容放入堆栈段中BP指向的单元 例:XCHG BX,AX
设执行前 AX=1000H,BX=2000H,
例:分析以下程序段实现的功能。 则执行后 AX=2000H,BX=1000H。
注:如下指令是错误: LEA SI,[1000H] XCHG BL,20H LEA DI,[2000H] XCHG [1000H],[2000H] MOV CX,64H 例:实现1000-240的运算,结果放入BX寄存器。 LP: MOV AL,[SI] 分析: MOV BX,03E8H MOV [DI],AL 将数据段中从SUB BX,00F0H;BX=02F8H,CF=0 INC SI 1000H单元开始的或 INC DI 100个字节数据搬至MOV BX,03E8H DEC CX 2000H开始的单元。 SUB BL,F0H;BL=F8H,BH=03H,CF=1 JNZ LP SBB BH,0;BL=F8H,BH=02H,CF=0 例:MOV AL,20H
INC AL ;AL=21H
例:MOV AL,20H
DEC AL ;AL=1FH
AX,8000H 例: MOV 1000000000000000
MOV BX,2000H ;左侧程序段执行后,
-0010000000000000
CMP AX,BX ZF= 0 ,CF= 0 ,SF= 0 ,OF= 1 。
) 0110000000000000
1)两数不相等,因此 ZF=0;
2)无符号数,8000H=32768>2000H=8192,则 CF=0; 3)有符号数,则8000H=-32768<2000H=+8192,则
。 此外,-32768-8192<-32768,有溢出,则 OF=1。从而 SF=0。 SFOF=1
例:MOV AL,98H
ADD AL,25H;AL=BDH,CF=AF=0 DAA;AL=23H,CF=AF=1 98H +25H BDH +66H 23H
4
例:MOV
SUB
DAS
AL,92H AL,28H
;AL=6AH,CF=0,AF=1 ;AL=64H,CF=0,AF=1 92H -28H 6AH -06H 64H
DS=21CAH,,BP=0010H,SI=1010H, 3-2 已知各寄存器的内容如下: CS=1200H , SS=2210H , BX=0100H
DI=0100H,SP=0020H, 求以下指令中各存储器操作数的物理地址:
ADD -10H[BP][SI],AX
;PA=16*SS+BP+SI-10H=23110H
MOV AL,[0100H] ;PA=16*DS+0100H=21DA0H XOR CS:[BX],01FFH ;PA=16*CS+BX=12100H SUB -10[SI],CL
;PA=16*DS+SI-10=22CA6H 注意进制
;PA=16*SS+(SP-2)=2211EH PUSH SI
5
3-4分析各程序段执行后的结果(AX、BX、CF、AF) 1)MOV AX,0909H ADD AX,0303H
DAA ;AX=0C12H,CF=0,AF=1;DAA只影响AL,不改变AH。 2)MOV AX,0909H SUB AX,0303H
AAS ;AX=0606H,CF=AF=0;AAS影响AX,但SUB指令执行后CF=AF=0,所以
AAS不执行任何调整。 3)MOV AX,0303H MOV BX,0909H SUB BX,AX
DAS ;AX=0303H,BX=0606H,CF=AF=0
;DAS只影响AL,不改变BX;
;由于SUB执行后CF=AF=0,所以AX没有调整 4)MOV AX,0303H MOV BX,0909H ADD BX,AX
AAA ;AX=0303H,BX=0C0CH,CF=AF=0
;AAA只影响AX,所以BX中内容没有调整;
;由于ADD执行后CF=AF=0,所以AX保持不变。
6
7
8
9
第四章练习
10
4-9 已知数据段定义如下。
DATA SEGMENT AT 1AB0H ORG 0100H
VAR1 DW -1, ‘A’ CONT EQU $-VAR1 VAR2 DW VAR1 VAR3 DD VAR2
VAR4 DB 2 DUP(?,’AB’) 画出内存分配情况。
4-10 下列程序段实现若干数据累加,找出错误,说明原因或改正。 BUF DB 100,200,300,400 RESULT: DB 2 DUP(?) ┆
MOV DI,BUF XOR AX,AX
MOV CX,LENGTH BUF LP ADD AX,[DI] INC DI DEC CX JNC LP
MOV RESULT,AX ┆ N4-11 编制完整的程序求满足 (2i1)100的N 的最小值。
i0
DATA SEGMENT N DB ? DATA ENDS
STACK SEGMENT PARA STACK'STACK' DW 20 DUP(?) STACK ENDS
CODE SEGMENT ;代码段框架 ASSUME CS:CODE,DS:DATA,SS:STACK MAIN PROC FAR PUSH DS MOV AX,0 PUSH AX
MOV AX,DATA MOV DS,AX
0
MOV DL,1 ;累加和放在DL中,设初值为2=1
MOV CH,0 ;i -> CH LP: INC CH
MOV CL,CH ;i+1 -> CL
MOV AH,1
11
SHL AH,CL ;2i ->AH
ADD DL,AH ;累加
CMP DL,200 ;累加结果是否超过200? JE DONE ;刚好等于200,则跳转 JA ADJUST ;超过200,需要修正AL JMP LP ;否则,继续累加 ADJUST: DEC CH ;i-1 DONE: MOV N,CH ;存结果
RET MAIN ENDP CODE ENDS END MAIN
4-12 求两个多倍精度数据的和 DATA SEGMENT
DATA1 DB 1,2,3,4,5 ;第一个数据,共5字节(40位),假设从低位到高位存放 DATA2 DB 12H,23H,34H,45H,56H ;第二个数据, CUNT EQU $-DATA2 ;数据字节数
RESULT DB CUNT+1 DUP(?) ;定义结果单元,考虑到可能的进位,位数比原数据多一
;个字节
DATA ENDS
STACK SEGMENT PARA STACK'STACK' DW 20 DUP(?) STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK MAIN PROC FAR PUSH DS MOV AX,0 PUSH AX
MOV AX,DATA MOV DS,AX
MOV ES,AX
LEA SI,DATA1 MOV CX,CUNT LEA BX,DATA2 LEA DI,RESULT CLD
CLC LP: LODSB
ADC AL,[BX] STOSB INC BX
12
LOOP LP MOV BYTE PTR[DI],0 JNC DONE
INC BYTE PTR[DI] DONE: RET MAIN ENDP CODE ENDS END MAIN
4-13 求一串有符号字节数据的绝对值累加和。 DATA SEGMENT
BUF DB 1,-2,3,-4 CUNT EQU $-BUF RESULT DW ? DATA ENDS
STACK SEGMENT PARA STACK 'STACK' DW 20 DUP(?) STACK ENDS
CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK MAIN PROC FAR PUSH DS MOV AX,0 PUSH AX
MOV AX,DATA MOV DS,AX MOV CX,CUNT
LEA SI,BUF ;设数据地址指针
XOR DX,DX ;累加和寄存器设初值为0 CLD
LP: LODSB ;取一个数 TEST AL,80H ;测试正负 JZ PP ;正数则跳转 NEG AL ;负数则取负 PP: ADD DL,AL ;绝对值累加 ADC DH,0 ;并得到16位和 LOOP LP ;未完循环 MOV SUM,DX ;保存结果 RET MAIN ENDP CODE ENDS END MAIN
4-14从头到尾统计一串有符号字数据中相邻两数间符号变化的次数。 DATA SEGMENT
13
BUF DW -1,2,3,-4,5,-6,-7 CUNT EQU ($-BUF)/2 NUM DB 0 DATA ENDS
STACK SEGMENT PARA STACK 'STACK' DW 20 DUP(?) STACK ENDS
CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK MAIN PROC FAR PUSH DS MOV AX,0 PUSH AX
MOV AX,DATA MOV DS,AX LEA SI,BUF MOV CX,CUNT-1 CLD
LODSB
XOR AL,[SI+1] JNS NEXT INC NUM NEXT: LOOP LP RET MAIN ENDP CODE ENDS END MAIN
4-15编程实现将一个字符串插入到另一个字符串的指定位置。 DATA SEGMENT
STR1 DB ‘ABCDEFG’ CUNT1 EQU $-STR1 STR2 DB ‘1234567’ CUNT2 EQU $-STR2 POS EQU 5 DATA ENDS
STACK SEGMENT PARA STACK 'STACK' DW 20 DUP(?) STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK MAIN PROC FAR PUSH DS
14
MOV AX,0 PUSH AX
MOV AX,DATA MOV DS,AX MOV ES,AX
LEA SI,STR2+POS MOV DI,SI ADD DI,CUNT1
CLD
MOV CX,CUNT2-POS
REP MOVSB ;将STR2中第POS个字符以后的字符后移CUNT1个单元 LEA SI,STR1 LEA DI,STR2+POS MOV CX,CUNT1
REP MOVSB ;将STR1插入到STR2中第POS个字符后面 RET MAIN ENDP CODE ENDS END MAIN
;程序运行结果:STR2字符串变为 12345ABCDEFG67 第五章习题
15
16
17
1)74LS373:地址锁存器
74LS245:数据缓冲器、总线收发器 2)要求无地址重叠,则应采用全译码方式。
ROM从20000H开始,RAM从F0000H开始。 图中,一片ROM需要一个片选信号; 两片SRAM,需两个片选信号。 由下表确定三个片选信号及译码电路。
18
第六章练习
例:从键盘上接收一串字符,将其中的所有大写字母转换为小写字母,然后在屏幕上显示该字符串。
19
20
DATA SEGMENT
DATA1 DB 14,?,14 DUP(?);定义第一个数据的缓冲区 DATA2 DB 14,?,14 DUP(?);定义第二个数据的缓冲区 RESULT DB 14 DUP(?);定义和存放的单元 DATA ENDS
STACK SEGMENT PARA STACK 'STACK' code segment
assume cs:code,DS:DATA,ES:DATA,SS:STACK START: PUSH DS MOV AX,0 PUSH AX
MOV AX,DATA MOV DS,AX MOV ES,AX
MOV DX,OFFSET DATA1 MOV AH,10
INT 21H;输入第一个数据 MOV DX,OFFSET DATA2 INT 21H;输入第二个数据
LEA SI,DATA1+1 LEA BX,DATA2+1 LEA DI,RESULT
MOV CL,[SI];取实际输入数据的位数 MOV CH,0 ADD SI,CX ADD DI,CX
ADD BX,CX;设置指针指向两个数据和和的最后一个单元 STD CLC
LP: LODSB;加一位(从低位到高位相加) ADC AL,[BX] AAA;BCD码调整 STOSB;存结果
DEC BX;修改地址指针 LOOP LP;未完循环
JNC CC;处理最高位可能的进位
21
MOV BYTE PTR [DI],1 第七章练习题
7-4 从80H端口读入一字节数据,将其放大一倍后再输出到280H号端口。编制程序段实现上述功能。 IN AL,80H SHL AL,1 MOV DX,0280H OUT DX,AL
7-5 上题中假设采用无条件方式从外部锁存器中输入数据,采用查询方式将数据输出到外设。设计一种接口电路,并重新编制实现上述功能的控制程序。
接口电路如图所示。这里假设输出设备的状态端口与数据端口地址相同。1位外设状态由DB的D0读入,且该位为0表示输出设备准备好接收数据。控制程序如下:
7-6 假设82C55的端口地址为0A2H,将82C55的PA口设为方式0的输出方式,B组设为方式1输入方式,PC7-4设为输入方式。确定方式控制字并编制相应的初始化程序。
22
7-7 如图所示,依次轮流从PC口的各位输出高电平脉冲。编制程序实现上述功能。假设82C55的端口地址为0B8H。 解:设PC口各位都为方式0的输出方式,则控制字为:
7-9 某外设与8086的并行接口电路如图所示。L1和 L0分别用于指示外设每次输入有符号字节数据的正负。编制程序实现
23
上述功能。
两种方式从该外设读入数据。
(1)采用查询方式从PA口读入数据;(2)采用中断方式从PA口读入数据。 分别画出相应的原理接口电路,并编制程序实现习题7-9的功能。
7-10 如图所示外设,每当其准备好一个数据,则RDY变为高电平,同时8位有符号数据从D7-0输出。8086分别采用以下
24
25
7-13 用8253产生方波FSK信号,FSK信号的上下边频分别为1kHz和2kHz。上下边频每隔1ms切换一次。设8253的定时脉冲频率为2MHz,端口地址为8CH。画出电路图并编制相应的控制程序。
分析:
1)地址译码电路根据给定地址设计。 2)两个上下边频用通道1方式3产生。
由于外接定时脉冲频率为2MHz,因此为产生1kHz和2kHz的信号,计数初值应分别设为2000和1000。 3)用8253通道0方式2定时1ms,计数初值设为2000。
4)OUT0作为CPU的中断请求信号。CPU每响应一次中断,改变通道1的计数初值。 5)方式控制字:
通道0:00110100B;通道1:01110110B。
7-14 8086最小系统外接82C55和8253,如图所示。 (1)分别写出各芯片的端口地址;(2)用8253对外接脉冲个数进行统计。每计满500个脉冲,由82C55控制发光二极管的状态(亮/灭)切换一次。试写出82C55和8253的初始化程序以及系统的控制程序。
26
27
一、填 空(每题2分,共20分) 1.-80用16位补码表示为 H。 2.75的压缩BCD码表示为 B。
3.已知10#中断源的中断向量为1CA0H:0030H,则其中断服务程序从物理地址为 的单元开始存放。
4.8086从12340H字单元读入一个字数据时,A0= ,BHE= 。
5.已知BP=0010H,则指令ADD -10H[BP],AL中,目的操作数的偏移地址为 H。 6.已知AX=1234H,则顺序执行完ADD AL,58H和AAA两条指令以后,AX= 。 7.指令MOV BX,-2 LE 0F0H执行后,BX= H。
8.某存储器芯片的容量为64K8,则该芯片上的地址线共有 位。 9.地址/数据分时复用的CPU,形成地址总线时必须加 。 10.采用查询式数据传送的接口电路中,除了数据端口外,还必须要有 端口。
二、简答题(每题5分,共10分)
1.总结和比较变量和标号在概念及用法上的区别。
2.简述采用10#DOS功能调用时,键盘输入缓冲区中各单元的作用。 三、分析题(共40分)
1.某宏汇编语言源程序数据段和代码段中分别有如下语句:
;数据段
ORG 0100H ARR DB ‘ETC_swjtu$’ CUNT EQU $-ARR RESULT DB 2 DUP(?)
L0: L1:
;代码段
LEA SI,ARR MOV CX,CUNT CLD LODSB CMP AL,39H JA L1 INC RESULT LOOP L0 INC RESULT+1 LOOP L0
1)画出程序执行前数据段的内存分配图,图中要标出单元的偏移地址。(8分) 2)分析程序中带下划线的指令的寻址方式。(10分)
3)分析程序执行后SI,AL寄存器和NUM和NUM+1字节单元中的内容。(8分) 2.为8086 CPU设计的主存系统如下图所示。
28
1)指出图中各存储器芯片的容量;(2分)
2)求总的存储器容量(ROM和RAM分别说明);(4分)
3)分析各芯片地址范围。若有地址重叠,将重叠部分的地址也写出来。(8分)
四、编程和设计(30分)
某8088应用系统部分线路如下图所示,其中用82C55连接了一个输入设备。当输入设备准备好数据时,STB信号变为低电平。已知82C55的端口地址为03E8H。8088采用查询方式从输入设备读入数据。
1. 用3/8译码器实现82C55的地址译码电路。(10分) 2. 将线路补充完整(可以直接在原图上画)。(5分)
3. 设82C55的PA端口工作方式1,确定82C55的工作方式控制字,并编制初始化程
序段。(5分)
4. 8088从输入设备依次读入100个数据,并顺序放入内存从地址为1C30H:1000H开
始的单元。编制程序段实现上述功能。(10分)
D15-8 D7-0 A12-1 A11-0 D7-0 #12732 OE CE A11-0 D7-0 #22732 OE CE A11-0 D7-0 #16232 OE WE CE A11-0 D7-0 #26232 OE WE CE RD WR M/IO A19 A17 A16 A15 A14 A13 A0 BHE & 1 1 1 1 A19-0 D7-0 译码电路 CS D7-0 A1 A0 RD PA7-0 82C55 PC4 WR 29
IO/M 输入设备 D7-0 STB RD WR
标准答案及评分标准
一、填 空(每题2分,共20分)
1.FFB0 2.01110101 3.1CA30 4.0 0 5.0000 6.1302 7.0FFFF 8.16 9.地址锁存器 10.状态 二、简答题(每题5分,共10分)
1.变量是用数据定义伪指令定义的名字,标号是可执行语句的名字。标量代表数据所在单元,标号
代表指令存放的单元。(3分)
变量可作为指令性语句或伪指令语句的操作数,标号只能作为转移指令的操作数。(2分) 2.第一个单元用于存放程序中规定的允许接收的最多字符个数;
第二个单元存放执行后实际接收的字符个数;
BUF 11 第三个单元开始存放实际接收到的字符。
?? 每项1分,图2分。
?? 三、分析题(共40分)
?? 1.1)图见右。(每个单元0.5分,地址2分。)
0100H ‘E’ 2)直接寻址;寄存器寻址
‘T’ 立即寻址;寄存器寻址
‘C’ 隐含寻址 (每项2分)
‘_’ 3)SI=010AH,AL=’$’,(NUM)=1,(NUM+1)=9
‘s’ (每项2分) ‘w’ 2.1)4KB; 4KB; 4KB; 4KB(每项0.5分)
‘j’ 2)ROM:4K16;RAM:4K16(每项2分)
‘t’ 3)1#2732:B2000H~B3FFFH或F2000H~F3FFFH中的奇地址; ‘u’ 2#2732:B2000H~B3FFFH或F2000H~F3FFFH中的偶地址; ‘$’ 1#6232:B0000H~B1FFFH或F0000H~F1FFFH中的奇地址; ?? 2#2732:B0000H~B1FFFH或F0000H~F1FFFH中的偶地址。
?? (每项2分)
四、编程和设计(30分)
1.地址译码电路见下图。 (共10分,根据正确连线情况酌情给分) A4 C A3 B Y2 CS
2. 三条线分别1分,标注A1和A0各1分。共5分。 A2 A 74138 3. MOV DX,03E8H IO/M G1 MOV AL,10110000B A15 G2A A1 G2B 10 A19-0 A9 D7-0 AA& 5 1 A0 IO/M 译码电路 输入设备 CS D7-0 A1 A0 RD RD D7-0 WR WR 82C55 PA7-0 PC4 STB 4.
MOV AX,1C30H MOV ES,AX
LEA
DI,[0100H]
30
OUT DX,AL
CLD
MOV CX,100 NEXT: MOV DX,03EAH IN AL,DX TEST AL,0010000B JZ NEXT
MOV DX,03E8H IN AL,DX STOSB
LOOP NEXT
31
因篇幅问题不能全部显示,请点此查看更多更全内容