请教微机原理高手几道题

2024-12-22 10:31:33
推荐回答(1个)
回答1:

1。将A口变为输出,B口变为输入,试完成对下列程序的修改。
L8255_CMD EQU 2A3H
L8255_PA EQU 2A0H
L8255_PB EQU 2A1H
L8255_PC EQU 2A3H
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
BEGIN:MOV CX,0FFH
AA: LOOP AA
MOV DX,L8255_CMD
MOV AL,82H;控制字变为10000010=82H
OUT DX,AL
NOP
BB: MOV DX,L8255_PB
IN AL,DX
MOV DX,L8255_PA
OUT DX,AL
JMP BB
CODE ENDS
END BEGIN

2.栈顶地址=SS*16+SP=2FF00;压栈操作先SP=SP-2;然后数据入栈,低位在上,高位在下,所以栈顶两个字节应该是57;
3.(1)24根地址线可以访问的地址空间是2^24=16M(1M=1024k(*^__^*) 嘻嘻…… 啰嗦啦!!!);那么如果要用512K*16的模块,首先不用进行位扩展啦!!!需要多少块呢?很简单16M/512K=32;
(2)这一问呢就需要进行字扩展和位扩展了,也不难,一共需要(512K/64K)*(16/8)=8*2=32块;
(3)主存共需要32*32个SRAM;CPU通过地址译码寻址;
4;就是将33H,50H,F8H分别送到外部I/0不过题目貌似少了些条件,我有点不理解,我就写这些了,希望对你能有点帮助!!!