微机5解

  • 格式:pdf
  • 大小:508.99 KB
  • 文档页数:7
第 2 页 共 7 页
SKIP AL, [SI+1] SI NEXT MIN, AL CH,2
;无符号数用 JBE/有符号数用 JLE
DISP:
EXIT:
CODE
北京信息科技大学计算机学院计算机系
【4.20】编程将存放在 AL 中的无符号二进制数,转换成 16 进制数,再转换成 ASCII 码并 显示在屏幕上。 CODE SEGMENT ASSUME CS:CODE START: MOV AH, 1 INT 21H CMP AL,1BH JZ EXIT NEXT: MOV DH,AL MOV AH, 2 MOV DL,20H INT 21H MOV AL,DH CALL HEX2_ASC MOV AH, 2 MOV DL,0AH INT 21H MOV DL,0DH INT 21H JMP START EXIT: MOV AH, 4CH INT 21H ;子程序功能:完成 AL 中 2 位十六进制数转换成 ASCII 码。 ;入口参数:16 位 2 进制数=2 位十六进制数由 AL(=abH)传递 ;出口参数:无(屏幕显示) HEX2_ASC PROC NEAR PUSH DX PUSH CX MOV CH,2 LOP: MOV RRRRRRRL,AL MOV CL,4 ROR DL,CL MOV AL,DL AND DL, 0FH ADD DL, 30H CMP DL, 39H JBE DISP ADD DL, 7 DISP: PUSH AX MOV AH,2 INT 21H POP AX
第 3 页 共 7 页
北京信息科技大学计算机学院计算机系
DEC CH JNZ LOP POP CX POP DX RET HEX2_ASC ENDP CODE ENDS END
START
第 4 页 共 7 页
北京信息科技大学计算机学院计算机系
【补充 5-1】用 1024×1 位的 RAM 芯片组成 16K×8 位的存储器,需要多少芯片?在地址 线中有多少位参与片内寻址?多少位组合成片选择信号?(设地址总线为 16 位) 16*8=128;10;min:4 ~ max:6 【补充 5-2】现有一存储体芯片容量为 512×4 位,若要用它组成 4KB 的存储器,需要多少 这样的芯片?每块芯片需要多少寻址线?整个存储系统最少需要多少寻址线? 8*2=16;9;12 【补充 5-3】设计一个 64K×8 存储器系统,采用 74LS138 和 EPROM2764(8KX8 位)器 件,使其寻址存储器的地址范围为 40000H~4FFFFH。 8*1=8;ABL=13;ABH=7 A1
A9 A8 M/IO A7 A6 G1 G2A G2B Y0 Y1 Y2 74LS138 Y3 Y4 Y5 A5 A4 A3 C B A Y6 Y7 300H~307H 308H~30FH 310H~317H 318H~31FH 320H~327H 328H~32FH 330H~337H 338H~33FH CS0 CS1 CS2 CS3 CS4 CS5 CS6 CS7 U0 U1 U2 U3 U4 U5 U6 U7
0H FH 0H FH 0H FH 0Hቤተ መጻሕፍቲ ባይዱFH
0H FH 0H FH 0H FH 0H FH
0H FH 0H FH 0H FH 0H FH
第 6 页 共 7 页
北京信息科技大学计算机学院计算机系
74LS138
A16 M/IO A18 A17 A15 A14 A13
G1 G2A G2B
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
片内选择
74LS138
A18 M/IO A17 A16 A15 A14 A13
G1 G2A G2B
C B A
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
CS0 CS1 CS2 CS3 CS4 CS5 CS6 CS7
8KB 8KB 8KB 8KB 8KB 8KB 8KB 8KB
内部端口选择 A2~A0

