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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(汇编语言与接口技术习题解答.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

汇编语言与接口技术习题解答.docx

1、汇编语言与接口技术习题解答 习题一解答:1.3(1)0.0000原=0.0000 0.0000反=0.0000 0.0000补=0.0000 (2)0.1001原=0.1001 0.1001反=0.1001 0.1001补=0.1001 (3)-1001原=11001 -1001反=10110 -1001补=101111.4N反=1.0101 N原=1.1010 N补=1.0110 N=-0.10101.5(1)原码运算:比较可知,正数较大,用正数减负数,结果为正 反码运算:010101=01010011反+-00110011反=001010011 +100110011反=001010011+

2、111001100=000100000 补码运算:010101=01010011补+-00110011补=001010011 +100110011补=001010011+111001101=000100000 (2)原码运算:比较可知,负数较大,用负数减正数,结果为负 反码运算:0.100100-0.110010=0.100100+1.110010反=0.100100+ 1.001101=1.110001 补码运算:0.100100-0.110010=0.100100+1.110010补=0.100100+ 1.001110=1.1100101.6(1) (11011011)2=(219)10

3、=(1)BCD (2) (456)10=(0)BCD (3) (174)8=(124)10=(0)BCD (4) (2DA)16=(730)10=(0)BCD1.7(1)9876H看成有符号数时,默认为负数的补码,转换为十进制数是:-26506 (2)9876H看成无符号数时,转换为十进制数是:390301.8(1)98的压缩BCD码为:10011000B (2)98的非压缩BCD码为:01000B1.9(1)S1+S2补=S1补+S2补=00010110+00100001=00110111,无溢出 S1-S2补=S1补+-S2补=00010110+11011111=11110101,无溢出

4、(2)S1+S2补=S1补+S2补=00010110+11011111=11110101,无溢出S1-S2补=S1补+-S2补=00010110+00100001=00110111,无溢出(3)S1+S2补=S1补+S2补=01100100+00011110=10000010,有溢出S1-S2补=S1补+-S2补=01100100+11100010=01000110,无溢出(4)S1+S2补=S1补+S2补=10011100+11100010=01111110,有溢出S1-S2补=S1补+-S2补=10011100+00011110=10111010,无溢出习题二解答:2.1答:8086有哪些

5、寄存器组?各有什么用途? 通用寄存器AX、BX、CX、DX它既可用作16位寄存器,又可将它拆成高、低8位,分别作为两个独立的8位寄存器使用。AX称累加器。常用于存放算术逻辑运算中的操作数,所有I/O指令都使用累加器与外设接口传送数据;BX称基址寄存器。常用来存放访问存时的基地址或用作间接寻址时的地址寄存器。CX称计数寄存器。在循环和串操作指令中用作计数器,指令执行后CX寄存器中的容会自动改变。DX称数据寄存器。在I/O指令中用来存放端口的地址,在乘除指令中用作辅助寄存器。 4个专用寄存器SP堆栈指针寄存器。它在堆栈中存放栈顶偏移指针,;BP基址指针寄存器。一般也用来存放访问存时的基地址;SI源

6、变址寄存器,DI目的变址寄存器。它们常常用在变址寻址方式中。 4个段寄存器CS代码段寄存器。存放当前程序所在段的段基址;DS数据段寄存器。存放当前程序所用数据段的段基址;SS堆栈段寄存器。存放当前程序所用堆栈段的段基址,ES附加段寄存器。存放当前程序所用辅助数据段的段基址。 指令指针寄存器IP16位的指令指针寄存器IP用于存放下一条执行指令的偏移地址。标志寄存器FR它是16位寄存器,但只使用其中的9位,这9位包括6个状态标志位和3个控制标志位。状态标志记录了前面算术逻辑运算结果的一些特征;控制标志是用户自己通过指令设置的,设置后将对其后的操作产生控制作用。2.2答:8086流水线技术是利用80

7、86部指令队列,使8086/8088的执行部件和总线接口部件并行工作。其工作过程如下:当8086的指令队列中有两个空字节,或者8088的指令队列中有一个空字节,总线接口部件就自动执行一次指令周期,从存中取出后续的指令代码放入队列中。当执行部件需要数据时,总线接口部件根据执行部件给出的地址,从指定的存单元或外设中取出数据供执行部件使用。当运算结束时,总线接口部件将运算结果送入指定的存单元或外设。当指令队列空时,执行部件等待,直到有指令为止。若总线接口部件正在取指令,执行部件此时正好发出访问总线的请求,则必须等总线接口部件取指令完毕后,该请求才能得到响应。一般情况下,程序按顺序执行,但当遇到跳转指

8、令时,总线接口部件就使指令队列复位,从新地址取出指令,并立即传给执行部件去执行。所以,8086流水线技术减少了CPU为取指令而等待的时间,提高了CPU的利用率,加快了整机的运行速度,也降低了对存储器存取速度的要求。2.3答:为了尽可能使8086/8088CPU适应各种使用场合,8086/8088CPU通常有两种工作模式:最大工作模式和最小工作模式。最小工作模式,就是在系统中只有8086或者8088一个微处理器。在这种系统中,所有的控制信号直接由8086或8088产生,因此,系统中的总线控制逻辑电路被减到最少。最大工作模式,是相对最小工作模式而言。在此工作模式系统中,一般包含两个或两个以上微处理

9、器,但是主处理器只有一个,其他的处理器均为协处理器,协助主处理器工作。2.4答:逻辑地址是由段基址和偏移地址两部分构成,通常由编程人员在指令中使用。8086系统中任何一个存储单元对应20位的物理地址,都是由逻辑地址转换得来的。8086存储器中的物理地址是由部总线接口部件BIU地址加法器产生。由地址加法器把16位段寄存器的容转换为20位物理地址,即段基址左移4位后,再加上有效偏移量地址。物理地址=CS4+IP=40000H+2200H=42200H2.5答:8086CPU为了能够对存储器进行字节和字的访问,在技术上将1M字节的存储器空间分成两个512K字节(219)的存储体。一个存储体中包含偶数

10、地址,该存储体被称为偶存储体;另一个存储体中包含奇数地址,该存储体被称为奇存储体,两个存储体之间采用交叉编址方式,然后通过A0 和BHE组合就可以确定对哪一组存储体进行访问,是对字节还是对字进行访问。2.6答:在存储器中,对要存放的字,其低位字节可以从奇数地址开始存放,也可以从偶数地址中开始存放;如果从奇数地址开始存放称为非规则存放,按非规则存放的字称为字不对准存放。从偶数地址中开始存放称为规则存放,按规则存放的字称为字对准存放。使用字对准存放要在一个总线周期完成,用字不对准存放则需要两个总线周期才能完成。所以为了加快程序运行速度,编程时应尽可能使用字对准存放。习题三解答:3.6答:(1)MO

11、V CX, BX (2)MOV AX, 1234H (3)MOV AX, word ptr20H (4)MOV byte ptrBX, 20H3.7答:(1)EA=3000H(2)EA=1200H(3)EA=3300H(4)EA=4200H(5)EA=4500H3.8答:(1)立即数寻址 (2)直接寻址 (3)寄存器间接寻址 (4)基址变址寻址 (5)相对基址变址寻址 (6)寄存器寻址3.9答:(1)段间接寻址 (2)段间接寻址 (3)段间间接寻址3.10答:(1)直接寻址 PA=10200H(2)寄存间接寻址 PA=10010H(3)跨段寄存器间接寻址 PA=15010H(4)跨段寄存器间接

12、寻址 PA=20010H(5)寄存器间接寻址 PA=200A0H(6)寄存器相对址寻址 PA=0110H(7)基址变址寻址 PA=10110H(8)相对基址变址寻址 PA=10210H(9)寄存器间接寻址 PA=10100H3.12答:解:(1)AX=0100H(2)AX=1020H(3)AX=1020H(4)AX=5030H(5)AX=2010H(6)AX=2010H(7)AX=1020H3.13答:(1)SI=0320H (2)BP=1320H (3)DI=0310H (4)X=0FFF0H3.15答:(1)测试AL中1、3、5位是否均为“1” (2)对32位数(高位在DX,低位在AX)求

13、补码3.16答:(1)XOR AL ,2AH(2)MOV BL ,AL NOT BLTEST BL, 2AH JE L1 MOV AL ,0. L1: MOV AL , 1(3)MOV CL, 4ROL AL, CLROL BL, CLXCHG AL, BL(4)PUSHFPOP AX(5)PUSHFPOP AXAND AX,0FEFFHPUSH AXPOPF(6)略(7)STDMOV AX, DSMOV ES, AXMOV SI, 0163HMOV DI, 01B3HMOV CX, 100REP MOV SB(8)MOV AL,AIMUL BMOV C,ALMOV C+1 ,AH习题四解答:

14、4.4答:01H02H03H04H31H32H33H34H0001H0002H0003H0004H00001234H4.5答:(1)STR1的偏移地址为: 100H(2)NUM为 10(3)STR2+3的存储单元容为 79H (即第四个字符O所对应的ASIC码)4.6答:分别为:3CH ,1EH,0FH4.9答:(1)(AX)=1234H (2)(AX)=5678H (3)(AX)=5678H4.10答:DATA SEGMENTARRAY EQU THIS WORDARRAY DB 100 DUP (?)DATA ENDS4.11答:(1)ARRAY DB 12H, 34H, 56H, 0AB

15、H(2)DARRAY DW 1234H, 5678H, 0ABCDH(3)BCD DW 1234 (4)STR DB STRING(5)DATA1 SEGMENT DB 12H, 34H,A,B,CDW 1234H, 5678H, 0ABCDHDB 5 DUP (?) DATA1 ENDS4.14答:(1)LEA BX ,DATA1(2)MOV CL ,BYTE PTRDAT2+2(3)MOV BYTE PTRBUF1+9,11H(4)LEN1=13, LEN2=7(5)MOV CX, DAT2-DAT1lEA SI , DAT1LEA DI , BUF2MOV AX , DSMOV ES ,

16、 AXCLDREP MOVSB4.15答:LEA SI ,STR MOV DH ,SI MOV DL ,SI+6MOV DH, STRMOV DL, STR+7习题五解答:5.7答:(1)将一字节数据和其补码逻辑乘; (2)AL的容为:89H,NUM的容为:10H。5.8答:(1)求DAT的平方,并将结果放到DAT+1中。(2)DAT+1的容为51H5.9答:(1)将DAT第0、2位清0,1、3、7位置1;(2)程序执行后DAT的容为DAH。5.12答:(1)对BUF的容清0,遇到BUF的容为0FF则停止清0。(2)求BUF中的前10个数,结果放到AL中。(3)求DAT中的前10个数,结果放入

17、BUF。(4)从BLOCK开始的100个字节查找第一个和KEY相等的元素,找到就将结果放到ADDR中,否则DI置0。5.13答:判断DAT如果为0,则将AL放到RES中;如果为正,将DAT的值加1,如果为负,将DAT的值减1,放到RES中。5.14答:(1)求0到9的和,结果放到预留的空间RES中(2)将AX置0(3)求1到99的和结果放到AX中。(4)求两个相邻数的积,结果与前面的数相加一起保存到DX中。(5)AX的值顺序逻辑右移,每次移一位,同时将BX的值加1,直到AX的值为0。5.17答:DATA SEGMENT DAT DW 6DUP(?)X DW 100Y DW 200Z DW 15

18、0DATA ENDSSTACK SEGMENT STACKDW 200 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AX,XMOV BX,YADD AX,BXMOV BX,ZSUB AX,BXMOV DAT+6,AXMOV AH,4CHINT 21HCODE ENDSEND START5.20答:DATA SEGMENTDAT1 DB ?DAT2 DB ?DAT3 DB ?DATA ENDSSTACK SEGMENT STACK DB 200 DUP(?)ST

19、ACK ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODE,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV AL, 7BHMOV BL,ALAND BL,07HMOV DAT1,BLMOV CL,3SHR AL,CLMOV BL,ALAND BL,07HMOV DAT2,BLMOV CL,2 SHR AL,CLMOV DAT3,ALMOV AH,4CHINT 21HCODE ENDS END START5.21答:DATA SEGMENTDAT1 DW ABDAT2 DW ABA DB 200B DB 100DATA ENDSSTACK

20、SEGMENT STACK DB 100DUP(0)STACK ENDSCODE SEGMENTASSUME DS:DATA,SS:STACK,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV AX,AMOV BX,BCMP AX,BXJB NEXTMOV DX,DAT2MOV AH,9INT 21HNEXT: MOV DX,DAT1MOV AH,9INT 21HMOV AH,4CHINT 21HCODE ENDS END START5.26答:DATA SEGMENTNUMBER 1,2,3,4,5TABLER A,B,C,D,EDATA ENDSSTACK SEGM

21、ENT STACKDB 100DUP(?)STACK ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODE,SS:STACKSTART:MOV BL,NUMBER XOR BH,BH SHL BX,1 JUM TABLEBXA:MOV DL,1 JMP DISPLAYB:MOV DL,2 JMP DISPLAYC:MOV DL,3 JMP DISPLAYD:MOV DL,4 JMP DISPLAYE:MOV DL,5 JMP DISPLAYDISPLAY:MOV AH,2 INT 21HMOV AH,4CHINT 21HCODE ENDS END START习题六解答

22、:6.9答:Move macro to,from,n Lea si,from Lea di,to Mov cx,n Rep movsbendm6.10答:Clrb macro n,cfilMov cx,nMov al,Lea dl,cfilRep stosbendm6.11答:Str=”String”Rept 10Db strendm6.12答:Move macro xIfidn ,Mov terminal,0ElseMov terminal,1EndifEndm6.13答:Mov al,divdIfe sign Mov ah,0Div scaleElseCbwIdiv scaleEndifM

23、ov result,al习题七解答:7.1 答:ARM 处理器有7个基本工作模式:1)用户模式(User):非特权模式,正常程序执行的模式,大部分任务执行在这种模式下;2)快速中断模式(FIQ):当一个高优先级(fast)中断产生时将会进入这种模式,用于高速数据传输和通道处理;3)外部中断模式(IRQ):当一个低优先级(normal)中断产生时将会进入这种模式,用于通常的中断处理;4)管理模式(Supervisor):当复位或软中断指令执行时将会进入这种模式,是一种供操作系统使用的一种保护模式;5)数据访问中止模式(Abort): 当数据或指令存取异常时将会进入这种模式,用于虚拟存储及存储保护

