微机原理程序分析题汇总

微机原理程序分析题汇总
微机原理程序分析题汇总

1.设CPU各个标志位的初始状态均为0,执行指令:

MOV AX,0

DEC AX

后,请问AX=?,SF=?,CF= ?(3分)

AX=FFFFH或-1 (1分), SF=1(1分), CF=0(1分)

(DEC 变量递减一。MOV AX,0;AX=0;DEC AX;AX=AX-1=-1=FFFFH;SF(符号标志):SF用于反映本次运算结果是正还是负,若某次运算结果的最高位(第8位或第16位)为“1”,则SF=1,否则SF=0;CF(进位标志):保存加法的进位和减法的借位,有进位或借位时CF=1,否则CF=0;结果为-1,所以SF=1,而本题中的借位是溢出借位,故而CF=0)

2.下面程序段的功能是从240H端口读取数据,测试其是否为20H,若不是则将241H端口清0,否则转向NEXT,请将程序补充完整。(5分)

MOV DX ,240H;端口号放入段寄存器

IN AL,DX;输入数据

CMP AL, 20H;测试是否为20H

JZ NEXT;如果不是转到NEXT

MOV DX,241H

MOV AL,0;将端口数据清零

OUT DX,AL

……

N EXT: ……

1. 定义变量DA1 DB ‘1+2=?’

DA2 DW 2 DUP (0)

NUM EQU $-DA1

分析以下指令执行后寄存器的内容,并填在指令后的横线上。(5分)

SUB AX, AX

MOV AL,DA1 ;AL=31H;DA1=3

MOV BL,DA2-DA1 ;BL=05H

MOV CX,NUM ;CX=09H

L1:RCL AL,1

JNC L2

INC AH

L2:LOOP L1

程序段执行完后AL=31H,AH=03H

2. 两个压缩BCD数相加,结果保存在内存的SUM单元,如有进位保存在AH中,将下面的程序段补充完整。(3分)

X1 DB 36H

X2 DB 78H

SUM DB ?, ?

MOV AL,X1

MOV BL,X2

ADD AL,BL

DAA;将两个压缩BCD数相加后一定要用DAA

JC L1

MOV AH,0

JMP L2

L1:MOV AH,1

L2 :MOV SUM ,AL

MOV [SUM+1], AH

1.设初值为AX=1234H,BX=5678H,DX=0ABCDH,则下面一段程序:

MOV CL,4;CL=4

SHL DX,CL;SHL逻辑左移;DX=0BCD0H

MOV BL,AH;BX=5612H

SHL AX,CL;AX=2340H

SHR BL,CL;SHR逻辑右移;BL=01H

OR DL,BL;OR两者相或;DL=D0H,BL=01H;OR DL,BL;DL=D1H

执行后,请问AX=?,BX=?,DX=?(3分)

AX=2340H;BX=5601H;DX=0BCD1H

2.下面程序段的功能是求5到50之和,并将结果存放到SUM单元中,请将程序补充完整。(5分)

SUM DW 0

……

MOV CX, 46

MOV BX, 5

MOV AX, 0

L1: ADD AX,BX

INC BX

LOOP L1

MOV SUM,AX

《Python程序设计》题库 - 读程序题

【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1#Filename:002.py 2 i = int(raw_input('Enter the profit:')) 3 arr = [1000000,600000,400000,200000,100000,0] 4 rat = [0.01,0.015,0.03,0.05,0.075,0.1] 5 r = 0 6for idx in range(0,6): 7if i>arr[idx]: 8 r+=(i-arr[idx])*rat[idx] 9print (i-arr[idx])*rat[idx] 10 i=arr[idx] 11print r 【程序3】 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 【感谢12楼的同学peiqianggao提供代码】 # -*- coding:utf-8 -*- ''' Created on 2015-6-7 # 第三题:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少 @author: Administrator ''' import math num = 1 while True:

微机原理课程设计报告

微型计算机技术课程设计 指导教师: 班级: 姓名: 学号: 班内序号: 课设日期: _________________________

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (3) 五、设计思路..................... 错误!未定义书签。 六、设计步骤(含流程图和代码) ..... 错误!未定义书签。 七、课程设计小结 (36)

