1、57. 现有两片 4110RAM 组成存储器系统如下图所示。每片 4110 的存储容量为 1K8bit,地址译码器用 74LS138。试回答: (1) 第一片和和第二片 4110 的地址范围各是什么 ? (2) 若要扩展 1KB 存储容量, 4110 须要几片 ?请将新增加的 4110 芯片画在图上并连接相应的信号线。新增 RAM 的地址范围是什么 ? (3) 说明上述电路中 (包括新增部分 )存储器有无地址重迭现象 ?若有请指出重迭的范围并提出消除地址重迭的措施。 1G2GA2GBCBA19A18A17A16A15A13A12A11A74LS1387D0D.9A0A.(1)DBAB2Y4Y0
2、D0D7D7D. .9A9A0A0A. .(2)4110CE CE CERD WRRDWR WRRDM EM RM EM W.解: G1 1 = A19 = 0 G2A 1 = A18 = 0 G2B 1 = A17 = A16 = A15 =0 A14 和 A10 没有用到,可均设为 0 (1)第一片 A13A12A11 =010 地址范围( Y2): 1000H-13FFH 第二片 A13A12A11 =100 地址范围( Y4): 2000H -23FFH (2)新一片 4110 的片选若接 Y3, A13A12A11 =011 地址范围是: 1800H-1BFFH 片选若接 Y6, A
3、13A12A11 =110 地址范围是: 3000H-33FFH 片选若接 Y0, A13A12A11 =000 地址范围是: 0000H-03FFH 片选若接 Y1, A13A12A11 =001 地址范围是: 0800H-0BFFH 片选若接 Y5, A13A12A11 =101 地址范围是: 2800H-2BFFH 片选若接 Y7, A13A12A11 =111 地址范围是: 3800H-3BFFH (3)由于地址信号 A14 和 A10 未参加地址译码,故每个译码输出端重叠 4 个地址范围。除( 1)列出的基本地址 (A14A10=00)外,还各有三个地址范围如下: A14A10=01
4、 A14A10=10 A14A10=11 Y2 1400H-17FFH 5000H53FFH 5400H57FFH Y3 1C00H1FFFH 5800H5BFFH 5C00H5FFFH Y4 2400H27FFH 6000H63FFH 6400H67FFH Y6 3400H37FFH 7000H73FFH 7400H77FFH 消除地址重叠的方法是让地址信号 A14 和 A10 也参加地址译码,例如: A14、 A10 和 A17、 A16、 A15 一起纳入负与门( 5 输入端)译码; 或 A14、 A10 和 A18 一起纳入负与门( 3 输入端)译码。 58. 试分析下图中存储器芯片
5、6116 的存储容量及在系统中的地址范围。 70DD10 0AA6116CSWERDMEM WM E M R17A13A12A19A18A16A14A15ADBAB解: 6116 的地址容量是 2K(11 根地址线 )B。 其地址范围有相互重叠的两个区域: A0000HA07FFH 或 A0800HA0FFFH。 63. PC/XT 中接口地址译码电路如图所示: (1) 列表说明各译码输出端有效时对应地址信号 9 0 的取值,并用十六进制写出地址范围。 (2) 说明译码器输入信号 AEN 的名称及在此处的作用。 (3) 说明信号 IOR 和 IOW 在此处的作用。 1G2GA2GBCBA74L
6、S1387Y0Y8A7A6A5A4A3A9A2A1A0AAENIO RIOW解: 1)译码电路中, A9A8A7A6A5A4A3A2A1A0=10,1111,0XXXB。因此 Y0Y7 对应的地址范围分别是: 2F0H 2F1H . . 2F7H 2) AEN 信号在此使译码电路在 DMA 时不工作,仅在 CPU 执行指令时工作。 3) IOR、 IOW 在此使译码电路在执行存储器读写时不工作,仅在执行 I/O 指令时工作。 64. 8086/8088 响应中断后要获得中断类型号。举例说明不同的中断类型产生中断类型号的方法有哪几种 ? 解: 不同的中断类型产生中断类型号的方法 有三种: 1)
7、CPU 在执行指令过程中自动产生中断类型号,例如执行除法指令过程中,若发生除以零中断,则自动产生类型号为 0 的中断,即 INT 0。又如发生 NMI 时,自动产生类型号为 2 的中断,即 INT 2。 2) CPU 在执行指令过程中从指令机器码中获得中断类型号。写在源程序中的所有 INT n 指令都属于这种情况。 3) 由外部可屏蔽中断源引发的硬中断由中断管理电路 8259A在中断响应时提 供中断类型号,如系统时钟中断、键盘中断、硬软磁盘中断等。 36 .两个 4 位压缩的 BCD 数,存放在存储器中的地址为 ALPHA 和 BETA,编写程序求两个数的和,结果存入 ALPHA 单元。 解:
8、 DATA SEGMENT ALPHA DB 34H, 12H ; 压缩的 BCD 数 1 字节表示 2 位, 4 位应占 1 个字。用 DW 的可读性更好,但后面只能用字节加。 BETA DB 52H, 46H DATA ENDS STACK SEGMENT STACK DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START: MOV AX, DATA MOV DS, AX MOV SI, 0 MOV CX, 2 CLC LOOPER: MOV AL, ALPHA SI ADC AL, BET
9、A SI DAA MOV ALPHA SI, AL INC SI DEC CX ; 也可以和下面可以合起来改成 LOOP LOOPER JNZ LOOPER CODE ENDS END START 39. 比较 AX, BX, CX 中带符号补码数的大小,将其最大者放在 AX 中,试编写此程序。 解: DATA SEGMENT DATA1 DW 4142H DATA2 DW 8107H DATA3 DW 0A123H MAX DW ? DATA ENDS STACK SEGMENT STACK DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CO
10、DE, DS:DATA, SS:STACK START: MOV AX, DATA MOV DS, AX MOV AX, DATA1 MOV BX, DATA2 MOV CX, DATA3 法 一: MOV MAX, AX CMP BX, MAX JG GREAT1 NEXT: CMP CX, MAX JG GREAT2 JLE GOON GREAT1: MOV MAX, BX JMP NEXT GREAT2: MOV MAX, CX GOON: MOV AX, MAX 法 二:更好,不仅少占用资源,而且快 CMP AX,BX JGE NEXT1 XCHG AX,BX NEXT1: CMP A
11、X, CX JGE NEXT2 XCHG AX,CX NEXT2: MOV MAX, AX CODE ENDS END START 40. 编写程序,将 BLOCK 中的 100 个字节数据的位置颠倒过来 (即第 1 个字节和第 100 个字节的内容互换,第 2 个字节和第 99 个字节的内容互换, ) 。 解: MOV CX, 50 ;循环次数 LEA SI, BLOCK MOV AX, SI ADD AX, 99 MOV DI, AX TOP: MOV AL, SI ; 也可以取一个到 AL 后和内存 XCHG MOV BL, DI MOV DI, AL MOV SI, BL INC SI
12、 DEC DI LOOP TOP 41. 编写程序,求 AX 寄存器中有多少个 “1”,并将其个数存入 CL寄存器中。 解: XOR BL, BL MOV CX, 16 COUNT: SHL AX, 1 JNC GOON NEXT: INC BL GOON: LOOP COUNT ;事实上,某次移位后 AX 0 就可以退出了 MOV CL, BL 48. 编写程序,把三个连续存放的 单字节带符号 整数,按递增次序重新存放在原来的三个存储单元中。 解:最直接的做法: DATA SEGMENT DATA1 DB 12H DATA2 DB 56H DATA3 DB ? DATA ENDS STACK
13、 SEGMENT STACK DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START: MOV AX, DATA MOV DS, AX MOV AL, DATA1 MOV BL, DATA2 MOV CL, DATA3 CMP AL,BL JGE NEXT1 ;带符号数用 JG,若用 JA 就错了 XCHG AL,BL NEXT1: CMP AL, CL JGE NEXT2 XCHG AL,CL NEXT2: CMP BL, CL JGE NEXT3 XCHG BL, CL; 至此 AL BL
14、CL NEXT3: MOV DATA1, CL; 按递增顺序存储 MOV DATA2, BL MOV DATA3, AL CODE ENDS END START 附其他解法如下: DATA SEGMENT DAT DB 5,-7,100 DATA ENDS STACK1 SEGMENT STACK DB 100H DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA MOV DS,AX LEA SI,DAT MOV CX,2 L1: MOV AL,SI CMP AL,SI+1 JN
15、G L2 XCHG AL,SI+1 MOV SI,AL L2: INC SI LOOP L1 MOV AH,4CH INT 21H CODE ENDS END START ;此程序做完,只能保证最大的一个排在最后面,但若原来的第二、第三个发生过交换,则第一个和第三个还没比较过。所以应该再作一次新的第一、第二个之间的比较。程序修改如下。 START: MOV AX,DATA MOV DS,AX LEA SI,DAT MOV CX,2 L1: MOV AL,SI CMP AL,SI+1 JNG L2 XCHG AL,SI+1 MOV SI,AL L2: INC SI LOOP L1 MOV AL,
16、DTA :比较新的一、二元素 CMP AL,DTA 1 JNG DONE XCHG AL, DTA 1 MOV DTA,AL DONE: MOV AH,4CH INT 21H ;此程序可以改成一个二重循环如下。这样还可以适应更多个数的排序: DATA SEGMENT DT1 DB 07FH, 56H, 80H DATA ENDS STACK SEGMENT STACK DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV CH,2 LP1: M
17、OV CL,CH LEA SI,DT1 LP2: MOV AL,SI INC SI CMP AL,SI JNG NEXT1 XCHG AL,SI MOV SI-1,AL NEXT1: DEC CL ;内循环控制 JNZ LP2 DEC CH ;外循环控制 JNZ LP1 DONE: MOV AH,4CH INT 21H CODE ENDS END START 67. 设 PC/XT 存储器低地址区一段内容如下: 地址 (H): 0: 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2A, 2B 内容 (H): 3C, 00, 86, 0E, 45, 00, 86
18、, 0E, 57, 00, 86, 0E (1) 在 CS=2000H, IP=0010H,SS=1000H,SP=0100H,FLAGS=0240H 时,执行 INT8H 指令后: 程序转向何处执行 ?(用物理地址回答 )_ SP=_;栈顶六单元的内容分别是: ( : )= _; ( : )= _; ( : )= _; ( : )= _; ( : )= _; ( : )= _; (2) 若用户要使用系统的 IRQ2,其中断服务程序入口地址为 2000: 0100H,如何安装中断矢量 (包括保护原矢量 )。 解: ( 1) 因为执行指令 INT 8 ,中断矢量的地址为 4X8=32D=20H,
19、中断矢量的内容(即中断服务程序入口地址)为 0E86H:003CH=E89CH。 SP=100H 6=0FAH; 栈顶六单元的内容分别是: (1000H:FAH)=12H ; (1000H:FBH)=00H; (1000H:FCH)=00H ; (1000H:FDH)=20H ; (1000H:FEH)=40H ; (1000H:FFH)=02H ; 因为执行 INT 8 指令( 2 字节), IP+2=0012H. ( 2) PROIP DW ? PROCS DW ? ;保护原矢量 PUSH AX PUSH BX PUSH DX PUSH DS PUSH ES MOV AH,35H; MOV AL,0AH;中断类型码, IRQ2 对应的 INT 21H MOV PROIP,BX MOV PROCS,ES; 装入现矢量 MOV AX,2000H MOV DS,AX MOV DX,100H MOV AH,25H; MOV AL,0AH;中断类型码 INT 21H POP ES POP DS POP DX POP BX POP AX; 用户程序结束时再恢复原矢量
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。