微机原理编程题集合讲解.docx
- 文档编号:27697768
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:18
- 大小:22.30KB
微机原理编程题集合讲解.docx
《微机原理编程题集合讲解.docx》由会员分享,可在线阅读,更多相关《微机原理编程题集合讲解.docx(18页珍藏版)》请在冰豆网上搜索。
微机原理编程题集合讲解
微机原理编程题
1.分支程序设计
①.编写一段程序,已知BUF1单元中有一带符号字节数据X,BUF2中有一带符号字节数据Y,根据以下函数关系编写程序求Z的值,结果存入RESULT单元。
Z=|X-Y|;
DATASEGMENT
BUF1DB05H
BUF2DB02H
RESULTDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,BUF1
MOVBL,BUF2
SUBAL,BL
JNCGREAT
NEGAL
GREAT:
MOVRESULT,AL
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
②.编写一段程序,已知BUF单元中有一无符号字节数据X,假设为8,根据以下函数关系编写程序求Y的值,结果存入RESULT单元。
Z=5XX<10,X-5X>=10;
DATASEGMENT
BUFDB8
RESULTDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,BUF
CMPAL,10
JAEGRE
MOVBL,AL
ADDAL,AL
ADDAL,AL
ADDAL,BL
JMPDONE
GRE:
SUBAL,5
DONE:
MOVRESULT,AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
③.在内存单元BUF中存放一个带符号字节数据X,假定为-2,试根据以下函数关系编写程序求Y的值,结果存入RESULT单元。
Y=1X>0,0X=0,-1X<0;
DATASEGMENT
BUFDB-2
RESULTDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,BUF
CMPAL,0
JGEL1
MOVAL,-1
JMPL3
L1:
JZL2
MOVAL,1
JMPL3
L2:
MOVAL,0
L3:
MOVRESULT,AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
2.N个数中求最大值、最小值.假定N=10,已知原始数据存放在BUF开始的内存单元中,将结果存入MAX,MIN内存单元中。
DATASEGMENT
BUFDB3,5,7,8,5,3,9,7,13,1
COUNTEQU$-BUF
MAXDB?
MINDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,COUNT-1
MOVAL,BUF
MOVMAX,AL
MOVMIN,AL
LEASI,BUF
AGAIN:
MOVAL,[SI+1]
CMPAL,MIN
JGES1
MOVMIN,AL
S1:
CMPAL,MAX
JLES2
MOVMAX,AL
S2:
INCSI
LOOPAGAIN
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
3.编写程序求1+2+3+……+N<100时最大的N值,将N值送NUM单元中,同时将1+2+3+……+N的和送到SUM单元中。
DATASEGMENT
NUMDB?
SUMDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,0
MOVBL,0
AGAIN:
INCBL
ADDAL,BL
CMPAL,100
JBAGAIN
SUBAL,BL
DECBL
MOVNUM,BL
MOVSUM,AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
4.统计字符,正数,负数,零的个数。
①.若自STRING单元开始存放一个字符串,以'$'结尾,试编写程序,
统计字符串的长度,并将结果存入COUNT单元。
DATASEGMENT
STRINGDB'abcdefg$'
COUNTDW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,STRING
MOVCX,0
NEXT:
MOVAL,[SI]
CMPAL,'$'
JZDONE
INCCX
INCSI
JMPNEXT
DONE:
MOVCOUNT,CX
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
②.自BUF单元开始存放10个带符号字节数据,将其中的正数、负数和零选出来,并统计其个数,分别存入PLUS、MINUS和ZERO单元中。
DATASEGMENT
BUFDB5,-2,0,-1,4,0,-4,8,0,-7
PLUSDB?
MINUSDB?
ZERODB?
DATAENDS
CODESEGMENT
ASSUMECS:
DATA,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,BUF
MOVCX,10
AGAIN:
MOVAL,[BX]
INCBX
ANDAL,AL
JSM1
JZM2
INCPLUS
JMPNEXT
M1:
INCMINUS
JMPNEXT
M2:
INCZERO
JMPNEXT
NEXT:
LOOPAGAIN
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
5.求压缩BCD码的和。
已知从BUF1和BUF2单元开始,存放两个各为10个字节的BCD数,求这两个数的和,并将结果存入BUF3单元中。
DATASEGMENT
BUF1DB01H,01H,01H,01H,01H,01H,01H,01H,01H,01H
BUF2DB03H,03H,03H,03H,03H,03H,03H,03H,03H,03H
BUF3DB11DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,10
LEASI,BUF1
LEADI,BUF2
LEABX,BUF3
AGAIN:
MOVAL,[SI]
ADCAL,[DI]
DAA
MOV[BX],AL
INCSI
INCDI
INCBX
LOOPAGAIN
ADCAH,0
MOV[BX],AH
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
6.8255编程题:
(课后实验)
8255工作于方式0,此时PA、PB、PC均为可独立输入/输出的并行口。
8255的各寄存器对应的口地址为:
PA口:
200H,PB口:
202H,PC口:
204H,控制口:
206H。
要求8255工作于方式0,PA口设置为输入,PC口设置为输出。
DATASEGMENT
C8255EQU206H
P8255AEQU200H
P8255CEQU204H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVDX,C8255;设置为A口输入,C口输出
MOVAL,90H
OUTDX,AL
BG:
MOVDX,P8255A;将A口状态从C口输出
INAL,DX
MOVDX,P8255C
OUTDX,AL
JMPBG
CODEENDS
ENDSTART
7.编写一个汇编语言程序,要求从键盘输入一个小写字母,将其转换成大写字母在屏幕上显示出来。
DATA SEGMENT
BUF DB 0DH,0AH,"PLEASE INPUT A CHAR:
$"
DATA ENDS
STACK SEGMENT
DB 20 DUP(?
)
STACK ENDS
CODE SEGMENT
ASSUME DS:
DATA,CS:
CODE ,SS:
STACK
BEGIN:
MOV AX,DATA
MOV DS,AX
LEA DX,BUF ;9号调用显示PLEASE INPUT A CHAR:
MOV AH,9 INT 21H
MOV AH,1 1号调用,从键盘接收1字符
INT 21H
CMP AL,61H /41H ;若比“a”/A小转PEND
JB PEND
CMP AL,7AH /5BH ;若比“z”/Z大转PEND
JA PEND ;
ADD/SUB AL,20H ; 如在“a”与“z”之间则减去20变为大写字符
MOV DL,AL
MOV AH,2 ; 2号功能调用显示一个字符
INT 21H
PEND:
MOV AH,4CH 程序结束运行,返回DOS
INT 21H
CODE ENDS
END BEGIN
8.已知数据段中从偏移量DATA开始存放有10个带符号的字数据,编写程序,找出其中最大的数放入MAX中。
DA TA SEGMENT
DATA DB 10 DUP(?
)
MAX DB ?
DA ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DA
START:
MOV AX,DA
MOV DS,AX
MOV CX,9 LEA BX,DATA+1
MOV AL,DATA PP:
CMP AL,[BX]
JGE NEXT
MOV AL,[BX]
NEXT:
INC BX LOOP PP
MOV MAX, AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
9.编写程序,不用乘法计算C=A/4-B×10,用移位运算。
DATA SEGMENT
A DB ?
B DB ?
C DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DATA
START:
MOV AX,DATA
MOV DS,AX MOV CL,2
MOV BL,A
SAR BL,CL
MOV AL,B
MOV CL,3
SAL B,CL
SAL AL,1
ADD AL,B
SUB BL,AL
MOV C,BL
MOV AH,4CH
INT 21H
CODE ENDS
END START
1. 设M/IO、RD和WR在某时刻分别为1、1和0,指令中与其对应的是MOV ES:
[DI], AX
2. 执行返回指令,退出中断服务程序,这时返回地址来自堆栈区 。
3. 为了设定可编程I/O接口芯片的工作方式,必须通过_ 数据总线_传送命令信息。
4. 从硬件角度而言,采用硬件最少的数据传送方式为无条件传送 。
5. 当采用存储单元与I/O端口统一编址时,CPU的数据传送指令可以访问I/O端口和存储单元 。
6. 8253可编程定时/计数器工作在方式0时,控制信号GATE变为低电平后,对计数器的影响是暂时停止现行计数工作 。
9. 某系统中,欲用可编程并行接口芯片8255A的一个口来实现两位输入和两位输出,则应选用C口。
10.中断向量地址是中断服务程序入口地址的地址 。
11. 8088/8086的一切复位信号至少要维持____4__个时钟周期。
12. 8086/8088 CPU经加电复位后,执行第一条指令的地址是_____FFFF0H__。
13. 在最小模式下,执行“OUT DX, AL”指令时,M/IO, WR, RD, DT/R的状态分别是0, 0, 1, 1。
14. 假设某个总线周期需插入三个Tw等待状态,则该总线周期内对READY信号检测的次数是___4 。
15. 如果用8位地址线实现输入和输出口寻址,可寻址的输入、输
出口数最多为512。
16.一般的中断过程分为中断请求、 中断判优, 、中断响应、中断处理、 中断返回 。
17.8086/8088最多能处理__256___种中断。
1.二进制数10101001转换为10进制数为169D ,转换为16进制数为 A9H 。
2.在LOOP循环控制指令中,用于指定循环次数的操作数的寄存器是 CX 。
3.设(CS)=4000H,(DS)=2000H,(SS)=2510H,(BX)=0100H,(BP)=0010H
(SI)=00A0H,,则指令MOV AX,[BX][SI]有效地址为 01A0H ,物理地址为 201A0H 。
4.8086CPU外部有20根地址线,可寻址的内存空间 2^20 。
5.CPU和外设之间传送的三种信息是 数据信息 , 状态信息 , 控制信息 。
6.可编程中断控制器8259A对程序员提供了 4 个初始化命令字和 3 个 操作命令字。
7.计算机系统中的三大总线通常指 数据总线 、 地址总线 、 控制总线 。
8.PC机的中断源可分为 内部中断 、 外部中断。
9.每一条指令一般都有 操作码 和 操作数 构成。
10.指令MOV AX,VAL[DI]中,源操作数的寻址方式 变址 方式。
11..设CF=0,AX=8000H,执行ROR AX,1后,AX=4000H,CF=0。
12.中断向量是中断服务程序入口地址。
13.设(CS)=25FFH,(DS)=2140H,(SS)=2510H,(BP)=02D0H,(SI)=0010H,(DI)=0206H,则指令MOV AX,[BP+SI+2]的源操作数有效地址为02E2H,物理地址为253E2H。
14.目前微型计算机的基本工作原理是存储程序控制的原理,其基本结构属于冯·诺依曼结构。
15.一个完整的中断过程应该包括:
中断申请、中断响应、中断服务(处理)和中断返回四个阶段。
16.Intel 8086的中断向量表中存放的是中断向量。
若在0000∶0008开始的4个字节中分 别是11H,22H,33H,44H,则对应的中断类型号为2的中断向量是14564H。
17.在中断方式下,当外设已经有数据要往CPU输入或者准备好接收数据时,接口会向CPU发一个中断请求信号;在DMA方式下,外设要求传输数据时,接口会向DMAC发DMA请求信号。
18.微机系统中数据传送的控制方式有三种:
程序控制方式、DMA方式和I/O处理机方式。
19.Intel CPU工作在内存的实地址模式时,内存的物理地址由.段地址和偏移地址两部分组成。
20.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为 条件 标志位,另一类称为 状态 标志位。
21.8086/8088内4个段寄存器DS,ES,CS,SS都是 16 位的,在用于内存寻址时作为段地址,20位物理地址是由段寄存器的段地址 左 移 4 位后,再与16位偏移量经过 相加 运算得到。
22.设 DA1 DW ‘AB’,’CD’,’EF’,’GH’,那么执行指令MOV AX,DA1+3后,AX里值为 FC 。
23.一般外设和存储器的编码方式有 统一编码 和 独立编码 。
24.一个完整的中断过程应该包括:
____中断申请_____、___中断响应_____、中断服务和中断返回四个阶段。
25.Intel 8086的中断向量表能存放 256 个中断向量,每个中断向量为 4 字节。
26.在串行通信数据传送中,通常传送方式有____ 单工___、半双工和__全双工__三种。
27.微处理器芯片的时钟频率即 主频 ,它决定了CPU的处理速度。
28.堆栈主要用来存放暂时保存的数据,采用 先进后出 的方式。
29.一片EPROM如果有13根地址线和4根数据线,那么它的容量是 4KB 。
1.常用的I/O端口寻址方式有哪几种?
各自的特点如何?
答:
系统对I/O端口的地址分配有两种编址方式:
统一编址和独立编址。
独立编址方式,就是将存储器和I/O端口建立两个完全独立的地址空间;CPU使用专门的信号来区分是对存储器访问还是对I/O端口进行访问. 独立编址时,CPU对I/O端口的访问必须用专门的输入、输出指令(IN、OUT指令)来实现数据的传送,而输入/输出数据的通道则与存储器共享系统总线。
2.8259A的全嵌套方式和特殊全嵌套方式有什么差别?
各自用在什么场合?
答:
在特殊全嵌套方式下,当处理某一级中断时,如果有同级的中断请求,那么,也会给响应从而实现一种对同级中断请求的特殊嵌套。
在全嵌套方式中,只有当更高级的中断请求来到时,才会进行嵌套,当同级中断请求来到时,会响应。
特殊全嵌套方式一般用在8259A级连的系统中。
3.什么叫总线?
微机中的总线可分为哪几级?
答:
总线(BUS)就是计算机各部件之间传送信息的公共通道。
在微机中,有内部总线和外部总线两类:
内部总线是指CPU内部之间的连接;外部总线是指CPU与其他部件之间的连接。
日常所说的总线一般指的是外部总线,按其功能的不同,分为3种:
数据总线(DB)、地址总线(AB)、控制总线(CB)。
4.简述为什么8253的方式0可作为中断的请求。
答:
写入控制字后,OUT输出端变为低电平。
当写入计数初值后,计数器开始减1计数。
在计数过程中OUT一直保持为低电平,直到计数到0时,OUT输出变为高电平。
此信号可用于向CPU发出中断请求。
5.8259A的全嵌套方式和特殊全嵌套方式有什么差别?
各自用在什么场合?
答:
在特殊全嵌套方式下,当处理某一级中断时,如果有同级的中断请求,那么,也会给响应从而实现一种对同级中断请求的特殊嵌套。
在全嵌套方式中,只有当更高级的中断请求来到时,才会进行嵌套,当同级中断请求来到时,会响应。
特殊全嵌套方式一般用在8259A级连的系统中。
6.DMA控制器的基本组成包括哪些部件?
各自作用如何?
答:
DMA控制器在硬件结构上具有以下基本部件:
地址寄存器:
其作用是接收CPU预置的存储器起始地址以及在传送过程中自动修改地址,以指出下一个要访问的存储单元。
字节计数器:
其作用是接收CPU预置的数据传送的总字节数以及在传送过程中控制传送过程何时结束,为此,该字节计数器应具有自动减1功能。
控制寄存器:
其作用是接收CPU的命令,以决定DMA传送方向,传送方式,如是输出(从内存到外设备)还是输入(从外设到内存);传送一个数据还是一批数据等。
状态寄存器:
用来反映DMA控制器及外设备的当前工作状态等。
内部定时与控制逻辑。
7.8086系统中,当对SS和SP寄存器的值进行修改时,有什么特殊规定?
这样做的原因是什么?
答:
凡是遇到给SS寄存器赋值的传送指令时,系统会自动禁止外部中断,等到本条指令和下条指令执行之后,又自动恢复对SS寄存器赋值前的中断开放情况。
这样做是为了允许程序员连续用两条指令分别对SS和SP寄存器赋值,同时又防止堆栈空间变动过程中出现中断。
8.动态RAM为什么要进行刷新?
刷新过程和读操作比较有什么差别?
答:
1.因为动态RAM是利用电容的存储作用来保存信息的,但电容由于放电或泄漏,电荷保存时间较短(约2ms),若不及时补充电荷会使存放的数据丢失,因此需定时刷新以补充所需要的电荷。
2.刷新过程是由刷新逻辑电路定时完成的,且每次对所有模块的一行同时刷新,数据不输出,数据总线处于高阻状态。
读过程是随机的,每次选中一个存储单元(8位),且数据输出到数据总线上。
9.通常解决中断优先级的方法有哪几种?
各有什么优缺点?
答:
1.有软件查询方式、简单硬件方式——菊花链法、专用硬件方式三种。
2.软件查询方式的优点是节省硬件,缺点是中断响应时间长;简单硬件方式的优点是中断响应时间短,硬件较简单,缺点是优先级固定,变动起来很麻烦;专用硬件方式优点是对优先级可编程修改,中断管理非常方便,缺点是硬件复杂的多,好在有专用的中断控制器。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 编程 集合 讲解
![提示](https://static.bdocx.com/images/bang_tan.gif)