微机考试试题_第1页
微机考试试题_第2页
微机考试试题_第3页
微机考试试题_第4页
微机考试试题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、2微型计算机由(中央处理器,存储器,输入/输出接口和系统总线)组成。11带符号数在机器中以_补_码表示,十进制数-78表示为_ FFB2H _。1微型计算机系统的基本组成? 以微型计算机为主体,配上相应的系统软件、应用软件和外部设备之后,组成微型计算机系统。2简述冯.诺依曼型计算机基本思想? 冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是

2、把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。3子程序调用的操作过程包含哪几个步骤? 1)保护现场,即将主程序转移前的程序状态保存起来,保存内容主要是程序计数器PC的内容。保护现场通常采用堆栈完成,将程序计数器PC的内容(断点地址)压入堆栈。(2)将子程序入口地址送入程序计数器PC,那么,下一条要执行的指令就是子程序的第一条指令。4在0624H单元内有一条二字节指令JNE OBJ,如其中位移量分别为(1)27H (2)6BH (3)0C6H 试问:转向地址OBJ的值是多少? 答案: 取出NE OBJ指令后,(IP)=0626H,OBJ的值是:(IP)+D-IP0626

3、H+27H=064DH 0626H+6BH=0691H 0626H-3AH=05ECH5如BUFFER为数据段中0032单元的符号地址其中存放的内容为2345H,试问以下两条指令有什么区别?指令执行完成后AX寄存器的内容是什么? 第一条指令是将BUFFER字单元的内容送到AX寄存器,而第二条指令是将BUFFER的段内偏移地址送到AX寄存器。 (1)(AX)=2345H (2)(AX)=0032H(1)MOV AX,BUFFER (2)LEA AX,BUFFER6在无超越说明时,通用数据读写、目的数据串、源数据串、堆栈操作和取指令操作分别自动选择哪些段寄存器搭配产生物理地址? 通用数据读写自动选

4、择数据段寄存器(DS) 目的数据串自动选择附加数据段寄存器(ES) 源数据串自动选择数据段寄存器(DS) 堆栈操作自动选择堆栈段寄存器(SS) 取指令操作自动选择代码段寄存器(CS)7设(DS)=1000H,(AX)=1C5AH,(BX)=2400H,(SI)=1354H,(13774H)=30H,(13775H)=20H,(13754H)=40H,(13755H)=10H 指令在此环境下执行,在各空中填入相应的执行结果。SUBAX,20HBXSI (AX)=0FC2AH,SF=1, ZF=0, CF=1,OF=08简述8086汇编语言中,指令语句和伪指令语句的区别和作用。 指令是真正让计算机

5、进行某种具体操作的命令,它在程序运行时执行。伪指令是通知汇编程序在翻译程序时执行的命令。9什么是变量,变量有哪些属性,如何使用这些属性? 变量是在程序运行过程中,其值可以改变的量,通常给其命名一个符号,称为变量名。变量有三种属性:变量的类型、变量的段地址、变量的段内偏移地址;类型属性使用SIZE获取,段地址属性用SEG获取,偏移地址属性用OFFSET获取。10试说明为什么有时候必须使用PTR属性操作符? PTR优先于隐含的类型属性,指定操作数的类型的类型属性。因为在许多情况下,所使用的操作符类型与原指定的类型不同,又不希望改变原有的设定,只暂时改变操作符类型,则必须使用PTR属性操作符作为临时

6、设定,这个临时设定类型只在本条指令中有效。11什么是汇编语言,什么是汇编? 汇编语言是用指令助记符、符号地址编写程序的一种语言,每条指令对应一种机器指令。汇编就是将汇编语言源程序翻译成机器指令的过程12简述DOS系统功能调用的使用方法? 1)在AH寄存器中设定所需调用的功能号;2)根据功能的规定设定入口参数;3)用INT 21H进入子程序;4)根据规定,从相应的寄存器取得返回值。13.外设向CPU申请可屏蔽中断,但CPU不响应该中断,其原因有哪些?答案,其原因可能有四个:()CPU处于关中断状态,IF。()该中断请求已被屏蔽()该中断请求的时间太短,未能保持到指令周期结束;()CPU已释放总线

7、,而未收回总线控制权。14.中断系统响应中断时如何中断入口地址?答案,在中断响应时,根据中断类型号,从中断类型号*4开始的连续的4个单元中保存有中断服务程序入口地址,取出来,直接送给PC和CS即可。15什么是RAM?什么是ROM、EPROM?各有什么用途? RAM:随机读写存储器,可以随时改写其中存储的信息。ROM:只读存储器,其中的内容在正常情况下只可以读出,而不能改写。EPROM:可以由用户编程的只读存储器,但在正常情况下只可以读出其内容,而不能改写。RAM一般用于计算机中需要经常改变其内容的存储器,如计算机内存。ROM一般用于计算机中不需要经常改变其内容的存储器,如计算机的ROMBIOS

8、。EPROM一般用于在设计过程中需要经常改变其内容,而在设计完成后其内容一般不改变的场合。16试说明线选法和全译码法二种片选控制方法的优缺点。 线选法除将低位地址线直接接片内地址外,剩下的高位地址线,分别作为各个存储器芯片的片选控制信号,寻址时只允许一位有效,否则不能保证每次只选中一个芯片。线选法的优点是连接简单,无需专门译码电路,缺点是地址不连续,有重叠区,浪费地址空间,适于简单存储系统构造。全译码法除了将低位地址总线直接连至各芯片的地址线外,将余下的高位地址总线全部译码,译码输出作为各芯片的片选信号。这种方法可以提供对全部存储空间的寻址能力,且每一存储单元有唯一地址对应。即使不需要全部存储

9、空间,多余的译码输出可闲空,便于需要时扩充。 17.常用的键盘扫描有几种方式?试述各自的特点及原理。答案:行扫描法和行反转法 行扫描法工作原理1)规定行输出,列输入 2)将全“0”数据从行线上输出,读取列线,若全“1”,则认为没有按键,否则认为有按键。 3)在有按键情况下,逐次使其中的行线输出“0”,其余的行线为“1”,读取列线,若读取的数据为全“1”,则表明该行没有按键,若读取的非全“1”,根据行列线上的数据,可以唯一确定哪一个键按下。行反转法工作原理1)首先规定行线为输出,列线为输入。 2)从行线上输出全“0”的数据,从列线读取数据,如果读取数据为全“1”,则说明没有键按下,否则认为有按键

10、。3)改变输入、输出端口,将2)获得的数据从列线输出,从行线读取数据,根据两次读取的数据,就可以唯一确定哪个键按下。三、程序设计题1从BUFF单元起有一个字符串(长度小于65535),以*结束,编写一个完整程序求该字符串长度存入LENT单元,并统计字符串中含有大写英文字符的个数并存入COUNT单元。要求源程序具备必要的伪指令和段说明。1DATA SEGMENTINC CXBUFF DB ABCD.*CMP AL,ALENT DW ?JC NEXTCOUNT DW ?CMP AL,ZDATA ENDSJNC NEXTCODE SEGMENTINC DX ASSUME CS:CODE,DS:DAT

11、ANEXT:INC BXSTART:MOV AX,DATAJMP LP MOV DS,AXDONE:INC CX LEA BX,BUFFMOV LENT,CX MOV CX,0MOV COUNT,DX MOV DX,0MOV AH,4CHLP: MOV AL,BXINT 21HCMP AL,*CODEENDSJZ DONEEND START2有一带符号8位数X存于DAT单元编一个程序段判断该数,若x小于0则将0FFH送MARK单元;若X等于0则将MARK+1单元置0FFH;若X大于0则置MARK+2单元为0FFH。2MOV AL,DATJMP DONEAND AL,ALLPl:MOV MARK

12、,0FFHJS LP1JMP DONEJZ LP2LP2:MOV MARK+1,0FFHMOV MARK+2,0FFHDONE:HLT3已知有X、Y、Z三个字变量,存放无符号整数,请编一个完整的程序实现公式Z=(X+Y)/(X-Y+600)(不考虑溢出情况)。3、DSEG SEGMENT SUB BX,YX DW ?ADD BX,600Y DW ?MOV AX,XZ DW ?ADD AX,YDSEG ENDSMOV DX,0CSEG SEGMENTDIV BXASSUME CS:CSEG,DS:DSEGMOV Z,AXMAIN PROC FARMOV AH,4CH BEGIN: MOV AX,

13、DSEG INT 21H MOV DS,AX MAIN ENDP MOV BX,X CSEG ENDS END BEGIN4AX寄存器中存放着4位十六进制数。试编写一个汇编语言程序,将这4位十六进制数分别转换为相应的ASCII码,并依次存放到RESULT数组的4个字节中去,要求用调用子程序的方法实现。CODE SEGMENTHASC PROC NEAR ASSUME CS:CODE,DS:CODEMOV DL,ALSTART:MOV BX,CODEAND DL,0FHMOV DS,BXCMP DL,9MOV CL,4JA L2MOV BL,4ADD DL,30HMOV SI,OFFSET RE

14、SULTL1:RETLP:CALL HASCL2:ADD DL,37HMOV SI,DLJMP L1INC SIHASC ENDPSHR AX,CLRESULT DB 4 DUP(?)DEC BLCODE ENDSJNZ LPEND STARTEXIT:MOV AH,4CHINT 21H5写出对存放在DX和AX中的双字长数求补的指令序列。 方法1 方法2 方法3 MOV CX,0 NOT AX NEG DX SUB CX,AX NOT DX NEG AX MOV AX,CX ADD AX,1 SBB DX,0 MOV CX, 0 ADC DX,0 SBB CX, DX MOV DX, CX6设

15、有两个等长字符串。试编写一个汇编语言程序,比较它们是否完全相同;若相同,则将字符Y送入AL中,否则,将字符N送入AL中。CODE SEGMENTREPE CMPSBASSUME CS:CODE,DS:CODEJNZ NESTART:MOV AX,CODEMOV AL,YMOV DS,AXJMP EXITMOV ES,AXNE:MOV AL,NCLDEXIT:MOV AH,4CHLEA SI,STRING1INT 21HLEA DI,STRING2STRING1 DBMOV CX,DISTRING2 DBSUB CX,SICODEENDSXOR AX,AXEND START7写出程序段,把DX,

16、AX中的双字右移四位。7、 MOV CL,4 SHR DX,CL SHR AX,CL SHL BL,CL MOV BL,DL OR AH,BL8编写一个完整的8086汇编语言程序,从附加段中首地址为ADR1(变量名)连续存放的100个字型无符号整数中找出最大数,并将此数及其偏移地址分别放入变量MAX和MAXM中8DATA SEGMENTMOV AX,ES:SIADR1 DW 100 DUP(?)LOP1:CMP AX,ES:SIMAX DW ?JAE LOP3MAXM DW ?MOV AX,ES:SIDATA ENDSMOV ES:MAXM,SICODE SEGMENTLOP3:ADD SI,

17、2ASSUME CS:CODE,DS:DATA,ES:DATALOOP LOP1MAIN PROC FARMOV ES:MAX,AX MOV AX,DATAMOV AH,4CHMOV ES,AXINT 21HMOV SI,OFFSET ADR1MAINENDPMOV CX,100CODEENDSMOV ES:MAXM,SIEND MAIN9已知(AX)=4BD5H,统计AX中1的个数和0的个数,并分别放在BL和DL中。编写程序段实现该功能。9、 MOV AX,4BD5H INC DL MOV BL,0 JMP L3 MOV DL,0 L2: INC BL MOV CX,16 L3: LOOP

18、L110有一个首地址为ARRAY的N个字的数组,请编程序使该数组中的数按照从大到小的次序排序。(采用冒泡排序算法)10DATA SEGMENTMOV BX,0 ARRAY DW A1,A2,A3,ANLOOP2:MOV AX,ARRAYBXDATA ENDSCMP AX,ARRAYBX+2PROG SEGMENTJGE CONTINUE ASSUME DS:PROG,DS:DATAXCHG AX,ARRAYBX+2MAIN PROC FARMOV ARRAYBX,AXSTART: PUSH DSCONTINUE:ADD BX,2 SUB AX,AXLOOP LOOP2 PUSH AXMOV C

