用存储芯片构成128KB的系统存储区。已知:系统存储区的起始地址为80000H。采用全地址编译方式。可选存储芯片有64K1bit,64K4bit,16K8bit,16K4bit等。
要求:(1)选择最合适的存储器芯片,并说明原因。
(2)画出完整的连接图
(3)从8001H:0000H处开始连续读10个字节数据,并判断是否为“Y”,若是,则从端口1060H输出至外设。试编写指令序列完成以上功能。
(1) 选择最合适的存储器芯片
系统存储区大小为128KB,起始地址为80000H,因此可选存储芯片大小需为128KB/16bit=8KB,即每个芯片为8KB×4bit或16KB×2bit。从题目给出的可选芯片中,可以选择64K4bit存储器芯片16片,共计16KB×4bit×16=1024KB×4bit=4096bit=4KB×16=64KB×8=512KB×4=256KB×2=128KB。
因此,选择64K4bit存储器芯片作为最合适的存储器芯片。
根据题目要求,需要构成128KB的系统存储区,因此可以选择两个64K1bit的存储芯片,每个芯片可以存储64KB的数据,总共可以存储128KB的数据。同时,由于采用全地址编译方式,每个存储芯片的地址线需要接到CPU的地址线上,因此选择1bit的存储芯片更加方便。
第三问:
MOV AX, 8001H
MOV DS, AX
MOV SI, 0000H
MOV DX, 1060H
MOV CX, 10
MOV DI, 0000H
; 读取数据并判断是否为“Y”
REP INSB
CMP BYTE PTR ES:[DI], 'Y'
JNE END
; 输出数据到端口1060H
OUT DX, AL
END:
。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!