一、课程设计题目:点阵显示系统电路及程序设计 利用《汇编语言与微型计算机技术》课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。 二、设计目的 1.通过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。 2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。 三、设计内容 1.点阵显示系统启动后的初始状态 在计算机显示器上出现菜单: dot matrix display system 1.←left shift display 2.↑up shift display 3.s stop 4.Esc Exit 2.点阵显示系统运行状态 按计算机光标←键,点阵逐列向左移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标↑键,点阵逐行向上移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标s键,点阵停止移动并显示当前字符。 3.结束程序运行状态 按计算机Esc键,结束点阵显示系统运行状态并显示“停”。 四.设计所需器材与工具 1.一块实验面包板(内含时钟信号1MHz或2MHz)。 2.可编程芯片8253、8255、74LS245、74LS138各一片,16×16点阵显示器件一片。

微机原理-期末考试题库及答案(含3套试卷)

微型计算机原理与接口技术综合测试题一 一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处) 1.8086CPU通过(1 )控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX 指令时,该信号线为(2 )电平。 (1) A. M/ B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS 2.n+1位有符号数x的补码表示范围为()。 A. -2n < x < 2n B. -2n ≤ x ≤ 2n -1 C. -2n -1 ≤ x ≤ 2n-1 D. -2n < x ≤ 2n 3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。 A. AND AL, 0FH B. AND AL, 0FOH C. OR AL, 0FH D. OR AL 0FOH 4.下列MOV指令中,不正确的指令是()。 A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。 A. 00017H B. 00068H C. 0005CH D. 0005EH 6.条件转移指令JNE的条件是()。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 7. 在8086/8088 CPU中,一个最基本的总线读写周期由(1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发(2 )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个

⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是(1 ),最大模式的特点是(2 )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定 C. 不需要8286收发器 D. 需要总线控制器8288 ⑵ A. M/ 引脚可直接引用 B. 由编程进行模式设定 C. 需要总线控制器8288 D. 适用于单一处理机系统 9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是( )。 A. 0AH B. 0BH C. 0CH D. 0DH 10.真值超出机器数表示范围称为溢出,,此时标志寄存器中的( )位被置位 A. OF B AF C PF D CF 11.8086 系统中内存储器地址空间为1M,而在进行I/O读写是,有效的地址线是( ) A . 高16位 B. 低16位 C. 高8位 D. 低8位 12.8086 CPU中段寄存器用来存放( ) A. 存储器的物理地址 B. 存储器的逻辑地址 C. 存储器的段基值 D. 存储器的起始地址 13.8259A可编程中断控制器的中断服务寄存器ISR用于( ) A.记忆正在处理中的中断 B. 存放从外设来的中断请求信号 C.允许向CPU发中断请求 D.禁止向CPU发中断请求 14.8253 可编程定时/计数器的计数范围是( ) A. 0-255 B. 1-256 C. 0-65535 D. 1-65536 15. 在8086中,(BX)=8282H,且题中指令已在队列中,则执行INC [BX]指令需要的总

微机原理期末考试试题及答案

上海应用技术学院2008—2009学年第一学期 《微机原理及应用》期末试卷 A 课程代码: B203205A 学分: 3.5 考试时间: 100 分钟 课程序号: 1958,1960 班级:学号:姓名: 我已阅读了有关的考试规定和纪律要求,愿意在考试中遵守《考场规则》,如有违反将愿接受相应的处理。 试卷共页,请先查看试卷有无缺页,然后答题。 一、填空(每空1分,共20分) 1.MCS-51的EA管脚接低电平时,CPU只能访问外部程序存储器。 2.MCS-51单片机从外部程序存储器取指令时,使用/PSEN信号作“读”信号,从外部数据存储器取数据时,使用/RD信号作“读”信号。 3.MCS-51的堆栈设在内部RAM中,单片机复位后SP的内容为07 H。 4. MOV A,34H 中的34H 是直接寻址。 MOV A,@R0 中的 @R0 是间接寻址。 5.若PSW=98H,则选择了第3组工作寄存器,此时R7的地址是1F H。 6.MCS-51的数据总线共8位,来自P0 口,地址总线共16位,来自P2和P0口。 7.8255A具有(3)个8位可编程I/O口。 8.若串口工作于方式1,每分钟传送3000个字符,其波特率是(500)bit/s。 9.一个8位A/D转换器的分辨率是( 3.9)‰。 10.若0809 U REF=5V,输入模拟信号电压为2.5V时,A/D转换后的数字量是(80H)。 11.一个EPROM的地址有A0----A11引脚,它的容量为(4)KB。

12.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为( 06H )。 二、判断题,对者划“√”,错者划“×”。(每小题1分,共10分) 1.(√)8051单片机的算术运算类指令执行的一般会影响标志位。 2.(√)8051单片机的外部数据存储器和内部数据存储器的要用不同的指令来访问。 3.(×)AJMP指令转移范围是-128~127之间。 4.(√)DPTR可以分成高8位和低8位分别寻址。 5.(×)MCS51内部定时/计数器在溢出时,都必须由软件重装初值才能按原设定值定时/计数。 6.(×)MCS-51系列单片机4个I/O端口都是多功能的。 7.(√)MCS-51特殊功能寄存器的字节地址能被8整除者,可以位寻址。 8.(×)并行扩展简单I/O口,对芯片的要求是:输入要锁存,输出要缓冲。 9.(√)串行通信要求是互相通信的甲乙双方具有相同的波特率。 10.(√)8255A的PA口具有3种工作方式。 三、阅读程序片段,指出执行结果。(每空2分,共20分) 1.MOV R1,#30H MOV A,#62H ADD A,#0B4H RLC A ANL A,01H MOV @R1,A RET ;执行到此 A=(20H),R1,=(30H),CY=(0),30H=(20H) 2.MOV R0,#20H MOV 20H,#05H MOV A,#10H MOV R2,A LOOP: ADD A,@R0

C语言程序设计阅读程序题库

阅读程序题 导读:学会阅读程序对于初学者来说很重要,一方面可以巩固所学的语法知识,另一方面通过阅读别人写好的程序来打开自己的思路,就所谓见多识广。读者通过阅读理解程序,从给出的四个备选参考答案中,选择程序的正确输出。如果选择有误,就要认真分析原因,是概念方面的错误还是对程序逻辑理解不对,从而加深对语法规则的理解,提高程序设计能力。程序设计语言是开发程序的一个工具,学习语言的目的是为了编写程序来解决实际问题,所以特别提倡通过实际上机来检验备选答案,增强动手能力。习题基本上是按照教材的章节来安排的,读者可以根据学习的进度选择部分习题。【】以下程序的输出结果是。 main() {floata; printf("%g",a); } A)+00B)0.0 C)0 【】下面程序的输出结果是____。

#include<> main() {intx=10; {intx=20; printf("%d,",x); } printf("%d\n",x); } A)10,20B)20,10 C)10,10D)20,20 【】以下程序的输出结果是____。 main() {unsignedintn; inti=-521; n=i; printf("n=%u\n",n); } A)n=-521B)n=521 C)n=65015D) 【】以下程序的输出结果是。 main() {intx=10,y=10;printf("%d%d\n",x――,――y);

} A)1010B)99 C)910D)109 【】以下程序的输出结果是____。main() {intn=1; printf("%d%d%d\n",n,n++,n--); } A)111B)101 C)110D)121 【】以下程序的输出结果是____。main() {intx=0x02ff,y=0x0ff00; printf("%d\n",(x&y)>>4|0x005f);} A)127B)255 C)128D)1 【】以下程序的输出结果是____。main() {inta=1; charc='a'; floatf=;

微机原理子程序设计

实验三子程序设计 1、实验目的: (1)熟悉汇编语言的编辑、汇编、连接、运行的全过程。 (2)了解汇编语言的程序结构、学习调用过程实现输入输出及用INCLUDE 命令包含文件的方法。 (3)子程序设计 2.实验步骤: (1)用编辑软件记事本或EDIT 编辑一个扩展文件名为ASM的汇编语言源程序。 (2)用汇编程序TASM 汇编上述的汇编语言源程序,形成目标代码文件。 (扩展名为OBJ) (3)用连接程序TLINK连接目标代码文件,形成可执行文件。(扩展名为EXE) (4)运行可执行文件。观察执行结果,以验证其正确性。 3.实验内容: (1)从键盘上输入若干个十进制数(-32767

again1: mov ax,[si] cmp ax,[si+2] jle next1 xchg ax,[si+2] xchg ax,[si] next1: add si,2 loop again1 mov cx,di loop again2 mov ah,9 lea dx,out_message int 21h mov cx,count ;输出(升序) lea si,array again3: mov bx,[si] call write call dpcrlf inc si inc si loop again3 mov ax,4c00h int 21h INCLUDE out_B_D.ASM INCLUDE in_D_B.ASM END (2)从键盘上输入若干个十进制数(-32767

微机原理试题及答案

微机原理试题及答案 微机原理试题及答案 一、填空题(每空1分,共15分) 1、在计算机中,对带符号数的运算均采用补码。带符号负数1100 0011的补码为_10111101_。2、单片机通常采用“三总线”的应用模式,芯片内部设有单独的地址总线、数据总线_ 和控制总线。 3、当使用80C51单片机时,需要扩展外部程序存储器,此时EA应为_0__。 4、若(A)=B3H,(R0)=A8H,执行指令XRL A,R0之后,(A)=_1BH__。 5、在80C51单片机中,带借位减法SUBB指令中,差的D7需借位时,_CY_=1,差的D3需借位时,AC_=1。 6、80C51单片机中,在调用子程序前,用_PUSH__指令将子程序中所需数据压入堆栈,进入执行子程序时,再用___POP__指令从堆栈中弹出数据。 7、在十六进制数与ASCII码值的转换过程中,当十六进制数在0~9之间时,其对应的ASCII码值为该十六进制数加___30H______。 8、外部中断INT0和INT1有两种触发方式:___电平触发方式_____和__边沿触发方式__。 9、在单片机串行通信中,依发送与接收设备时钟的配置情况,串行通信可以分为 __异步通信___和__同步通信_。10、若累加器A中的数据为

0111 0010B,则PSW中的P=__0___。二、选择题(每题1分,共15分) 1、单片机是在一片集成电路芯片上集成了以下部分,除了( D ) A、微处理器 B、存储器 C、I/O接口电路 D、串口通信接口2、一个机器周期包含多少个晶振周期(D ) A、2 B、6 C、8 D、12 3、80C51单片机有21个特殊功能寄存器,其中与串行口相关的有以下几个,除了( B ) A、SBUF B、TCON C、SCON D、PCON 4、 80C51系列单片机具有4个8位的并行I/O口,其中哪个口工作时需要外接上拉电阻(A ) A、P0 B、P1 C、P2 D、P3 5、寄存器中的内容为地址,从该地址去取操作数的寻址方式称为( C ) A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、变址寻址6、源地址为1005H。目的'地址为 0F87H。当执行指令“JC rel”时,rel为( B )。A、7EH B、80H C、82H D、84H 7、若(R0)=30H,(30H)=75H,(75H)=90H,执行指令MOV A,@R0后,(A)=__B____。A、30H B、75H C、90H D、00H 8、下列哪个语句是起始地址设置伪指令( A )。A、ORG B、END C、DW D、EQU 9、在80C51单片机中,各中断优先级最低的是( D )。A、外部中断0 B、外部中断1 C、定时器0 D、计数器1 10、80C51单片机的中断响应时间至少需要( C )个完整的机器周期。A、1 B、2 C、3 D、5 11、在80C51单片机中,

C语言程序设计阅读程序题库及答案

阅读程序题 【2.1】以下程序的输出结果是。 main(D ) { float a; printf("%g",a); } A) 0.00000e+00 B) 0.0 C) 1.00000e-07 D) 0 【2.2】下面程序的输出结果是B____。 #include main( ) { int x=10; { int x=20; printf ("%d,", x); } printf("%d\n", x); } A) 10,20 B) 20,10 C) 10,10 D) 20,20 【2.3】以下程序的输出结果是___B_。 main()

