ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:244.95KB ,
资源ID:24019504      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24019504.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理期末考试习题选讲资料.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理期末考试习题选讲资料.docx

1、微机原理期末考试习题选讲资料微机原理习题选讲江苏大学机械学院测控系2011年9月存储器数据组织:VAR132H41HA42HB43HCVAR234H1234H12H40H0040H00H42HB41HA78H12345678H56H34H12H-预留的存储单元C3H11000011BARRY100H第一组字节方式的0,101H00H第二组字节方式的0,101HARRY2-第一组字方式的?,1-01H00H-第二组字方式的?,1-01H00H:例4-3VAR1 DB 32H, ABCVAR2 DW 1234H,40H, AB DD 12345678H DB ?,11000011BARRY1 DB

2、 2DUP(0,1)ARRY2 DW 2DUP (?,1)本例所定义的数据存储器分配情况如图示。寻址方式与指令系统1. 已知(DS)=1000H,(ES)=2000H,(SS)=1100H,(SI)=1010H,(BX)=0200H,(BP)=0600H,请指出下列指令的源操作数字段是什么寻址方式?源操作数字段的物理地址是什么?(1) MOV AL,2400H(2) MOV AX,BP(3) ADD AX,ES:BP+10(4) MOV AL,BX+SI+25解:(1) 该指令的源操作数字段是直接寻址方式物理地址PA=(DS)16+2400H=1000H16+2400H=12400H(2) 该

3、指令的源操作数字段是寄存器间接寻址方式物理地址PA=(SS)16+(BP)=1100H16+0600H=11600H(3) 该指令的源操作数字段是寄存器相对寻址方式物理地址PA=(ES)16+(BP)+10=2000H16+0600H+000AH=2060AH(4) 该指令的源操作数字段是寄存器相对基址变址寻址方式物理地址PA=(DS)16+(BX)+(SI)+25=1000H16+0200H+1010H+0019H=11229H2. 请指出下列指令中得错误:(1)MOV DS,12H (2)MOV AH,400(3)MOV BP,AL (4)MOV AX,SIDI(5)OUT 257H,AL

4、 (6)MOV BYTE PTRBX,1000(7)MOV BX,SI (8) MOV 4DI,02(9) MOV BX+SI+3,IP (10)PUSH BH解: (1)不能直接向DS中送立即数(2)400超过了一个字节的范围(3)寄存器类型不匹配(4)SI、DI不能同时使用(5)直接寻址的输出指令中,端口号只能在00FFH范围内(6)1000超过了一个字节的范围(7)源和目的操作数不能同时为存储器操作数(8)源操作数与目的操作数的类型不明确(9)IP不能作源和目的操作数(10)PUSH是字操作指令3. 请写出如下程序片段中每条算术运算指令执行后标志CF、ZF、SF、OF、PF和AF的状态:

5、MOV AX,7896HADD AL,AHADD AH,ALADD AL,0F2H解: (1)MOV AX,7896H执行后,AX=7896H,即AH=78H,AL=96H,各标志位保持不变。 (2)ADD AL,AH执行后,AH=78H ,AL=0EH,即AX=780EH,所以各标志位状态为:CF=1,ZF=0,SF=0,OF=0,AF=0,PF=0。 (3)ADD AH,AL执行后,AH=86H,AL=0EH,即AX=860EH,所以各标志位状态为:CF=0,ZF=0,SF=1,OF=1,AF=1,PF=0。 (4)ADD AL,0F2H执行后,AH=86H,AL=00H,即AX=8600

6、H,所以各标志位状态为:CF=1,ZF=1,SF=0,OF=0,AF=1,PF=1。4. 、均为16位带符号数,请编写一个程序段计算表达式(X*Y+Z-1000)/70的值。解:假设X、Y和Z分别存放在名为DATAX、DATAY和DATAZ的变量单元中。计算结果保存在AX中,余数保存在DX中,则程序段如下: MOV AX,DATAX IMUL DATAY ;计算X*Y MOV CX,AXMOV BX,DX ;积保存到BX:CXMOV AX,DATAZCWD ;将DATAZ扩展成32位ADD AX,CX ;计算和ADC DX,BXSUB AX,1000 ;计算差SBB DX,0MOV CX,70

7、 ;计算商和余数IDIV CX汇编程序基本设计方法简单(顺序)程序例4-25 有X,Y两个16位数3456H和0ABCDH,求两数之和,并将结果送到Z单元。程序清单:DATA SEGMENTX DW 3456HY DW 0ABCDHZ DW 00DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART: MOV AX,DATAMOV DS ,AXLEA SI,XLEA DI,YMOV AX,SIADD AX,DIMOV Z,AXMOV AH,4CHINT 21HCODE ENDSEND START 例4-26把压缩BCD码表示的数M,转换为两个相应的AS

8、CII码,结果存在紧跟M后的两个内存单元,低位在前,高位在后。程序清单:DATA1 SEGMENT M DB ? N DB 2DUP(00)DATA1 ENDSCODE1 SEGMENT ASSUME DS:DATA1,CS:CODE1START:MOV AX, DATA1 MOV DS,AX LEA SI,M LEA DI,N MOV AL,SI AND AL,0FH ADD AL,30H MOV DI,AL MOV AL,SI MOV CL,4 SHR AL,CL ADD AL,30H MOV DI+1,AL MOV AH,4CH INT 21H CODE1 ENDSEND START分支