图中给出的各芯片的端口地址范围为部分译码情况下的多组重叠地址中的一组,由于 有六条高位地址线未加入译码器输入,故应有 26=64 组地址,例如: Y0:x300H~x307H、x700H~x707H、XB00H~Xb07H、XF00H~XF07H 其中,x 又有 16 种取值。 由于 8 块芯片的地址连续分布,即奇偶地址连续分布,考虑到 8086 系统中端口地址一 般需采用全部偶地址(或全部奇地址) ,故图中采用 8088 系统的’M/IO,在 I/O 指令操作时为高电平。
A12~A0
第 5 页 共 7 页
北京信息科技大学计算机学院计算机系
【5.15】在一个有 20 位地址线的系统中,采用 2K4 位的 SRAM 芯片构成容量为 8KB 的 8 位存储器,要求采用全译码方式,请 画出该存储器系统的示意图,并 回答: 共需要 8 块 RAM 芯片,必须将地址线 A10 (1)8KB(=8K8 位)存储器需位扩展 2、字扩展 4,共需(24=)8 片 2K4 位的 SRAM 芯片; (2)2K4 位的 SRAM 芯片具有 11 位地址线(A10~A0、2K=211) ,故需 11 条低位地址 线(A10~A0)作为片内直接选择; (3)采用全译码方式,则所有高位地址线(A19~A11)都需加入地址译码器输入; (4)由于字扩展系数为: (8K/2K=)4,即需要 4 位片选信号,实际需要高位地址线为 2 位(部分译码时所需的最少高位地址线数). 【5.18】 用 8K8 的 RAM 存储器芯片, 构成 32K8 的存储器, 存储器的起始地址为 18000H, 要求各存储器芯片的地址连续, 用 74LS138 作译码器, 系统中只用到了地址总线 A18~A0, 采用部分译码法设计译码器电路,试画出硬件连线图,并列表说明每块芯片的地址范围。 (1)用 8K8 的 RAM 存储器芯片,构成 32K8 的存储器,需(32/8=)4 片芯片; (2)8K8 位的 RAM 芯片具有 13 位地址线(A12~A0、8K=213) ,故需 13 条低位地址 线(A12~A0)作为片内直接选择; (3)由于只有 4 片芯片,即需要 4 位片选信号。采用部分译码方式,实际需要高位地址 线为 2 位(部分译码时所需的最少高位地址线数) ,现在则有 19-13=6 条,其中三 条接入 138 的 CBA,3 条接入使能端;. 译码方案及一组连续可用的地址范围如下。 A18 Y 0 Y 1 Y 2 Y 3 0 0 0 0 G2A A17 0 0 0 0 G2B A16 1 1 1 1 G1 A15 1 1 1 1 C A14 0 0 1 1 B A13 0 1 0 1 A
N EQU $-BUFF MIN DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;…… LEA SI, BUFF MOV CX,N-1 MOV AL, [SI] NEXT: CMP AL, [SI+1] JBE/JLE MOV SKIP: INC LOOP MOV MOV LOP: MOV MOV ROR MOV AND ADD CMP JB ADD MOV INT DEC JNZ MOV INT ENDS END DL,MIN CL,4 DL,CL MIN,DL DL,0FH DL, 30H DL, 3AH DISP DL, 7 AH,2 21H CH LOP AH,4CH 21H START
A12 A11~A8 A7~A4 A3~A0
~ A0 直接连到每个存储器芯片上,并 4 个片选信号。
用地址线 A19 ~ A11 作为地址译码器的输入,需要译码器产生
地址范围 18000H~19FFFH 1A000H~1BFFFH 1C000H~1DFFFH 1E000H~1FFFFH
0 1 0 1 0 1 0 1
C B A
CS0 CS1 CS2 CS3
8KB 8KB 8KB 8KB
A12--A0
【6.6】某一个微机系统中,有 8 块 I/O 接口芯片,每个芯片占有 8 个端口地址,若起始地 址为 300H,8 块芯片的地址连续分布,用 74LS138 作译码器,试画出端口译码电路,并说 明每块芯片的端口地址范围。 采用部分译码方式(设为 8088 系统)
9
A1
8
A1
7
A1
6
A1
5
A1
4
A1
3
A1
2
A1
1
A1
0
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
0 0 0 0 1 0 0 1 1 1 1 ‘LS138 使能控制 C
0 0 1 1 0 0 1 1 B
0 1 0 1 0 1 0 1 A
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
北京信息科技大学计算机学院计算机系
【4.6】画出示意图,说明下列变量在内存中如何存放。 A1 A2 A3 A4 地址 内容 A1 12H 34H A2 ‘R’/ 52H ‘i’/ 69H ‘g’/ 67H ‘h’/ 68H ‘t’/ 74H ‘.’/ 2EH A3 78H 56H A4 ?/ 00H ?/ 00H ?/ 00H DB DB DW DB 12H, 34H ‘Right’ 5678H 3 DUP (?)