2、答:由于:物理地址=400A5H=段地址*16+偏移地址=40020H+偏移地址
偏移地址=400A5+40020=85H
从奇地址400A5H中读出:11H;从偶地址400A6H读出一个字:22H,33H;从偶地
址400A8H读出一个字:44H,55H;从偶地址400AAH中读出:66H。共读4次。 3、答(1)因为8位二进制数为1个字节,所以16位地址能存储216=64KB个字节的信息; (2)需要64K×8/8K×4=16片RAM
(3)因为需要16片来构成存储器,而16片需要4位地址线进行译码输出,故需要4位做芯片选择。
4、答:数据输入寄存器,数据输入寄存器,状态寄存器和控制寄存器。数据端口能对传送数据提供缓冲,隔离,寄存的作用 ;状态寄存器用来保存外设或接口的状态;控制寄存器用来寄存CPU通过数据总线发来的命令。
5、答:中断向量表的功能是当中断源发出中断请求时,即可查找该表,找出其中断向量,
就可转入相应的中断服务子程序。1AH在中断向量表的位置是1AH*4=68H在中断向量表0000:0068处;20H在中断向量表的位置是80H在中断向量表0000:0080处。
五、程序设计题
1、参考程序: DATA
SEGMENT
DATA1 DB 0,1,2,3,4,5,6,7,8,9 ; DATA
ENDS
STACK SEGMENT STA DB 20 DUP (?) TOP EQU LENGTH STA STACK ENDS CODE
SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV MOV DS,AX MOV MOV
AX,STACK SS,AX
AX,DATA
MOV AX,TOP MOV SP,AX
MOV MOV LEA
CX,10 AL,0 BX,DATA1
AL,[BX]
;大于等于转移
AGAIN: CMP JGE MOV
NEXT AL,[BX]
BX
NEXT : INC LOOP MOV INT CODE END
AGAIN AH,4CH 21H ENDS
START
2、定时器1的计数初值:n1?T1?fCLK1?5ms?2?106?10000 定时器0的计数初值:n0?fCLK0?T0?计数器1、0的初始化程序如下:
MOV
AL,00110110B
1?5?1000 ?35ms?10OUT 53H,AL MOV OUT MOV OUT MOV OUT MOV OUT MOV OUT
AX,1000 50H,AL AL,AH 50H,AL AL,01110110B 43H,AL AX,10000 41H,AL AL,AH 41H,AL
3、(1)MOV AL, 10010000B ;端口 A 方式 0,输入;端口 C 输出 OUT 83H, AL
(2)SCAN: MOV AL,0BH
OUT 83H, AL ;扫描第一行
IN AL, 80H CMP AL, FFH
JNZ DSCAN ;判断是否有键按下 MOV AL,07H
OUT 83H, AL ;扫描第二行 IN AL, 80H CMP AL, FFH
JZ SCAN DSCAN: MOV BL, AL
CALL DELAY-20MS IN AL, 80H CMP AL, BL
JNZ SCAN HLT
;判断是否有键按下 20ms ;判断是否同一键 ;确认有键按下 ;延时