汇编原理复习题及答案 下载本文

作于方式0 【答案】

查询方式程序:

设打印机控制口为83H, PA口为80H,PC口为82H

MOV AL, 88H (控制字若为8AH,8CH,8EH也对) OUT 83H, AL MOV AL, 05H OUT 83H, AL

WAIT:IN AL, 82H TEST AL, 40H JNZ WAIT MOV AL, BL OUT 80H, AL MOV AL,04 OUT 83H, AL INC AL

OUT 83H, AL

6. 图为非编码键盘和微处理器的接口电路。图中8255A端口A口和B口均工作在方式0,前者

用作输出,后者用作输入。设端口地址为0FFF8H,0FFFAH,0FFFCH,0FFFEH,请回答:(1)写出8255A的初始化程序(2)图中小键盘可以设置的键数最多是多少?(3)无键按下时,B口读入的列码B7B6…B0是多少?

万维试题库系统 第 13 页

【答案】

(1)MOV DX,0FFFEH

MOV AL,1000X01XB ;X是为任意值 MOV DX,AL (2)64 (3)0FFH

7. 如图所示,开关K1-K3打开对应发光二极管L0-L3亮,;开关闭合则对应的发光二极管不亮,编写初始化代码和控制程序。端口A-C,控制字地址为FF0H-FF3H。

【答案】

MOV DX , 0FF3H MOV AL , 10000001B OUT DX , AL MOV DX , 0FF2H

万维试题库系统 第 14 页

L1: IN AL , DX

MOV CL, 04H RCL AL ,CL OUT DX , AL JMP L1 8. 8255A 接口电路如图所示。已知8255A 控制字寄存器的端口地址为 103H,编写 8255A 初始化程序和循 环彩灯控制程序。初始时 D0 亮,其 余不亮,D0 亮一秒后移位一次,D1 亮,其余不亮,以此类推每隔一秒移位一次,每移位 8 次为一个循环。 共循环 8 次。要求用汇编语言写出 满足上述要求的程序段(已知一个 延时 1 秒的子程序入口地址为DELAY1S)。

【答案】

MOV DX , 103H MOV AL , 80H OUT DX , AL

位可置 0

MOV CX , 8 MOV DX , 101H

AGAIN: MOV AL , 01H 第一个彩灯

NEXTP: OUT DX , AL

CALL DELAY1S

持 1S

SHL AL , 1 JNZ NEXTP LOOP AGAIN

; 103H 为方式控制字地址

;设置该 8255 B 口为方式 0 输出,其他;设置循环次数

;101H 为 B 口数据端口地址

;先设置D0 位输出为高电平,点亮

;B 口相应位发出高电平点亮彩灯,并维

9. 如图所示8255A的 口 地 址 为 3FF0H~ 3 FF3H ,A 口 接 4个 开 关 K 3 ~K 0 , B 口接一个七段 L E D 显 示器 , 用 来显示 4个开关所拨通的16进制数字0 ~ F ,开关都闭合时显示 0 ;都断开时显示 F 。编写实现这种功能的完整的程序。

万维试题库系统 第 15 页

【答案】

完整的程序

DATA TAB

SEGMENT

DB 3FH,06H,5BH,4FH,66H,6DH,7D,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H

3FF0H 3FF1H 3FF3H 90H

;8255 为方式 0,A 口输入,B 口输出

PORTA EQU PORTB EQU CWR FSZ CODE

EQU EQU

DATA ENDS

SEGMENT

ASSUME DS:DATA,CS:CODE

MAIN:MOV AX,DATA

MOV DS, AX

MOV AL ,FSZ MOV DX ,CWR OUT DX ,AL

MOV BX,OFFSET

MAIN1:IN AL,PORTA

AND AL,0FH XLAT

MOV DX ,PORTB OUT DX ,AL JMP MAIN1 MOV AH,4CH

TAB

;设 8255 的工作方式

;设段选码表首地址 ;从 8255 A 口输入数据 ;取数据的低 4 位 ;查表,得段选码

;送至 8255 B 口 ;继续扫描

万维试题库系统 第 16 页