当前位置:首页 > 微机原理习题
MOV SP,6000H PUSHF POP AX OR AL,01H PUSH AX POPF
3.现有下列数据段:(3分)
DATA SEGMENT
COUNT DB 12
STR1 DB‘ABCDEFGHIJKL’ BUF DB COUNT DUP(0) DATA ENDS
下面的程序段是实现把STR1中所有字符逆向传送到BUF缓冲区中(即STR1中第一个字符送到BUF的最后一个单元,STR1中最后一个字符送到BUF的第一个单元),请完善之。(*和**处只填写一条指令)
MOV SI,OFFSET BUF-1 MOV DI,OFFSET BUF MOV CX,__________ ________*__________ LOP:MOVSB
_______**__________ LOOP LOP
4.阅读下列程序段:(4分)
??
STRING DB‘ABCDEFGHI’ ?? MOV AH,01H INT 21H AND AL,0FH DEC AL XOR AH,AH
MOV BX,OFFSET STRING ADD BX,AX MOV DL,[BX] MOV AH,02H INT 21H ?? 试回答:
;从键盘上输入1~9之间的字符
(1)上述程序段能够实现什么功能?
(2)如从键盘输入字符‘4’,则程序段运行后显示什么?
5.下图为一简化的键盘/数码显示器接口电路,假设端口线a'~h'及1、2脚送“1”电平,可使显示器点亮并能实现键扫描。试问U1、U2及数码显示器的选用。(7分) a. U1为____________ (同相驱动器/反相驱动器)。 b. U2为____________ (同相驱动器/反相驱动器)。 c. 数码显示器为____________(共阴/共阳)数码管。 d.若C键闭合,则端口线3,4的电平为__________。
a’b'h'I/O接口U1abh1234U2ACBD+5V 四、编程(每题10分,共30分)
1.某数据块BLOCK中存放了200个以ASCII码表示的字符,统计其中数字字符的个数,存入NUM单元。
2.自BUFFER单元开始有100个单字节带符号数(以补码表示),找出其中最大值,放入MAXIMUM单元中。
3.自STRING单元开始有一个以“$”结尾的字符串,试编程实现将其中所有大写字母转换为相应的小写字母(A和a的ASCII码分别为41H和61H)。
五、某系统的接口原理简图如下图所示。8255A的A口及B口均工作于方式0,8253通道0(工作于方式2)每20ms启动一次A/D转换,被采集的模拟量信号从ADC0809的IN0接入,经8255A的A口输入,ADC0809转换结束并通过8259的引脚IR2产生中断请求(设IR0的中断类型号为8),其中断服务程序为SAMP。上电时,8259已由系统完成初始化,且8259为非自动中断结束方式。
PA0~PA7PB0~PB7A2A3A4A5A6A7A8M/IOA9&ABC8255AY1A0A1CSA0D~D07A1D0~D7OUT08253A0A1CSA0A1GATE0CLK0+5V2MHzD0~D7+5VD0~D7OEIN074LS138G2AY6G2BG1Y7ADC0809STARTALEADDAADDBEOCADDCIR2D0~D7INT8259CSA0A0INTR
1.根据硬件图,写出8255A,8253各端口的地址(设A10~A15均取0);(4分) 2.说明LED数码管类型;(2分)
3.主程序如下所示,试编写其中的初始化子程序(子程序名为INIT),该程序包括对8253和8255A的初始化、设定ADC0809的中断向量。(6分) CODE
ASSUME CS:CODE MAIN PROC FAR
START: CALL INIT ;调用初始化子程序 REPEAT: …
JMP REPEAT
MAIN ENDP
INIT PROC NEAR ;初始化子程序
… ……INIT ENDP SAMP PROC NEAR
SAMP ENDP CODE ENDS
……
END START
4.编写中断服务程序SAMP,该程序完成读取A/D转换数据,若该数据大于7FH,数码管显示0,否则显示1。(7分)
附:中断向量设置(DOS功能调用 INT 21H)
功能号:AH=25H
入口参数:AL=中断类型号,DS:DX=中断向量(段地址:偏移地址)
参考答案
一、 选择题(每题1分,共20分)
1. A 2. B 3. B 4. D 5. B 6. D 7. A 8. D 9. A 10. B 11. C 12. A 13. A 14. D 15. B 16. D 17. D 18. B 19. C 20. A 二、 是非题(每题2分,共10分)
1. × 2. × 3. × 4. × 5. × 三、 分析题(共21分)
1. AX=2042H,BX=2000H,(2000H)=20H,(2001H)=43H,ZF=0(每空1分) 2. SP=6000H,CF=1(每空1分)
3. COUNT或12,STD,ADD DI,2(每空1分)
4. ⑴ 输入1~9之间的字符,显示对应的英文字母,1对应A,2对应B,?
⑵ D
(每小题2分)
5. a. 同向驱动器(2分)
b.方向驱动器(2分) c.共阴(2分) d.1,0(1分)
四、 编程题(每题10分,共30分)
略
五、1.8255A A口03E4H,B口03E5H,C口03E6H,控制口03E7H,
8253 计数器0:03F8H,计数器1:03F9H,计数器2:03FAH,
控制寄存器:03FBH
(每个地址0.5分,共4分) 2.共阴数码管(2分) 3.略(6分)
共分享92篇相关文档