9、程序例4-27内存单元M有一个16位带符号数,求其绝对值,并将结果放回原处。程序清单:DATA2 SEGMENT M DW ?DATA2 ENDSCODE2 SEGMENT ASSUME DS:DATA2,CS:CODE2START:MOV AX, DATA2 MOV DS,AX LEA SI,M MOV AX,SI AND AX,AX JNS DONE NEG AXDONE: MOV SI,AX MOV AH,4CH INT 21H CODE2 ENDSEND START例4-28编写实现下列函数的程序。程序清单如下:DATA3 SEGMENT X DW ? Y DW ?DATA3 ENDS

10、CODE3 SEGMENTASSUME CS:CODE3,DS:DATA3START:MOV AX, DATA3 MOV DS,AX LEA SI,X MOV AX,SI AND AX,AX JNS LP1 MOV Y,0FFH JMP END1LP1: JNZ LP2 MOV Y,00H JMP END1LP2: MOV Y,01H END1:MOV AH,4CH INT 21HCODE3 ENDSEND START循环程序例4-29 以ARRY开始的字节数组有10个带符号数,求出它们的和,并将和送到SUM字单元中。程序清单如下:DATA4 SEGMENT ARRAY DB a1,a2,a3

11、,.a10 SUM DW ?DATA4 ENDSCODE4 SEGMENT ASSUME CS:CODE4,DS:DATA4START:MOV AX, DATA4 MOV DS,AX LEA SI,ARRAY XOR DX,DX MOV CX.10DONE: MOV AL,SI CBW ADD DX,AX INC SI LOOP DONE MOV SUM,DX MOV AH,4CH INT 21HCODE4 ENDSEND START例子4-30 统计数据段string字符串的字符个数,将统计值存入count单元,字符串是由字符$值为结束符的,统计时$不统计在内。程序清单如下:DATA5 SE

12、GMENT STRING DB How are you!,$ COUNT DW ?DATA5 ENDSCODE5 SEGMENT ASSUME CS:CODE5,DS:DATA5START:MOV AX, DATA5 MOV DS,AX MOV SI,OFFSET STRING XOR CX,CXAGAIN:MOV AL,SI CMP AL,$ JZ DONE INC CX INC SI JMP AGAINDONE: MOV COUNT,CX MOV AH,4CH INT 21HCODE5 ENDSEND START例4-31 数据段buffer数组有100个字数据,统计该数组中所有为“1”

13、的位的个数,统计结果存入result单元。程序清单如下:DATA6 SEGMENTBUFFER DW a1,a2,a3,.,a100COUNT EQU 100RESULT DW ?DATA6 ENDSCODE6 SEGMENT ASSUME CS: CODE6, DS:DATA6START: MOV AX, DATA6 MOV DS, AX MOV SI, OFFSET BUFFER MOV CH, COUNT MOV BX, 00HLOP1: MOV AX, SI MOV CL, 16LOP2: SHR AX, 1 JNC NEXT INC BXNEXT: DEC CL JNZ LOP2 I

14、NC SI INC SI DEC CH JNZ LOP1 MOV RESULT, BX MOV AH, 4CH INT 21HCODE6 ENDSEND START子程序例4-32 子程序SUM的功能是对字节数组求和,用寄存器传送参数,主程序两次调用子程序,对不同的数组求和。程序清单如下:DATA7 SEGMENT; ARRYA DB a1,a2,a3,.,am COUNTA EQU $-ARRYA SUMA DW ?; ARRYB DB b1,b2,b3,.,bn COUNTB EQU $-ARRYB SUMB DW ?DATA7 ENDS STACK1 SEGMENT STAK DB 10

15、0 DUP(?) TOP EQU 100STACK1 ENDSCODE7 SEGMENT ASSUME CS:CODE7,DS:DATA7,SS:STACK1MAIN: MOV AX, DATA7 MOV DS,AX MOV AX,STACK1 MOV SS,AX MOV SP,TOP LEA SI,ARRYA LEA DI,SUMA MOV CX,COUNTA CALL SUM MOV SI,OFFSET ARRYB MOV DI,OFFSET SUMB MOV CX,COUNTB CALL SUM MOV AH,4CH INT 21HCODE7 ENDS;子程序名为SUM,对字节数组求和;

16、SI=数组起始地址;CX=数组长度;DI=有效数组和目的地址SUM PROC NEAR PUSH AX PUSH BX MOV AX,00HAGAIN:MOV BL ,SI MOV BH,0 ADD AX,BX INC SI LOOP AGAIN MOV DI,AX POP BX POP AX RETSUM ENDP END MAIN存储器地址及其分配例5-1图为某一8088系统的存储器连接图,试确定其中各芯片的地址空间。片选:选中所用芯片(高位地址线)字选:选中所用存储单元(低位地址线)分析:对于芯片的使用 1、若使74LS138起作用,需满足:A17=1;A19=A18=0;A16=A15

17、=A14=0时选中 Y0 A16=1,A15=A14=0时选中Y4 2、若选中27128(16K EPROM,需14根地址线A13A0)需满足:1)Y0=0 (A16=A15=A14=0)A19A18A17A16A15A14A13A12A1127128:20000H23FFFHA0001000000011113、若选中1#6264(8K SRAM,需13根地址线A12A0)需满足:1)A13=0;2)Y4=0 (A16=1,A15=0,A14=0)A19A18A17A16A15A14A13A12A111#6264:30000H31FFFHA000110000001114、若选中2#6264需满

18、足:需满足:1)A13=1; 2)Y4=0 (A16=1,A15=0,A14=0)A19A18A17A16A15A14A13A12A112#6264:32000H33FFFHA00010001000111例5-2 设计某一16位微处理器系统,要求存储容量位8K的EPROM,采用2764芯片,地址为FE000HFFFFFH;RAM容量为16K,选用6264芯片,地址为F0000HF3FFFH。采用全译码方式。分析:1)2764 EPROM 8K8 (需1片);6264 SRAM 8K8 (需2片)2)对于2764: 地址范围FE000HFFFFFH,当A15=A14=A13=1时, 选中Y7,2

19、764片选端 CE使能。CBAA19A18A17A16A15A14A13A12A11A0111111100011111111113)对于6264:地址范围F0000HF3FFFH,(8K需13根地址线0000H1FFFH)2#6264:F0000H+1FFFH=F1FFFH(F0000HF1FFFH)1#6264:F2000H+1FFFH=F3FFFH(F2000HF3FFFH)当A15=A14=A13=0时,选中 Y0,2#6264片选端 CE使能当A15=A14=0,A13=1时,选中Y1,1#6264片选端 CE使能CBAA19A18A17A16A15A14A13A12A11A02#11

20、1100000011110001111#11110010001111001111例5-3 用存储器芯片SRAM 6116构成一个4KB的存储器,要求其地址范围在78000H78FFFH之间。分析::记住:210=1K (A9A8A7A0: .00 0000 0000 11 1111 1111 )1K:0000H03FFH3K:0000H0BFFH (1K+2K)2K:0000H07FFH4K:0000H0FFFH8K:0000H1FFFH题目要求:地址范围为78000H78FFFH的4KB内存空间,而6116为2K8故需2片。2K:78000H787FFH (78000H+07FFH=787F

21、FH)2K:78800H78FFFH (78800H+07FFH=78FFFH)CBAA19A18A17A16A15A14A13A12A11A10A001111000000Y00111100001101111000100Y101111000111思考:首地址为42000H,组成6K空间,末地址是多少?(答案:437FFH 提示:6K=4K+2K)8255的应用例7-3 利用8255作为打印机的连接接口,并通过该打印机接口打印字符串,字符串长度放在DS段的COUNT单元中,要打印的字符存放在从DATA单元开始的数据区中。8255与打印机的连接CPU通过8255接口将数据传送到打印机的D0D7端,

22、然后利用一个负脉冲STROBE(宽度1s)将数据锁存在打印机内部,以便打印机进行处理。同时,打印机的BUSY端送出高电平信号,表示其正忙。仅当BUSY端信号变低后,CPU才可以将下一个数据送给打印机。INT:MOV DX,0FBC3H;8255的控制寄存器端口地址送DXMOV AL,10000001B;A组方式0:A口输出,C口高4位输出;B组方式0:B口输出,C口低4位输入OUT DX,AL;方式控制字送控制寄存器MOV AL,00001101B;C口的按位操作控制字,使PC6初始状态置1OUT DX,AL;C口位操作控制字送控制寄存器下面是打印一批字符的程序段:MOV CX,COUNT;将

23、字符串长度作为循环次数MOV SI ,OFFSET DATA;取字符串首地址GOON:MOV DX,0FBC2H;0FBC2H为C口的地址IN AL,DX;从C口读入打印机的BUSY信号状态AND AL,02HJNZ GOON;若BUSY为高电平则循环等待MOV AL,SI;否则取一个字符MOV DX,0FBC0H;0FBC0H为A口的地址OUT DX,AL;输出一个字符到A口MOV DX,0FBC2H;准备在PC6上生成一个负脉冲MOV AL,0OUT DX,AL;因仅PC6接打印机,故由C口输出00H将使PC6变低MOV AL,40HOUT DX,AL;在使PC6变高,在PC6上生成一个STROBE负脉冲INC SI;指向下一个字符LOOP GOON;若未结束则继续HLT注:STROBE负脉冲也可以利用控制字对C口的按位置位/复位操作来实现。MOV DX,0FBC3HMOV AL,00001100B; PC6复位(=0)OUT DX,ALMOV AL,00001101B; PC6置位(=1)OUT DX,AL附 录1 许立梓等编 . 微型计算机原理及应用 . 北京:机械工业出版社, 20082 冯博琴主编 . 微型计算机原理与接口技术 . 北京: 清华大学出版社, 2002

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1