微机原理复习资料 下载本文

1. 若数据段定义如下,请填写对应的内存单元存储情况(以十六进制表示,地址上低下高)。 XX DB -1 YY DW ‘AB’, -1

2. 请编写子程序计算1+2+3+…+199+200,和数放入BX

3. 阅读程序,回答问题 CRLF MACRO

MOV AL, 02H MOV DL, 0DH INT 21H

MOV DL, 0AH INT 21H

CRLF ENDM

(1)该宏指令定义中有两条错误指令,请找出并改正。

(2)宏指令CRLF的作用是什么?

4.已知芯片8254的口地址范围是200H~203H,输入频率为2MHZ,现欲使计数器1#输出2KHZ的方波信号,请完成下列初始化子程序。(每空1分,共5分) I8254A PROC

MOV DX, (1) MOV AL, (2) OUT DX, AL

MOV DX, (3) MOV AL, (4) OUT DX, AL (5) I8254A ENDP

5. BUF DB ‘THE QUICK BROWN FOX’ ; 字符串中共有三个空格 LL EQU $-BUF; LL= S1 DB ‘HELLO’

LLL EQU $-S1; LLL= LLLL EQU $-BUF; LLLL= 6. 根据以下要求各用一条指令设计实现:

(1)将栈顶元素赋值给寄存器DX (2)CX寄存器清零 (3)附加段偏移地址2345H字节单元内容送BH (4)AX寄存器高8位不变,低8位取反 (5)DL寄存器中的无符号数除以2 7. 阅读程序,回答问题(TIMER为子过程的名称) MOV DX, OFFSET TIMER MOV DS, SEG TIMER MOV AH, 25H MOV AL, 1CH INT 21H

(1)该程序段中有一条错误指令,请改正。

(2)请写出一条和横线处等价的指令? (3)该程序段的作用是什么?

8.已知芯片8255A的口地址范围是218H~21BH,A口工作在方式1查询式输出,B和C口工作在方式0输入,请完成下列初始化子程序。 I8255A PROC

MOV DX, (1) MOV AL, (2) OUT DX, AL

MOV AL, (3) OUT DX, AL (4) (5)

五、综合题

1.A、B两机通过主串口传输字符’A’,通信速率为1200bps(0060H),要求每帧数据中包含2个停止位,无校验,7个数据位。

(1)为A机编写以中断方式进行发送的初始化子程序。 (2) 为B机编写以查询方式接收字符的程序段。 (3) 每秒钟可以传送多少位字符’A’ ?

(1). 为主机A编写以中断方式进行发送的初始化子程序。I8250 PROC

MOV DX, 3FBH MOV AL, 80H

OUT DX, AL MOV DX,3F9H MOV AL, 00 OUT DX, AL MOV DX, 3F8H MOV AL, 60H OUT DX, AL MOV DX, 3FBH

MOV AL 00XX0110B OUT DX, AL MOV DX, 3F9H MOV AL, 02H OUT DX, AL MOV DX, 3FCH

MOV AL, 000010XXB OUT DX, AL RET I8250 ENDP;

(2). 为主机B编写以主串口查询方式接收字符的程序段。 SCANR:MOV DX, 3FDH IN AL,DX

TEST AL,01H;00000001B JZ SCANR; MOV DX,3F8H IN AL,DX;

(3). 每秒钟可以传送多少位字符’A’ ? 1200bps/10b=120

2. A、B两机通过主串口传输数据段内BUF单元中的字符串’ABCDEF$’,通信速率为2400bps(分频系数0030H),要求每帧数据中包含1个停止位,偶校验,7位数据位。 (1)为B机编写以中断方式进行接收的初始化子程序。

(2)为A机编写以查询方式发送字符的程序段,如遇到’$’符号则结束。 (1). 为主机B编写以中断方式进行接收的初始化子程序。 I8250 PROC

MOV DX, 3FBH MOV AL, 80H

OUT DX, AL;

MOV DX, 3F9H MOV AL, 00 OUT DX, AL MOV DX, 3F8H MOV AL, 30H OUT DX, AL MOV DX, 3FBH

MOV AX, 1AH OUT DX, AL MOV DX, 3F9H MOV AX, 01H OUT DX, AL MOV DX, 3FCH MOV AX, 08H OUT DX, AL RET I8250 ENDP