微机原理编程题集合
更新时间:2023-12-08 11:19:01 阅读量: 教育文库 文档下载
微机原理编程题
1. 分支程序设计
①.编写一段程序,已知BUF1单元中有一带符号字节数据X,BUF2中有一带符号字节数据Y,根据以下函数关系编写程序求Z的值,结果存入RESULT 单元。Z=|X-Y|;
DATA SEGMENT BUF1 DB 05H BUF2 DB 02H RESULT DB ? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,BUF1 MOV BL,BUF2 SUB AL,BL JNC GREAT NEG AL
GREAT:MOV RESULT,AL EXIT: MOV AH,4CH INT 21H CODE ENDS
END START
②.编写一段程序,已知BUF单元中有一无符号字节数据X,假设为8,根据以
下函数关系编写程序求Y的值,结果存入RESULT 单元。Z=5X X<10,X-5 X>=10;
DATA SEGMENT BUF DB 8 RESULT DB ? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,BUF CMP AL,10 JAE GRE MOV BL,AL
ADD AL,AL ADD AL,AL ADD AL,BL JMP DONE GRE: SUB AL,5
DONE: MOV RESULT,AL MOV AH,4CH INT 21H
CODE ENDS
END START
③.在内存单元BUF中存放一个带符号字节数据X,假定为-2,试根据以下函数
关系编写程序求Y的值,结果存入RESULT 单元。Y=1 X>0,0 X=0,-1 X<0;
DATA SEGMENT BUF DB -2 RESULT DB ? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:
MOV AX,DATA MOV DS,AX MOV AL,BUF CMP AL,0 JGE L1 MOV AL,-1 JMP L3 L1:JZ L2
MOV AL,1 JMP L3 L2:MOV AL,0
L3:MOV RESULT,AL MOV AH,4CH INT 21H CODE ENDS
END START
2. N个数中求最大值、最小值.假定N=10,已知原始数据存放在BUF开始的内存单元中,将结果存入MAX,MIN内存单元中。
DATA SEGMENT
BUF DB 3,5,7,8,5,3,9,7,13,1 COUNT EQU $-BUF
MAX DB ? MIN DB ? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:
MOV AX,DATA MOV DS,AX
MOV CX,COUNT-1 MOV AL,BUF MOV MAX,AL MOV MIN,AL LEA SI,BUF AGAIN:
MOV AL,[SI+1] CMP AL,MIN JGE S1
MOV MIN,AL S1: CMP AL,MAX JLE S2
MOV MAX,AL S2: INC SI
LOOP AGAIN MOV AH,4CH INT 21H CODE ENDS
END START
3. 编写程序求1+2+3+……+N<100时最大的N值,将N值送NUM单元中,同时将1+2+3+……+N的和送到SUM单元中。
DATA SEGMENT NUM DB ? SUM DB ? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,0 MOV BL,0 AGAIN:INC BL ADD AL,BL
CMP AL,100 JB AGAIN SUB AL,BL DEC BL
MOV NUM,BL MOV SUM,AL MOV AH,4CH INT 21H CODE ENDS
END START
4. 统计字符,正数,负数,零的个数。
①.若自STRING单元开始存放一个字符串,以'$'结尾,试编写程序,
统计字符串的长度,并将结果存入COUNT单元。 DATA SEGMENT
STRING DB 'abcdefg$' COUNT DW ? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,STRING MOV CX,0 NEXT: MOV AL,[SI] CMP AL,'$' JZ DONE INC CX INC SI JMP NEXT
DONE: MOV COUNT,CX MOV AH,4CH INT 21H CODE ENDS
END START
②.自BUF单元开始存放10个带符号字节数据,将其中的正数、负数和零选出
来,并统计其个数,分别存入PLUS、MINUS和ZERO单元中。 DATA SEGMENT
BUF DB 5,-2,0,-1,4,0,-4,8,0,-7 PLUS DB ? MINUS DB ? ZERO DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:DATA,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,BUF MOV CX,10 AGAIN:MOV AL,[BX] INC BX AND AL,AL JS M1 JZ M2 INC PLUS JMP NEXT M1: INC MINUS JMP NEXT M2: INC ZERO JMP NEXT NEXT: LOOP AGAIN MOV AH,4CH INT 21H CODE ENDS
END START 5. 求压缩BCD码的和。已知从BUF1和BUF2单元开始,存放两个各为10个字节的BCD数,求这两个数的和,并将结果存入BUF3单元中。 DATA SEGMENT
BUF1 DB 01H,01H,01H,01H,01H,01H,01H,01H,01H,01H BUF2 DB 03H,03H,03H,03H,03H,03H,03H,03H,03H,03H BUF3 DB 11 DUP(?) DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:
MOV AX,DATA MOV DS,AX MOV CX,10 LEA SI,BUF1 LEA DI,BUF2 LEA BX,BUF3 AGAIN:
MOV AL,[SI] ADC AL,[DI] DAA
MOV [BX],AL
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.软件查询方式的优点是节省硬件,缺点是中断响应时间长;简单硬件方式的优
点是中断响应时间短,硬件较简单,缺点是优先级固定,变动起来很麻烦;专用硬件方式优点是对优先级可编程修改,中断管理非常方便,缺点是硬件复杂的多,好在有专用的中断控制器。
正在阅读:
微机原理编程题集合12-08
有限公司组织架构08-16
人民币离岸业务在港发展分析02-29
2018全国Ⅱ理科数学高考真题04-30
依法治校工作总结05-16
12红外吸收光谱法习题参考答案10-27
范世贵 电路基础答案5-9章10-10
团委工作手册(目录内容完整版)04-30
同花顺函数04-09
ASCO300中文操作手册07-21
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 微机
- 集合
- 原理
- 编程
- 会计信息系统期末复习题 2013
- 总代理协议书范本 doc1
- 2018-2019四字成语解释与造句-推荐word版(7页)
- 高要市佛燃天然气有限公司水南镇至禄步镇天然气高压管道输气工程建设项目可行性研究报告-广州中撰咨询
- 第一节 人文主义史学 - 图文
- 植物工厂的发展策略 -
- 幼儿美术课程计划
- 中考专题突破《第4章几何初步与三角形》同步练习 第三节
- 国际机票预定步骤
- 发明专利信息管理系统
- 省工业园区发展与集聚效应的分析
- 遗传学练习题
- 重邮导师团队总览
- 2014东部片区比武OTN试题
- 工程造价质量保证体系
- 护理文书书写基本要求
- 贪吃对治汇总
- vb-判断题库
- 18春《现代汉语(二)》作业 - 2
- 2013年-雪慕冰-工程热力学第二章经典例题 -