24、;6)未定义模式(Undef): 当执行未定义指令时会进入这种模式,可用于支持硬件协处理器的软件仿真;7)系统模式(System): 使用和User模式相同寄存器集的特权模式,但是运行的是特权级的操作系统任务。ARM处理器工作状态:1)ARM状态: 处理器执行32位的字对齐的ARM指令; 当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。 2)Thumb状态: 处理器执行16位的半字对齐的Thu

25、mb指令。 当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。ARM指令集和Thumb指令集各有其优点,若对系统的性能有较高要求,应使用32位的存储系统和ARM指令集,若对系统的成本及功耗有较高要求,则应使用16位的存储系统和Thumb指令集。当然,若两者结合使用,充分发挥其各自的优点,会取得更好的效果。7.2答:ARM7TDM后缀TDMI的含义如下: M:表示嵌硬件乘法器(Multiplier);T:表示支持Thumb指令集;I

26、:表示支持片上断点和调试点;D:表示支持片上调试(Debug)。7.3答:ARM处理器将存储器看做是一个从0开始的线性递增的字节集合,指令和数据共用一条32 位总线。7.4答:当控制位I置位时,IRQ中断被禁止,否则允许IRQ中断使能;当控制位F置位时,FIQ中断被禁止,否则允许FIQ中断使能。习题八解答:8.1答:ARM异常中断异常中断名称含 义复位(Reset)当处理器复位引脚有效时,系统产生复位,程序跳转到复位异常中断处理程序处执行,复位异常中断的优先级是最高优先级的中断。通常复位产生有下面几种情况:系统加电时、系统复位时、各种不同的ARM处理器的复位有一些区别的,具体的参见后面的实例中

