微机原理与接口技术第五章、第六章课后习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2114: 128片,10位和6位。
6116: 32片,11位和5位。
6264: 8片,13位和3位。
5.4
2114:
6116
6264
6.4
stack segment stack 'stack'
dw 32 dup(0)
stack ends
code segment
start proc far
assume ss: stack, cs: code
push ds
sub ax, ax
push ax
CALL I6116 ;调用写入6116子程序
MOV AH, 2 ;回车换行
MOV DL, 0DH
INT 21H
MOV DL, 0AH
INT 21H
CALL O6116 ;调用读出6116子程序
ret
;写入6116:将键入字符的ASCII码写入6116
I6116 PROC
MOV BL, 0 ;定义页地址码(16个地址为一页)
MOV CX, 128 ;定义页数
LOP1: PUSH CX
MOV DX, 380H ;将页地址从74LS273输出
MOV AL, BL
OUT DX, AL
MOV CX, 16 ;定义页内单元数
MOV DX, 390H ;将键入数写入16个单元
LOP2: MOV AH, 1
INT 21H
OUT DX, AL
INC DX
LOOP LOP2
INC BL ;换页
POP CX
LOOP LOP1 ;页数未满换页重新写入16个单元
RET
I6116 ENDP
;读出6116:将写入6116的数据读出送显示
O6116 PROC
MOV BL, 0
MOV CX, 128
LOP3 PUSH CX
MOV DX, 390H
MOV AL, BL
OUT DX, AL
MOV CX, 16
MOV DX 380H ;将16个单元的数据送显示
LOP4: IN AL, DX
PUSH DX
MOV DL, AL ;将6116中读出的ASCII码送DL
MOV AH, 2 ;2号功能调用显示DL中的字符
INT 21H
POP DX
INC DX
LOOP LOP4
INC BL
POP CX
LOOP LOP3
RET
O6116 ENDP
end start
6.5
stack segment stack 'stack'
dw 32 dup(0)
stack ends
code segment
start proc far
assume ss: stack, cs: code
push ds
sub ax, ax
push ax
MOV AH, 2 ;用2号功能调用输出字符,调用号送AH
MOV CX, 100 ;字符个数送计数器
MOV DX, 380H
WAIT0: IN AL, DX ;从244读入
TEST AL, 80H ;测试状态位是否为0
JNZ WAIT0 ;不为0,等待继续测试状态
WAIT1: IN AL, DX ;状态为0,继续读入
TEST AL, 80H ;测试状态是否为1
JZ WAIT1 ;不为1,等待继续测试状态
IN AL, DX ;状态为1,读入数据即ASCII码
AND AL, 7FH ;去掉状态位
MOV DL, AL ;ASCII码送DL,输出字符
INT 21H
LOOP WAIT0-3 ;跳到给DX赋值380H的MOV指令,该指令为3字节
ret
start endp
code ends
end start