2016年秋季学期《微机原理与接口技术》综合练习题(2)

2019-08-30 11:35

STACK SEGMENT

DW 20H DUP(0) STACK ENDS 说明程序段的功能。 8.

MOV DL,AL NOT DL

TEST DL,00000100B JE EXIT 说明程序段的功能。 9.

MOV CX,15H MOV SI,1

MOV AL,20H;20H为空格的ASCII值 NEXT: INC SI

CMP AL,ASCSTR[SI] LOOPNE NEXT JNE NOT_FOUND : : NOT_FOUND: : :

说明程序段的功能。 10.

MOV AL,FIRST MUL AL SUB AX,50 HLT

说明程序段的功能。

六. 编写程序

1. 2.

在两个无符号数中找出较大者,存入结果单元MAX中。 计算分段函数

x?5 当x?5?y??5 当x?5 ? 其中X值在内存NX单元,函数值将存于NY单元,设计汇编程序段。

3. 有符号函数

当x?0?1 ?y??0 当x?0??1 当x?0?设给定的X值存放在SNUM单元,要求根据X的取值求Y值,并将Y的结果存入DNUM单元中。 4. 在ADDR单元中存放着16位数Y的地址,试编一程序将Y中1的个数存入COUNT单元中.

6

5. 编写程序,计算梯形的面积A,公式为

A?(L1?L2)?H2请写出完整的程序。

6. 求出前20个斐波那契(Fibonacci)数,存入数据段FN开始的区域中。斐波那契数的

定义为 fo=0 f1=1

fn+2=fn+fn+1

7. 已知一个字数组从内存TAB单元开始存放,长度为N,要求计数该数组中0的个数,

结果存入COUNT单元,设计汇编程序段。

8. 在首地址为TABLE的数组中,存有100个字数据,试编写程序求出相等次数最多的数,

并将次数存入COUNT单元中。

七. 设8250的数据位7位,停止位1位,采用偶校验。

试完成:1. 写出数据格式控制字

2.写出设置数据格式的初始化程序

八. 利用BIOS中断将串行接口初始化为9600波特,8位数据位,1位停止位,偶校验。 九. 设8254计数器2工作于方式3,并置计数初值为533H,请编程。 十. 已知8255A当A组工作于方式1且为输出,B组工作于方式0为输入,C口除用作控制信

号的其余各位均为输出.地址线A9~A2=10000000B时,该芯片的CS端有效,试完成: 1. 写出工作方式选择控制字 2. 写出初始化程序 3. 写出下列信号与PCi的对应关系 ① OBFA_________ ② ACKA_________ ③ INTR_________

十一. 若8086系统中采用单片8259A作为外部可屏蔽中断的优先级管理,正常全嵌套方

式,边沿触发,非缓冲连接,非自动中断结束,端口地址为20H和21H。其中某中断源的中断类型码为0AH,其中断服务子程序的人口地址是:2000:3A40H。 (1)请为8259A设置正确的初始化命令字,并编写初始化程序。

(2)请问本题中的中断源应与IR的哪一个输入端相连,其中断矢量地址是多少,矢量区对应的4个单元的内容是什么?

十二. 在某应用中,8259A工作于正常全嵌套方式,要求在为中断源IR4服务时,设置特

殊屏蔽方式,开放较低级的中断请求,请编写有关程序片段。已知8259A的端口地址为20H和21H。

十三. 当数据从8255A的端口C往数据总线上读出时,8255A的几个控制信号CS,A1,A0,

RD和WR分别是什么?

十四. 8255A的方式控制字和置/复位控制字都是写入控制端口的,那么,它们是由什么

来区分的?

十五. 对8255A设置工作方式,8255A的控制端口地址为00C6H。要求端口A工作在方式

1输入,端口B工作在方式0输出,端口C的普通I/O线为输入。

十六. 设8255A的4个端口地址为00C0H,00C2H,00C4H和00C6H,要求用置/复位方式

对PC6置1,对PC4清0。

7

十七. 编程将8254的计数器0设置为方式1,计数初值为3000H;计数器1设置为方式2,

计数初值为2010H;计数器2设置为方式4,计数初值为50,8254的端口地址为3B0H~3B3H。

十八. 用门电路设计产生端口地址为2F0H的译码电路。

十九. 完成下列数制转换。式中B为二进制,D为十进制,Q为八进制,H为十六进制。

(1)1111 0110B= D= H (2)1110 1010B= D= H (3)1010 1010.1B= D= H (4)1010 1010.11B= D= H (5)245D= B= H (6)356D= B= H (7)512 .375D= B= H (8)1111 1011.11B= D= H (9)70ADH B= D (10)ABCDH= B= D

二十. 给出下列数的补码的二进制表示(设机器字长8位):

(1)X=+32D (2)X=-38D

(3)X=-63D (4)X=-64D (5)X=-0D (6)X=+42D

(7)X=-110 0100B (8)X=+100 0000B (9)X=-111 1111B (10)X=+100 1100B (11)X=-000 0000B (12)X=+010 1010B

二十一. 已知x,y,求[x-y]补=? 并求x-y=?

(1)X=-38D Y=-64D

(2)X=+42D Y=-64D

(3)X=-101 0111B Y=+101 0101B (4)X=+101 1101B Y=+101 0101B