{ unsigned int n; int i=-521; n=i; printf("n=%u\n",n); }//变量i中的负号传送给变量n后,因n是无符号数,已不作为负号处理。 【2.4】以下程序的输出结果是。 main(D ) { int x=10, y=10; printf("%d %d\n", x――, ――y); } A) 10 10 B) 9 9 C) 9 10 D) 10 9 【2.5】以下程序的输出结果是___B。 main() { int n=1; printf("%d %d %d\n",n,n++,n--); } // C语言在执行printf()时,对函数中的表达式表列的处理顺序是从后向前,即先处理n- -,再处理n++,最后处理n, A) 1 1 1 B) 1 0 1 C) 1 1 0 D) 1 2 1 【2.6】以下程序的输出结果是____。 main() { int x=0x02ff,y=0x0ff00;

微机原理习题集以及答案

第一部分 例题与习题 第1章 微型计算机基础 例 题 1.把十进制数转化为二进制数。P7 解:把十进制数转换成二进制数时,需要对一个数的整数部分和小数部分分别进行处理,得出结果后再合并。 整数部分:一般采用除2取余法 小数部分:一般采用乘2取整法 余数 低位 整数 高位 2 | 137 2 | 68 × 2 2 | 34 2 | 17 × 2 2 | 8 2 | 4 × 2 2 | 2 1 高位 低 位 (137)10=()2 10=2 所以,10=(.111)2 2.把二进制数转换为八进制数和十六进制数。P9 解:八进制、十六进制都是从二进制演变而来,三位二进制数对应一位八进制数,四位二进制数对应一位十六进制数,从二进制向八进制、十六进制转换时,把二进制数以小数点为界,对小数点前后的数分别分组进行处理,不足的位数用0补足,整数部分在高位补0,小数部分在低位补0。 (10 1)2=(010 100)2=8 (1 2=(0001 2=16 3.将八进制数转换为二进制数。P9 解:8=(010 100)2=2 4.X=,Y=-,求[X -Y]补,并判断是否有溢出P11 解:[X -Y]补=[X]补+[-Y]补 [X]补= [Y]补= [-Y]补= + -------------- 1 -------------- 0 -------------- 0 -------------- 1 -------------- 0 -------------- 0 -------------- 0 -------------- 1 ------------- 1 ------------- 1 ------------- 1

微机原理期末考试试卷(有答案)

丽水学院《微机原理》考试试卷 班级:___________ 姓名:___________学号:____________ 题号一二三四五六总分得分 得分 一、判断题(每题1分,共10分) 1、十六位微型机的含义是:这种机器能同时处理十六位二进制数。(√) 2、微机的字长愈长,计算精度愈高,指令处理功能愈强。(√) 3、MOV指令要影响标志位。(×) 4、JMP SHORT NEXT称为近转移。(×) 5、8086与8088在软件上不一定完全兼容。(×) 6、端口是位于主机与外设之间的总称。() 7、DMA是一种不需要CPU介入的高速数据传送。() 8、8253中的计数可以通过初始化设置成加计数或减计数。() 9、内部中断的优先权总是高于外部中断。() 10、两片8259A级连后可管理16级中断。() 得分 二、选择题(每题1分,共20分) 1、属于数据寄存器组的寄存器是_____C___。 A.AX,BX,CX,DS B.SP,DX,BP,IP C. AX,BX,CX,DX D.AL,DI,SI,AH 2、在8086和8088汇编语言中,一个字能表示的有符号数的范围是_____B___。 A.-32768≤n≤32768 B.-32768≤n≤32767 C.-65535≤n≤65535 D.-65536≤N≤65535 3、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为__B______。 A.02120H B.20120H C.21200H D.03200H 4、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是 ___D_____。 A.IN AL,端口地址 B.MOV AL,端口地址 C.OUT AL,端口地址 D.OUT 端口地址,AL 5、与十进制数58.75等值的十六进制数是__B______。 A.A3.CH B.3A.CH C.3A.23H D.C.3AH 6、将十六进制数FF.1转换成十进制数是__C______。 A.255.625 B.2501625 C.255.0625 D.250.0625 7、十进制负数-38的八位二进制补码是____D____。

《单片机》读程序题题库答案

四、阅读下列程序,注释并填写指令执行后的结果(每题10分) 1、 ORG 0 LJMP START ;跳转到(PC)=0030H处 ORG 30H START:MOV R0,#20H ;#20H->R0 (R0)=20H MOV R1,#30H ; #30H->R1 (R1)=30H MOV A,R0 ;(R0)->A (A)=20H ADD A,#36H ;(A)+#36H->A (A)=56H MOV P1,A ;(A)->P1 (P1)=56H INC R0 ;(R0)+1->R0 (R0)=21H INC R1 ;(R1)+1->R0 (R1)=31H ANL A,R1 ;(A)&(R1)->A (A)=10H SWAP A ;累加器A的高低4位交换 (A)=01H PUSH ACC ;累加器A内容压栈 MOV P1,A ;(A)->P1 (P1)=01H POP B ;堆栈内容出栈到B寄存器 (B)=01H MOV R0,A ;(A)->R0 (R0)=01H MOV DPTR,#2200H ;#2200H->DPTR (DPTR)=2200H SETB C ;1->Cy (Cy)=1 ADDC A,#0 ;(A)+0+(Cy)->A (A)=02H MOVX @DPTR,A ;(A)->(DPTR) (2200H)=02H END (R0)= 01H (R1)= 31H (P1)= 01H (B)= 01H (2200H)= 02H 2、 ORG 0 LJMP START ;跳转到(PC)=0030H处 ORG 30H START:MOV SP,#50H ;#50H->SP (SP)=50H MOV R2,#10H ;#10H->R2 (R2)=10H MOV DPTR,#3000H ;#3000H->DPTR (DPTR)=3000H CRL A ;0->A (A)=0 LOOP: MOVX @DPTR,A ;(A)->(DPTR) INC DPTR ;(DPTR)+1->DPTR DJNZ R2,LOOP ;(R2)-1->R2 若(R2)不等于零则转移到LOOP处 INC DPH ;(DPH)+1->DPH (DPH)=31H (R2)=00H (DPL)=10H INC DPH ;(DPH)+1->DPH (DPH)=32H MOV 20H,#36H ;#36H->(20H) (20H)=36H SETB 00H ;位地址00H置1 20H.0=1 (20H)=37H MOV A,20H ;(20H)->A (A)=37H MOVX @DPTR,A ;(A)->(DPTR) (DPTR)=3210H (3210H)=37H INC A ;(A)+1->A (A)=38H INC A ;(A)+1->A (A)=39H PUSH ACC ;累加器A内容压栈 (SP)=51H XCH A,R2 ;累加器A的内容与R2内容互换 (A)=00H (R2)=39H POP DPH ;堆栈内容弹到DPH (DPH)=39H

微机原理实验报告——分支程序设计

实验三 分支程序设计 一、实验要求和目的 1.熟悉汇编语言程序设计结构; 2.熟悉汇编语言分支程序基本指令的使用方法; 3.掌握利用汇编语言实现单分支、双分支、多分支的程序设计方法。 二、软硬件环境 1.硬件环境:微机CPU 486以上,500MB 以上硬盘,32M 以上内存; 2.软件环境:装有MASM 、DEBUG 、LINK 和EDIT 等应用程序。 三、实验涉及的主要知识单元 在实际应用中,经常根据一些条件来选择一条分支执行。汇编语言的条件判断主要是通过状态寄存器中的状态位、无符号数相减或有符号和相减而导致的结果来进行。下面就有符号数转移指令来了解在汇编语言程序设计方法。 四、实验内容与步骤 1.实验内容 (1)编写计算下面函数值的程序: ?? ? ??<-=>=0,10,00,1x x x y 设输入数据为X 、输出数据Y ,且皆为字节变量,使用Debug 查看X 、Y 两个变量的 数据 (2)以ARRAY 为首地址的内存单元中,存放5个8位的不带符号数,找出5个数中的最大数,并将结果存入RESULT 字节单元中。 2.实验步骤 a.实验流程图 (1)计算函数值的流程图

b.编写程序 (1)计算函数值的实验代码 DATA SEGMENT X DB 12 Y DB ? DATA ENDS STACK SEGMENT STACK'STACK' DB 100H DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AL,XX CMP AL,0 ;把AX 与0比较 JGE BIGPR ;0≥AL 转入BIGPR MOV Y,0FFFFH ;0AL 则1=Y JMP EXIT EQUPR: MOV Y,0 ;0=AL 则0=Y EXIT: MOV AL,Y RET CODE ENDS END START

微机原理习题及答案

一、选择 1、在微型计算机中,微处理器的主要功能是进行( )。 D A、算术运算 B、逻辑运算 C、算术、逻辑运算 D、算术、逻辑运算及全机的控制 2、Pentium I属于()位CPU C A、16 B、8 C、32 D、64 3、Intel 8086属于()位CPU A A、16 B、8 C、32 D、64 4、CPU与I/O设备间传送的信号通常有( ) D A、控制信息 B、状态信息 C、数据信息 D、以上三种都有 5、存储器用来存放计算机系统工作时所需要的信息,即( )。 D A、程序 B、数据 C、技术资料 D、程序和数据 6、运算器的核心部件是( )。 D A、加法器 B、累加寄存器 C、多路开关 D、算逻运算单元 二、填空 1、内存可分为2大类:随机存储器RAM 和 2、数据总线是向的,地址总线是向的。 3、计算机的五大部件是:、、、、输出设备 4、总线可分为三类:、、 5、存储程序工作原理最先由提出 6、在计算机内部,一切信息的存取、处理和传送都是以形式进行的。 1、只读存储器ROM 2、双、单 3、运算器、控制器、存储器、输入设备 4、地址总线、数据总线、控制总线 5、冯·诺依曼 6、二进制 三、简答 1、冯·诺依曼型计算机的特点是什么? (1).以二进制表示指令和数据 (2).程序和数据存放在存储器中,从存储器中取指令并执行 (3).由运算器、控制器、存储器、输入设备、输出设备构成计算机硬件系统。 一、选择 1、在机器数______中,零的表示形式是唯一的()。BD A、原码 B、补码 C、反码 D、移码 2、计算机内部表示带符号整数通常采用()。C A、原码 B、反码 C、补码 D、移码

微机原理与接口技术考试试题及答案A

《微机原理与接口技术》课程期末考试试卷(A卷,考试) 一、单项选择(在备选答案中选出一个正确答案,并将其号码填在题干后的括号内。每题2分,共30分) 1 .某微机最大可寻址的内存空间为16MB,其CPU地址总线至少应有( D )条。 A. 32 B. 16 C. 20 D. 24 2 .用8088CPU组成的PC机数据线是( C )。 A. 8条单向线 B. 16条单向线 C. 8条双向线 D. 16条双向线 3 .微处理器系统采用存储器映像方式编址时存储单元与I/O端口是通过( B )来区分的。 A. 不同的地址编码 B. 不同的读控制逻辑 C. 不同的写控制逻辑 D. 专用I/O指令 4 .要禁止8259A的IR0的中断请求,则其中断屏蔽操作指令字OCW1应为( D )。 A. 80H B. 28H C. E8H D. 01H 5 .在8086环境下,对单片方式使用的8259A进行初始化时,必须放置的初始化命令字为( B )。 A. ICW1,ICW2,ICW3 B. ICW1,ICW2,ICW4 C. ICW1,ICW3,ICW4 D. ICW2,ICW3,ICW4 6 .6166为2Kx8位的SRAM芯片,它的地址线条数为( A )。 A. 11 B. 12 C. 13 D. 14 7 .在计算机系统中,可用于传送中断请求和中断相应信号的是( C )。 A. 地址总线 B. 数据总线 C. 控制总线 D. 都不对 8 .段寄存器装入2300H,该段的最大结束地址是( A )。 A. 32FFFH B. 23000H C. 33FFFH D. 33000H 9 .在进入DMA工作方式之前,DMA控制器当作CPU总线上的一个( A )。 A. I/O设备 B. I/O接口 C. 主处理器 D. 逻辑高 10 .在8086宏汇编过程中不产生指令码,只用来指示汇编程序如何汇编的指令是( B )。 A. 汇编指令 B. 宏指令 C. 机器指令 D. 伪指令 11 .中断向量表占用内存地址空间为( A )。 A. 00000H~003FFH B. 00000H~000FFH C. 00000H~00100H D. FFF00H~FFFFFH 12 .实现CPU与8259A之间信息交换是( D )。A. 数据总线缓冲器 B. 级联缓冲/比较器 C. 读写控制电路 D. 数据总线缓冲器与读写控制电路 13 .Intel 8253的最大输入时钟频率是( B )。 A. 5MHz B. 2MHz C. 1MHz D. 4MHz 14 .完成两数相加后是否溢出的运算,用( C )标志位判别。 A. ZF B. IF C. OF D. SF 15 .8255A的方式选择控制字应写入( D )。 A. A口 B. B口 C. C口 D. 控制口

C语言程序设计-----阅读程序题库及答案

C语言程序设计-----阅读程序题库及答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

阅读程序题 【】以下程序的输出结果是。 main(D ) { float a; printf("%g",a); } A) +00 B) C) D) 0 【】下面程序的输出结果是B____。 #include <> main( ) { int x=10; { int x=20; printf ("%d,", x);

} printf("%d\n", x); } A) 10,20 B) 20,10 C) 10,10 D) 20,20 【】以下程序的输出结果是___B_。 main() { unsigned int n; int i=-521; n=i; printf("n=%u\n",n); }s",s); } A) a book! B) a book!<四个空格》 C) a bo D) 格式描述错误,输出不确定

【】下面程序的输出结果是____。 main() { int a,b; scanf("%2d%3d",&a,&b); printf("a=%d b=%d\n",a,b); } A) a=12 b=34 B) a=123 b=45 C) a=12 b=345 D) 语句右错误 【】以下程序段的输出结果是。 int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);

A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50 【】以下程序的输出结果是。 main() { int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) if(!c) d=15; else d=25; printf("d=%d\n",d); } A) d=10 B) d=15 C) d=20 D) d=25 【】下面程序的输出结果为。 main()

微机原理试题及答案 (1)

学年第学期微机原理及应用(A)课程试卷 卷16 班级姓名得分任课教师 一、选择题:(每题分,共18分) 1、DMAC向CPU发出请求信号,CPU响应并交出总线控制权后将( 3)。 反复执行空操作,直到DMA操作结束 进入暂停状态, 直到DMA操作结束 进入保持状态, 直到DMA操作结束 进入等待状态, 直到DMA操作结束 2、有一个实时数据采集系统,要求10ms进行一次数据采集,然后进行数据 处理及显示输出,应采用的数据传送方式为( 3 )。 无条件传送方式查询方式 中断方式直接存储器存取方式 3、在数据传送过程中,数据由串行变并行,或由并行变串行的转换可通过 (3 )来实现。 计数器寄存器移位寄存器 D触发器 4、8088 CPU输入/输出指令可寻址外设端口的数量最大可达(4 )个。 128 256 16K 64K 5、CPU响应中断后,通过( 4)完成断点的保护。 执行开中断指令执行关中断指令 执行PUSH指令内部自动操作 6、并行接口芯片8255A具有双向数据传送功能的端口是(1 )。 PA口PB口 PC口控制口 7、8088CPU处理动作的最小时间单位是(2 )。 指令周期时钟周期机器周期总线周期8.堆栈是内存中(4 )。 先进先出的ROM区域后进先出的ROM区域 先进先出的RAM区域后进先出的RAM区域

