微机原理编程题集合讲解_第1页
微机原理编程题集合讲解_第2页
微机原理编程题集合讲解_第3页
已阅读5页,还剩6页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理编程题1. 分支程序设计 .编写一段程序,已知 BUF1 单元中有一带符号字节数据 X, BUF2 中有一带 符号字节数据 Y ,根据以下函数关系编写程序求 Z 的值,结果存入 RESULT 单 元。 Z=|X-Y| ;DATA SEGMENTBUF1 DB 05HBUF2 DB 02HRESULT DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART :MOV AX,DATAMOV DS,AXMOV AL,BUF1MOV BL,BUF2SUB AL,BLJNC GREATNEG ALGREAT: MOV RESULT,ALEXIT:

2、 MOV AH,4CHINT 21HCODE ENDSEND START .编写一段程序,已知 BUF 单元中有一无符号字节数据 X,假设为 8,根据以 下函数关系编写程序求 Y 的值,结果存入 RESULT 单元。 Z=5X X<10,X-5 X>=10;DATA SEGMENTBUF DB 8RESULT DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART :MOV AX,DATAMOV DS,AXMOV AL,BUFCMP AL,10JAE GREMOV BL,ALADD AL,ALADD AL,ALADD AL,BLJM

3、P DONEGRE: SUB AL,5DONE: MOV RESULT,ALMOV AH,4CHINT 21HCODE ENDSEND START .在内存单元 BUF 中存放一个带符号字节数据 X,假定为 -2,试根据以下函数 关系编写程序求 Y的值,结果存入 RESULT 单元。 Y=1 X>0,0 X=0,-1 X<0;DATA SEGMENTBUF DB -2RESULT DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART :MOV AX,DATAMOV DS,AXMOV AL,BUFCMP AL,0JGE L1MOV

4、AL,-1JMP L3L1:JZ L2MOV AL,1JMP L3L2:MOV AL,0L3:MOV RESULT,ALMOV AH,4CHINT 21HCODE ENDSEND START2. N 个数中求最大值、最小值 .假定 N=10, 已知原始数据存放在 BUF 开始的内 存单元中,将结果存入 MAX ,MIN 内存单元中。DATA SEGMENTBUF DB 3,5,7,8,5,3,9,7,13,1COUNT EQU $-BUFMAX DB ?MIN DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART :MOV AX,DATAMO

5、V DS,AXMOV CX,COUNT -1MOV AL,BUFMOV MAX,ALMOV MIN,ALLEA SI,BUFAGAIN:MOV AL,SI+1CMP AL,MINJGE S1MOV MIN,ALS1: CMP AL,MAXJLE S2MOV MAX,ALS2: INC SI LOOP AGAINMOV AH,4CH INT 21HCODE ENDS END START3. 编写程序求 1+2+3+ +N<100时最大的 N 值,将 N 值送 NUM 单元中,同 时将 1+2+3+ +N的和送到 SUM 单元中。DATA SEGMENTNUM DB ?SUM DB ?DAT

6、A ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART :MOV AX,DATAMOV DS,AXMOV AL,0MOV BL,0AGAIN: INC BLADD AL,BLCMP AL,100JB AGAINSUB AL,BLDEC BLMOV NUM,BLMOV SUM,ALMOV AH,4CHINT 21HCODE ENDSEND START4. 统计字符,正数,负数,零的个数。 若自 STRING 单元开始存放一个字符串,以 '$'结尾,试编写程序, 统计字符串的长度,并将结果存入 COUNT 单元。DATA SEGMENTSTRIN

7、G DB 'abcdefg$'COUNT DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART :MOV AX,DATAMOV DS,AXLEA SI,STRINGMOV CX,0NEXT: MOV AL,SICMP AL, '$'JZ DONEINC CXINC SIJMP NEXTDONE: MOV COUNT,CXMOV AH,4CHINT 21HCODE ENDSEND START .自 BUF 单元开始存放 10 个带符号字节数据,将其中的正数、负数和零选出 来,并统计其个数,分别存入 PLUS 、M

8、INUS 和ZERO 单元中。DATA SEGMENTBUF DB 5,-2,0, -1,4,0, -4,8,0, -7PLUS DB ?MINUS DB ?ZERO DB ?DATA ENDSCODE SEGMENTASSUME CS:DATA,DS:DATASTART :MOV AX,DATAMOV DS,AXLEA SI,BUFMOV CX,10AGAIN: MOV AL,BXINC BXAND AL,ALJS M1JZ M2INC PLUSJMP NEXTM1: INC MINUSJMP NEXTM2: INC ZEROJMP NEXTNEXT: LOOP AGAINMOV AH,4C

9、HINT 21HCODE ENDSEND START10 个5. 求压缩 BCD 码的和。已知从 BUF1 和 BUF2 单元开始,存放两个各为 字节的 BCD 数,求这两个数的和,并将结果存入 BUF3 单元中。 DATA SEGMENTBUF1 DB 01H,01H,01H,01H,01H,01H,01H,01H,01H,01HBUF2 DB 03H,03H,03H,03H,03H,03H,03H,03H,03H,03HBUF3 DB 11 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART :MOV AX,DATAMOV DS,

