您的当前位置:首页正文

西南交大电气复试微机原理习题整理

2023-03-05 来源:独旅网


第一章习题

例: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。 SFOF=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 编制完整的程序求满足 (2i1)100的N 的最小值。

i0

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.某存储器芯片的容量为64K8,则该芯片上的地址线共有 位。 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:4K16;RAM:4K16(每项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 A1 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

因篇幅问题不能全部显示,请点此查看更多更全内容