19、X,DI MOV AX,DATALOOP LOOP1 MOV DS,AXRET MOV CX,NMAINENDP DEC CXPROGENDSLOOP1: MOV DI,CXEND START1统计从01000H内存单元开始的100个字(WORD)型带符号数中的正数、负数和零的字(WORD)个数。答案: 设正数个数存放于BX中,负数个数存放于DI中,零的个数存放于DX中 MOV AX,0100H JZ ZERO MOV DS,AX JL NEGAT MOV BX,0 INC BX MOV DX,0 JMP NEXT1 MOV DI,0 ZERO: INC DX MOV SI,0 JMP NEX

20、T1 MOV CX,100 NEGAT: INC DI NEXT: MOV AX,SI NEXT1: ADD SI,2 CMP AX,0 LOOP NEXT1设某微机系统需要扩展内存RAM 32KB,扩充的存储器空间为10000H开始的连续存储区域。存储器芯片采用16K8的RAM芯片,CPU使用8088。 1)选用芯片,画出逻辑连接图; 2)写出各片RAM的所在地址区域。地址范围 第一片 10000H-13FFFH; 第二片 14000H-17FFFH3) 1.一个8088系统中有一8255A,8255A各口设置如下:A组与B组均工作于方式0,A口为数输入,B口为输出,C口高位部分为输出,低位

21、部分为输入,A口地址设为40H。 1) 写出工作方式控制字 2) 对8255A初始化3) 从A口输入数据,将其取反后从B口送出 1)10010001B 即91H 2) MOV AL,91H; OUT 43H,AL3)IN AL,40H; NOT AL; OUT 41H,AL 4) MOV AL,0B1H OUT 63H,AL 3) MOV AL,0B6H OUT 63H,AL 2) MOV AL,0C4H OUT 63H,AL1) MOV AL,92H OUT 63H,AL 8255A控制字如下,8255A端口地址为:160H、162H、164H、166H,端口A方式0输出,端口B方式0输入,

22、端口C方式0输出。编写程序实现初始化,并将端口B内容的2倍与端口C的内容求和后将结果取反送到端口A。根据端口地址知,端口A地址为:160H,端口B地址为:162H,端口C地址为:164H,控制端口地址为:166H。端口A方式0输出,端口B方式0输入,端口C方式0输入知:控制字8BH。MOVAL,8BH MOVDX,0166H OUT DX,AL MOVDX,0162H INAL,DX MOVBL,AL ADDBL,AL MOVDX, 164H INAL, DX ADDAL, BL NOTAL MOVDX, 0160H OUTDX,AL 五、硬件设计题1、已知8255的控制口地址为236H,LE

23、D采用共阳级接法。字型信息接在PB口,字位信息接在PA口,使用8255作为接口芯片,在两块LED上显示自己的学号。要求画出完整的线路连接图并设计相应的程序(8086工作在最小模式,8255相应控制字为80H)。答案: MOV DX,236H LOP: LOOP LOP MOV AL,80H MOV DX,232H OUT DX,AL MOV AL,nn ;学号高位 MOV CX,000H OUT DX,ALSTART:MOV DX,232H MOV AL,2 MOV AL,nn ;学号低位 MOV DX,230H OUT DX,AL OUT DX,AL MOV AL,1 LOP1:LOOP LOP1 MOV DX,230H JMP START OUT DX,AL2.若打印机及其工作时序如图所示,当打印机不忙时(BUSY=0),向它送数据(设每次只传送1个字节)并在数据稳定时用 负脉冲将数据存于打印机内部,同时设置打印机忙信号,即BUSY =1。 1)用可编程接口芯片8255A将打印机与总线相连接起来。若规定8255A的地址为0320H032FH任选,试画出连接电路图。2)数据段中首地址

温馨提示

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

评论

0/150

提交评论