系别 班次 学号 姓名 .
………密………封………线………以………内………答………题………无………效……
6.PUSH AL
错误,操作数必须是16位的
7.XCHG AH,AL 正确
8.JMP BYTE PTR[BX]
错误,CS及IP都是16位的寄存器,JMP不能把8位地址放到CS和IP中,若BPTE改为WORD则可将偏移地址放入IP;若改为DWORD则可把段基址及偏移地址分别放入CS和IP
9.CMP AL,0FH 正确
10.MUL 25
错误,MUL指令不允许乘立即数.
四、简答题
1.如果DATA1和DATA2分别指向含有300和100个字节单元数据段,则下面的程序完成什么功能? MOV CX,100 MOV BX,200 MOV SI,0 MOV DI,0
NEXT: MOV AL,DATA1[BX][SI] MOV DATA2[DI],AL INC SI INC DI
LOOP NEXT 解:功能是将数据段DATA1的后100个数据传送到数据段DATA2中去,其中基址 [BX] 是指向了DATA1段的倒数第100个数据。
2.8255A有哪些工作方式?简述各方式的特点和基本功能。
答:1)8255A有三种工作方式:基本输入,输出方式0,选通输入、输出方式1,双向数据传送方式2 2)基本输入,输出方式0的特点和基本功能:
特点:无联络信号要求
功能:两个8位并行通道,A通道,B通道
两个4位并行通道,C通道高4位,C通道低4位 各通道可为输入通道或输出通道 为输入通道时,无锁存功能 为输出通道时,有锁存功能
4个通道,共有24=16种输入,输出组合。 3)选通输入、输出方式1 的特点和功能: 特点:要用联络信号,有中断输出。
第 6 页 共 9页
系别 班次 学号 姓名 .
………密………封………线………以………内………答………题………无………效……
A,B,C通道分为两组使用,C通道作为联络信号及中断输出。
功能:A口,B口,可作为输入、输出,输入输出时均有锁存功能,可工作于是查询方式及中断方式。 4)双向数据传送方式2的特点及功能
特点:外设与CPU之间的数据可经8255A的A通道双向传送,
功能:仅A通道于工作在方式2
用于需双向数据传送的外设,如磁盘驱动器,可工作于查询方式和中断方式。
五、应用题
1.编写计算AX2+BX+C类型多项式值的程序段。说明:1。系数A,B,C为正整数,X取正整数。 2。多项式的值存在于AX 3。数据说明:BUF DW A,B,C X DW XX 解:MOV AX,X ;取X值
MUL AX ;求X2值 LEA SI BUF ;使SI指向BUF MUL [SI] ;求A*X2 值
INC SI ;SI指向下一个字的内容 PUSH AX ;AX入堆栈 MOV AX,X ;取X存入AX中 MUL[SI] ;求B*X值 INC SI ;SI指下一个字 ADD AX,[SI] ;求B*X+C POP BX ;求A*X2入BX中
ADD AX,BX ;求A*X+B*X+C 存入
2.生产现场数据采集
有一台微机通过两个I/O端口采集数据。端口1为状态口(地址220H),端口2为数据口(地址221H),微机不断查询端口1,若其D0位为0,表示端口2无数据送来,则继续查询,直到端口1的D0变为1;则表示端口2已有新数据送来。CPU立即接收该数据,并转存到内存缓冲区BUF中,然后再查询端口1,如此循环往复,试完成:1)画出程序流程图,2)编写完整程序。 解:1)流程图:
2
第 7 页 共 9页
系别 班次 学号 姓名 .
………密………封………线………以………内………答………题………无………效……
开始 初始化 输入状态口内容 Y 测试状态标志 D0=0? N 输入数据 存至BUF缓冲区 修改缓冲区指针
2)DATA SEGMENAT PORT1 EQU 220H
PORT2 EQU 221H
BUF DB X DUP(?) ;内存缓冲区长度 DATA ENDS
CODE SEGMENT
ASSUME CS: CODE,DS:DATA MAIN PROC FAR PUSH DS MOV AX,0
PUSH AX
START:MOV AX,DATA MOV DS,AX LEA SI,BUF
AGA: MOV DX,PORT1 AGA1:IN AL,DX TEST AL,01H JZ AGA1
MOV DX,PORT2 IN AL,DX
第 8 页 共 9页
系别 班次 学号 姓名 .
………密………封………线………以………内………答………题………无………效……
MOV [SI],AL INC SI JMP AGA RET MAIN ENDP CODE ENDS END START 第 9 页 共 9页