合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案(4)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档