27、的描述未定义的指令Undefined instruction当ARM处理器或者系统中的协处理器认为当前指令未定义时,产生该中断,可以通过该异常中断仿真浮点向量运算软件中断Software Interrupt SWI这是由用户定义的中断指令,可用于用户模式下的程序调用特权操作指令数据访问中止Data Abort数据访问指令的目标地址不存在,或者该地址不允许当前指令访问,处理器产生数据访问中止异常中断外部中断请求IRQ当处理器的外部中断请求引脚有效,或者CPSR寄存器的I控制位被清除时,处理器产生外部中断请求,应用中对于IRQ的中断处理是比较关键的技术快速中断请求FIQ当处理器的外部中断请求引脚有

28、效,或者CPSR寄存器的F控制位被清楚时,处理器产生外部中断请求8.2答: .section .rodata .align 3.LC0: .ascii %d000 .align 3.LC1: .ascii %c000 .align 3.LC2: .ascii %s000 .text .align 2 .global main .type main, %functionmain: mov ip, sp stmfd sp!, fp, ip, lr, pc sub fp, ip, #4 sub sp, sp, #16 ldr r0, .L2 ldr r1, fp, #-16 bl printf ld

29、rb r3, fp, #-17 zero_extendqisi2 ldr r0, .L2+4 mov r1, r3 bl printf sub r3, fp, #28 ldr r0, .L2+8 mov r1, r3 bl printf mov r0, r3 ldmea fp, fp, sp, pc.L3: .align 2.L2: .word .LC0 .word .LC1 .word .LC2 .size main, .-main8.3答:PXA270处理器提供了一个实时时钟模块RTC,RTC模块提供了如下的功能: Timer 计数器功能; Wristwatch 手表功能; Stopwatch 秒表计时功能; Periodic interrupt 周期中断; Trimmer 调整RTC时钟频率。PXA270 采用32.768kHz 晶振来驱动RTC 模块。但是这个晶振在硬件复位后是被屏蔽的,系统使用13MHz 晶振作为时钟源。因此需要软件来设置寄存器,使这个晶振工作。8.4答:MMU的实现过程,实际上就是一个查表映射的过程。建立页表(translate table)是实现MMU功能不可缺少的一步。页表是位于系统的存中,

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2