编辑: 思念那么浓 | 2019-07-09 |
3 分,能提取出每位
4 分,判断字母
4 分,输出显示
4 分DATA SEGMENT DISPLAYNUM EQU 12E4H DATA ENDS ECHO MACRO PUSH AX MOV AH,02H INT 21H POP AX
3 ENDM STACKS SEGMENT STACK DB
128 DUP(0) STACKS ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKS START: MOV AX,DATA MOV DS,AX MOV BX,DISPLAYNUM MOV CX,0404H MOV BP,10H AGAIN: ROL BX,CL MOV AX,BX XOR DX,DX DIV BP CMP DL,9 JBE NEXT ADD DL,7 NEXT: ADD DL,30H ECHO DEC CH JNZ AGAIN MOV AH,4CH INT 21H CODE ENDS END START
2、编写程序,计算(W+(X*Y-Z-300))/W,其中 W、X、Y、Z 均为
16 位带符号数,计算结果 的商存入 AX,余数存入 DX. (10 分)
4 评为标准:未进行符号扩展 -2 分,为采用有符号数乘除 -2 分MOV AX, X IMUL Y ;
X*Y MOV CX, AX MOV BX,DX MOV AX, Z ;
Z TO
32 BIT CWD SUB CX, AX ;
X*Y-Z SBB BX,DX SUB CX,
300 ;
X*Y-Z-300 SBB BX,
0 MOV AX, W ;
W TO
32 BIT CWD ADD AX, CX ;
W+( ) ADC DX, BX IDIV W ;
/W
四、接口题(每题
10 分,共20 分)
1、编写使 8251A 发送数据的程序.将8251A 定义为异步传送方式,波特率因子为 64.采用
5 奇校验,1.5 位停止位,8 位数据位.8251A 与外设有握手信号,采用查询方式发送数据.设8251A 数据口地址为 04A0H,控制口地址为 04A2H,发送的数据为字符 A . MOV DX, 04A2H MOV AL, 10011111B ;
9FH 方式控制字 , (3 分) OUT DX, AL MOV AL, 00110001B ;
31H 操作控制字 (3 分) OUT DX, AL WAIT: IN AL, DX ;
判断循环体 (3 分) AND AL, 01H JZ WAIT MOV DX, 04A0H MOV AL, '
A'
;
发送字母 A (1 分) OUT DX, AL
2、采用 8255A 作为与打印机接口的电路,CPU 与8255A 利用查询方式输出数据,硬件如图 所示,试编程实现将 BX 寄存器数据发送打印机打印(先低位后高位) .设8255A 的端口地址
6 为90H~93H.设DELAY 为延时子程序,可直接调用,编写实现该功能的程序. MOV CX,2 ;
设置循环次数 (两个字节循环控制(2 分) MOV AL,10000XX1B ;
81H 控制字, B 口数据任意 (2 分) OUT 93H, AL MOV AL,00001111B ;
0FH 撤销选通信号 PC7=1,选通控制(3 分) OUT 93H, AL WAIT: IN AL, 92H (端口判断
3 分) AND AL,00000001B ;
01H ;
测试 PC0 状态 JNZ WAIT MOV AL, BL OUT 90H, AL MOV AL, 00001110B ;
0EH OUT 93H, AL ;
使PC7=0 有效 CALL DELAY MOV AL, 00001111B ;
0FH 撤销选通信号,PC7=1 OUT 93H, AL XCHG BL, BH DEC CX JNZ WAIT
四、综合题(共15 分)
7
1、采用
8253 和8255A 设计一个倒计时器,硬件接线如图所示.当控制开关 K 按下后,两位 七段译码管开始从
60 秒倒计时,并实时显示倒计时 BCD 码值,当倒计时到
0 时,译码管停 止刷新,并一直显示
00 ,同时 LED 灯亮起.设8253 的端口地址为 300H~303H,8255A 端口地址为 400H~403H,请根据以上功能,编写相应程序. (15 分) g a b c d e f g a b c d e f CS0 CS1 PA0 ~ PA7 PC0 PC1 8255A GATE0 CLK0
8253 OUT0 GATE1 CLK1 OUT1 GATE2 CLK2 OUT2 10K时钟发生器 5V 5V K LED R
8086 CPU 评分标准:8253 设置及程序控制
4 分,8255 设置及程序控制
4 分,2 位LED 显示控制
7 分, 其中构造译码表
2 分. 参考答案: 根据题意,
1、
8253 定时器
0 工作在周期性方波输出模式 (方式 3) , 计数初值为 10000, 控制字为 00110110B (36H,二进制计数模式)或00110111(37H,BCD 计数模式)
2、定时器
1 工作在单稳态触发模式(方式 1) ,计数初值为 60,工作在 BCD 计数模式,控制 字为 01010011(53H) . (如果工作中二进制模式,读出了的计数值需要
10 进制调整)