9、计算机中广泛应用的RS-232C实质上是一种(3 )。 串行接口芯片串行通信规程(协议) 串行通信接口标准系统总线标准 5--1 10、高速缓冲存储器(CACHE)一般是由( 1 )芯片组成。 SRAM DRAM ROM EPROM 11、鼠标器是一种(3 )。 手持式的作图部件手持式的光学字符识别设备 手持式的座标定位部件手持式扫描器 12、传送速度单位“bps”的含义是( 2 )。 bytes per second bits per second baud per second billion bytes per second 二、填空题:(每空1分,共12分) 1、CPU在响应中断后,自动关中。为了能实现中断嵌套,在中断服务程序中, CPU必须在保护现场后,开放中断。 2、在计算机运行的过程中,有两股信息在流动,一股是数据,另 一股则是控制命令。 3、指令MOV BX,MASK[BP]是以 ss 作为段寄存器。 4、指令REPE CMPSB停止执行时,表示找到第一个不相等的字符 或 CX=0 。 5、设CF=0,(BX)= 7E15H,(CL)= 03H,执行指令 RCL BX,CL后, (BX) = ,(CF)=,(CL)=。0F0A9H 1 3 6、在8088 CPU中,一个总线周期是 CPU从存储器或I/O端口存取一个字 节的时间。 8253定时/计数器有 3 个独立的16位计数器,每个计数器都可按二进制或 bcd 来计数。 三、程序设计(共40分) 1.(10分)假设X和X+2单元与Y和Y+2单元中分别存放的是两个双

微机原理期末考试试卷(有答案)

微机原理期末考试试卷 (有答案) -CAL-FENGHAI.-(YICAI)-Company One1

《微机原理》考试试卷 一、判断题(每题1分,共10分) 1、十六位微型机的含义是:这种机器能同时处理十六位二进制数。(√) 2、微机的字长愈长,计算精度愈高,指令处理功能愈强。(√) 3、MOV指令要影响标志位。(×) 4、JMP SHORT NEXT称为近转移。(×) 5、8086与8088在软件上不一定完全兼容。(×) 6、端口是位于主机与外设之间的总称。() 7、DMA是一种不需要CPU介入的高速数据传送。() 8、8253中的计数可以通过初始化设置成加计数或减计数。() 9、内部中断的优先权总是高于外部中断。() 10、两片8259A级连后可管理16级中断。() 二、选择题(每题1分,共20分) 1、属于数据寄存器组的寄存器是_____C___。 A.AX,BX,CX,DS B.SP,DX,BP,IP C. AX,BX,CX,DX D.AL,DI,SI,AH 2、在8086和8088汇编语言中,一个字能表示的有符号数的范围是 _____B___。 A.-32768≤n≤32768 B.-32768≤n≤32767 C.-65535≤n≤65535 D.-65536≤N≤65535 3、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为__B______。 A.02120H B.20120H C.21200H D.03200H 4、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是 ___D_____。

C++程序设计综合练习题-读程序写结果题

C++程序设计模拟题 三、用C++语言描述下列命题 1、A小于B并且A大于C 2、A和B中有—个小于C 3、A是奇数 4、B和C中较大者与A相等 5、年份Y是闰年 四、写出下列程序的执行结果 1. #include void main() { int b[3][5]={11,12,13,14,15,21,22,23,24,25,31,32,33,34,35}; int (*p)[5]; p=b; for(int j=0;j<5;j++) cout<<*(*p+j)<< "," ; cout< void swapl(int a,int b) { int temp=a; a=b; b=temp; } void swap2(int*a,int*b) { int temp=*a; *a=*b,*b=temp; } void swap3(int*a,int*b) { int*temp=a; a=b,b=temp; } void swap4(int &a,int &b)

int temp=a; a=b; b=temp; } void main() { int a=10,b=20; swapl(a,b); cout< void print(int w) { int i; if(w!=0) { print(w-1); for(i=1;i<=w;i++) cout< #define sw(x,y) {x^=y;y^=x;x^=y;} void main() { int a=10,b=01; sw(a,b); cout<

相关文档
最新文档