10、AXMOV CX,10LEA SI,BUF1LEA DI,BUF2LEA BX,BUF3AGAIN:MOV AL,SIADC AL,DI DAAMOV BX,ALINC SIINC DIINC BXLOOP AGAIN ADC AH,0MOV BX,AHMOV AH,4CH INT 21H CODE ENDSEND START6. 8255 编程题: (课后实验 )8255 工作于方式 0,此时 PA、PB 、PC 均 为可独立输入/输出的并行口8255 的各寄存器对应的口地址为:PA 口:200H ,PB 口:202H ,PC 口:204H , 控制口:206H 。要求8255 工作于方式

11、0,PA口设置为输入,PC口设置为输出DATA SEGMENTC8255 EQU 206HP8255A EQU 200HP8255C EQU 204HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART :MOVMOVOUTDX,C8255AL,90HDX,ALBG:MOVDX,P8255AINAL,DXMOVDX,P8255COUTDX,ALJMPBGCODEENDSENDSTART;设置为A口输入,C口输出;将A口状态从C口输出7. 编写一个汇编语言程序, 要求从键盘输入一个小写字母, 将其转换成大写字母 在屏幕上显示出来。DATA SEGMEN

12、TBUF DB 0DH,0AH,"PLEASE INPUT A CHAR:$"DATA ENDSSTACK SEGMENTDB 20 DUP(?)STACK ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE ,SS:STACKBEGIN: MOV AX,DATAMOV DS,AXLEA DX,BUF ;9 号调用显示 PLEASE INPUT A CHAR :MOV AH,9 INT 21HMOV AH,1 1 号调用,从键盘接收 1 字符INT 21HCMP AL,61H /41H ;若比“ a”/A小转 PENDJB PENDCMP AL,7

13、AH /5BH ; 若比“ z”/Z大转 PENDJA PEND ;ADD/SUB AL,20H ; 如在“a”与“z”之间则减去 20 变为大写字符MOV DL,ALMOV AH,2 ; 2 号功能调用显示一个字符INT 21HPEND: MOV AH,4CH 程序结束运行,返回 DOSINT 21HCODE ENDSEND BEGIN8. 已知数据段中从偏移量 DATA 开始存放有 10 个带符号的字数据,编写程序, 找出其中最大的数放入 MAX 中。DA TA SEGMENTDATA DB 10 DUP (?)MAX DB ?DA ENDSCODE SEGMENTASSUME CS:CO

14、DE,DS:DASTART :MOV AX , DAMOV DS ,AXMOV CX ,9 LEA BX ,DATA+1MOV AL ,DATA PP: CMP AL ,BXJGE NEXTMOV AL , BXNEXT: INC BXLOOP PPMOV MAX, ALMOV AH , 4CHINT 21HCODE ENDSEND START9. 编写程序,不用乘法计算 CA 4 B× 10,用移位运算DATA SEGMENTA DB ?B DB ?C DB ?DATA ENDSCODE SEGMENTASSUME CS: CODE,DS:DATASTART:MOV AX ,DAT

15、AMOV DS,AX MOV CL ,2MOV BL ,ASARBL,CLMOVAL,BMOVCL,3SALB,CLSALAL,1ADDAL,BSUBBL,ALMOVC,BLMOVAH,4CHINT21HCODE ENDSEND START1. 设 M/IO 、RD 和 WR 在某时刻分别为 1、1 和 0,指令中 与其对应 的是 MOV ES:DI, AX2. 执行返回指令,退出中 断服务程序,这时返回地址来自堆栈区 。3. 为了设定可 编程 I/O 接口芯片的工作方式,必 须通过_ 数据总线 _传送命令信 息。4. 从硬件角度而言,采用硬件最少的 数据传送方式为无条件传送 。5. 当采用存

16、储单元与I/O端口统一编址时,CPU 的数据传送指令可以访问 I/O端 口和存 储单元 。6. 8253 可编程定时/计数器工作在方式 0 时,控制信号 GATE 变为低电平后,对计数 器的影响是暂时停止现行计数工作9. 某系统中,欲用可编程并行接口芯片 8255A 的一个口来实现两 位输入和两位 输出,则应选用 C口。10. 中断向量地址是 中断服务程序入口地址的地址 。11. 8088/8086 的一切复位信号至少要维持 4_个时钟周期。12. 8086/8088 CPU 经 加 电 复位 后 , 执 行 第一 条 指 令 的 地址 是 FFFF0H _。13. 在最小模式下,执行 “OU

17、 TDX, 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 循 环控 制指 令

18、 中,用于指定 循环 次数 的操 作数 的寄 存器 是 CX 3设 (CS)=4000H ,(DS)=2000H ,(SS)=2510H ,(BX)=0100H ,(BP)=0010H (SI)=00A0H ,则指令 MOV AX ,BXSI 有效地址为 01A0H ,物 理地址为 201A0H 。48086CPU 外部有 20 根地址线,可寻址的内存空间 220 。 5CPU 和外设之间传送的三种信息是 数据信息 , 状态信息 ,控制信息 。 6 可编 程中 断控制器 8259A 对 程序 员提 供了4 个 初始 化命 令字和 3 个 操作命令字。7计算机系统中的三大总线通常指 数据总线 、

19、 地址总线 、 控制总线 。 8PC 机的中断源可分为 内部中断 、 外部中断 。9每一条指令一般都有 操作码 和 操作数 构成。10指令 MOV AX ,VALDI 中,源操作数的寻址方式变址 方式。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

20、 。14目前微型计算机的基本工作原理是存储程序控制的原理,其基本结构属于 冯 ·诺依曼结构 。15一个完整的中断过程应该包括: 中断申请、中断响应、中断服务 (处理 )和中 断返回 四个阶段。16Intel 8086 的中断向量表中存放的是中断向量。若在 0000 0008 开始的 4 个字节中分 别是 11H ,22H ,33H ,44H ,则对应的中断类型号为 2 的中断向量 是 14564H 。17 在中断方式下,当外设已经有数据要往 CPU 输入或者准备好接收数据时, 接口会向 CPU 发一个 中断请求信号 ;在 DMA 方式下,外设要求传输数据时, 接口会向 DMAC 发

21、DMA 请求信号 。18微机系统中数据传送的控制方式有三种: 程序控制方式 、DMA 方式 和 I/O 处理机方式 。19Intel CPU 工作在内存的实地址模式时, 内存的物理地址由 .段地址 和偏移地 址两部分组成。20 CPU 的标志寄存器中标志位,可以分为两大类,其中一类称为 条件 标志 位,另一类称为 状态 标志位。218086/8088 内4个段寄存器 DS,ES,CS,SS 都是 16 位的,在用于内 存寻址时作为段地址, 20 位物理地址是由段寄存器的段地址 左 移 4 位后, 再与 16 位偏移量经过 相加 运算得到。22设 DA1 DW AB', 'CD&

22、#39;, ',E那F'么,执'行G指H'令 MOV AX ,DA1+3 后,AX 里值为 FC 。23 一般外设和存储器的编码方式有 统一编码 和 独立编码 。 24一个完整的中断过程应该包括: 中断申请 、_中断响应 、中断服务 和中断返回 四个阶段。25Intel 8086 的中断向量表能存放 256 个中断向量,每个中断向量为 4 字 节。26在串行通信数据传送中,通常传送方式有 单工 _、半双工 和_全双工_三种。27 微处理器芯片的时钟频率即 主频 ,它决定了 CPU 的处理速度。28 堆栈主要用来存放暂时保存的数据,采用先进后出 的方式。29一 片

23、 EPROM 如果有 13 根地址线和 4 根数 据线, 那么 它的容量 是 4KB 。1常用的 I/O 端口寻址方式有哪几种?各自的特点如何?答:系统对 I/O 端口的地址分配有两种编址方式:统一编址和独立编址。独立编 址方式,就是将存储器和 I/O 端口建立两个完全独立的地址空间 ;CPU 使用专门 的信号来区分是对存储器访问还是对 I/O 端口进行访问 . 独立编址时,CPU 对 I/O 端口的访问必须用专门的输入、输出指令( IN、OUT 指令)来实现数据的传送, 而输入输出数据的通道则与存储器共享系统总线。28259A 的全嵌套方式和特殊全嵌套方式有什么差别?各自用在什么场合? 答:

24、在特殊全嵌套方式下, 当处理某一级中断时, 如果有同级的中断请求, 那么, 也会给响应从而实现一种对同级中断请求的特殊嵌套。 在全嵌套方式中, 只有当 更高级的中断请求来到时,才会进行嵌套,当同级中断请求来到时,会响应。特 殊全嵌套方式一般用在 8259A 级连的系统中。3什么叫总线?微机中的总线可分为哪几级?答:总线( BUS )就是计算机各部件之间传送信息的公共通道。在微机中,有内 部总线和外部总线两类: 内部总线是指 CPU 内部之间的连接;外部总线是指 CPU 与其他部件之间的连接。 日常所说的总线一般指的是外部总线, 按其功能的不同, 分为 3 种:数据总线( DB)、地址总线( A

25、B )、控制总线( CB )。 4简述为什么 8253 的方式 0 可作为中断的请求。答:写入控制字后, OUT 输出端变为低电平。当写入计数初值后,计数器开始 减 1 计数。在计数过程中 OUT 一直保持为低电平, 直到计数到 0 时,OUT 输出 变为高电平。此信号可用于向 CPU 发出中断请求。58259A 的全嵌套方式和特殊全嵌套方式有什么差别?各自用在什么场合? 答:在特殊全嵌套方式下, 当处理某一级中断时, 如果有同级的中断请求, 那么, 也会给响应从而实现一种对同级中断请求的特殊嵌套。 在全嵌套方式中, 只有当 更高级的中断请求来到时,才会进行嵌套,当同级中断请求来到时,会响应。特 殊全嵌套方式一般用在 8259A 级连的系统中。6DMA 控制器的基本组成包括哪些部件?各自作用如何?答 : DMA 控制器在硬件结构上具有以下基本部件: 地址寄存器:其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论