二十二. 若AH=7AH,AL=3CH,能否说AX=7A3CH,为什么? 二十三. 请将左边的词汇和右边的说明联系起来,括号内填入所选的A,B,C,D等。

(1)CPU ( )A总线接口部件,实行执行部件所需要的所有总线操作。

(2)存储器( )B指示下一条要执行指令的偏移地址。

(3)EU ( )C保存各逻辑段的起始地址的寄存器。PC机有4个段寄存器CS,DS,SS,ES。

(4)BIU ( )D取指令,分析并控制指令执行的部件。

(5)堆栈 ( )E惟一代表存储器空间中的每个字节单元的地址。 (6)IP ( )F保存当前栈顶地址的寄存器。

(7)SP ( )G存储程序、数据信息的记忆装置,PC机有RAM和ROM两种。 (8)段寄存器 ( )H以后进先出方式工作的存储空间

(9)物理地址 ( )I告诉CPU要执行的操作,在程序运行时执行。

(10)指令 ( )J执行部件,由算术逻辑单元(ALU)和寄存器等组成。

二十四. 你有几种方法可以实现下列要求,给出相应的指令或指令序列。

(1)清累加器AX (2)清进位标志。

(3)将累加器内容(AX)乘以2(不考虑溢出) (4)将累加器内容(AX)除以2(不考虑余数)

8

二十五. 指出下列指令的错误

(1)MOV CS,BX (2)MOV CH,SI (3)PUSH AL

(4)MOV DX,[BX][BP] (5)SHL AX,CX (6)MOV CL,100H

二十六. 写出下列程序段执行后;AX= H?

MOV AX,0ABCDH MOV CL,4 AND AL,0FH AND AL,30H SHL AH,CL AND AH,0F3H

二十七. 根据以下要求写出相应的汇编语言程序段;

(1)把AX寄存器和DX寄存器内容相减,结果存入DX寄存器中。 (2)用寄存器BP和DI的基址变址寻址方式,把存储器数据段中的一个字节与AL寄存器的内容相减,结果保存在存储器单元中。

二十八. 下列变量各占多少字节?

NUMBYTE DB 1,10DUP(?),‘$’

NUMWORD DW 11H,25H

NUMDWORD DD 20H,10 DUP(?),20H NUMDUP DB 2DUP(5DUP(1,2,‘xyz’)) STING DB‘I AM A STUDENT’,‘$’

二十九. 该程序中数据段定义如下:

DSEG SEGMENT

STRG DB‘I AM A TEACHER!’,‘$’ MSPA DB 2DUP(?)

NUM DB 1,2,3,4,5,6,7,8 DISP DW 2 DSEG ENDS

(1)执行下列指令段后 LEA BX,NUM ADD BX,DISP

MOV AX,WORD PTR[BX]

AX= H BX= H (2)执行下列指令段后 XOR BX,BX MOV AX,[DISP]

MOV SI,OFFSET NUM ADD BX,WORD PTR[SI]

AX= H ,BX= H

三十. 在程序的括号中分别填入下述指定的指令后,给出程序的执行结果。

程序如下:

9

CSEG SEGMENT

ASSUME CS:CSEG START:MOV AX,2 MOV BX,3

MOV CX,4 MOV DX,5

NEXT:ADD AX,AX MUL BX SHR DX,1

( )

MOV AH,4CH INT 21H CSEG ENDS

END START

(1)若括号中填入LOOP NEXT指令 执行后 AX= H BX= H CX= H DX= H

(2)若括号中填入LOOPZ NEXT指令,执行后 AX= H BX= H CX= H DX= H

(3)若括号中填入LOOPNZ NEXT指令,执行后 AX= H BX= H CX= H DX= H

三十一. 阅读程序,给出该程序的功能

DSEG SEGMENT

ARFA DB 500DUP(?) BRTA DB 100DUP(?) DSEG ENDS; CSEG SEGMENT

ASSUME CS:CSEG ,DS:DSEG START PROC FAR

MOV AX,DSEG MOV DS,AX

MOV CX,100 MOV BX,CX ADD BX,BX ADD BX,BX XOR SI,SI

10

AND DI,0000H

LP1: MOV AL,ARFA[BX][SI] MOV BRTA[SI],AL

INC SI LOOP LP1 QQQ:MOV AH,4CH INT 21H START ENDP CSEG ENDS

END START (1)该程序完成何功能

(2)程序执行到QQQ处,SI= H,DI= H,

BX= H,CX= H,

三十二. 阅读程序

DSEG SEGMENT

DATA1 DW 01H, 2BBH,3CCCH,4DDDH,5EEEH DISP1 DW 3 DSEG ENDS; CSEG SEGMENT

ASSME CS;CSEG,DS:DSEG BEGIN:

MOV AX,DSEG MOV DS,AX MOV CX,DATA1

MOV BX,OFFSET DATA1 ADD BX, DISP1 NEXT:DECBX

MOV AX,[BX+4] LOOP NEXT PPP: MOV AX,4C00H

INT 21H CSEG ENDS

END BEGIN

该程序执行到PPP外:AX= H BX= H

CX= H

11


2016年秋季学期《微机原理与接口技术》综合练习题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:劳动是人的第一需求

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: