合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案(4)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二 循环程序设计实验
无思考题
实验二 数制转换实验
1. 实验内容1中将一个五位十进制数转换为二进制数(十六位)时,这个十进制数最小可为多少,最大可为多少?为什么?
最大65535(FFFF ),最小为0.存储器只能存16位,即FFFF 。
2. 将一个十六位二进制数转换为ASCII 码十进制数时,如何确定D i 的值? 01223344D 10D 10D 10D 10D N +⨯+⨯+⨯+⨯=
D i :表示十进制数0~9
将十六位二进制数转换为五位ASCII 码表示的十进制数,就是求D1~D4,并将它们转换为ASCII 码。
该位除以10取商,加30H 。即加30H 为对应的 ASCII 码。
3. 在十六进制转换为ASCII 码时,存转换结果后,为什么要把DX 向右移四次? 取出存入四位十六进制数的下一位。腾出空间。
4. 自编ASCII 码转换十六进制、二进制转换BCD 码的程序,并调试运行 ASCII 码转换十六进制
SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV CX,0004H
MOV DI,3500H
MOV DX,[DI]
A1: MOV AX,DX
AND AX,00FFH
CMP AL,40H
JB A2
SUB AL,07H
A2: SUB AL,30H
MOV [DI+0DH],AL
DEC DI
PUSH CX
MOV CL,08H
SHR DX,CL
POP CX
LOOP A1
MOV AX,4C00H
INT 21H
CODE ENDS
END START实验三 8259中断控制实验(硬件实验)
1.在中断中完成BCD码转换为二进制数。
.MODEL TINY
IO8259_0 EQU 0260H
IO8259_1 EQU 0261H
.DATA
BUFFER DB 8 DUP(?)
ReDisplayFlag DB 0
.STACK 100
.CODE
START: MOV AX,@DATA
MOV DS,AX
MOV ES,AX
PUSH DS
CALL WriIntver
CLI
POP DS
;初始化主片8259
MOV DX,IO8259_0
MOV AL, 13H
OUT DX, AL ;ICW1
MOV DX,IO8259_1
MOV AL, 08H
OUT DX, AL ;ICW2
MOV AL, 09H
OUT DX, AL ;ICW4
MOV AL, 0 ;OCW1
OUT DX, AL
MOV SI, 3500H
MOV DI, 3510H
STI
AA1: NOP
JMP AA1
WriIntver PROC NEAR
PUSH ES
MOV AX,0
MOV ES,AX
MOV DI,20H
LEAAX,MIR7
STOSW
MOV AX,CS
STOSW
POP ES
RET
WriIntver ENDP
MIR7:
STI XOR AX,AX
MOV AL, [SI]
ADD AL, AL
MOV BL, AL
ADD AL, AL
ADD AL, AL
ADD AL, BL
INC SI
ADD AL, [SI]
MOV [DI], AL
INC SI
INC DI
MOV AL, 20H
MOV DX,IO8259_0
OUT DX, AL ;中断结束命令
IRET
END START