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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

汇编语言各章习题答案.docx

1、汇编语言各章习题答案各章习题答案第一章练习题1将下列十进制数转换为二进制、八进制和十六进制数:37,51,73,92,511答:37D=100101B=45Q=25H51D=110011B=63Q=33H73D=1001001B=111Q=49H92D=1011100B=134Q=5CH511D=111111111B=777Q=1FFH2将下列二进制数转换为十进制、八进制和十六进制数:10000001,10011001,11111111,11110100答:10000001B=201Q=81H=129D10011001B=231Q=99H=153D11111111B=377Q=FFH=255D

2、11110100B=364Q=F4H=244D3将下列十六进制数转换为二进制和十进制数:325,FF,1AB,2EC答:325H=1100100101B=805DFFH=11111111B=255D1ABH=110101011B=427D2ECH=1011101100B=748D4将下列十进制数转换为BCD码表示:121,46,732,1281答:121D=(0001,0010,0001)BCD46D=(0100,0110)BCD732D=(0111,0011,0010)BCD1281=(0001,0010,1000,0001)BCD5将下列二进制补码转换为十进制数:10010110,0010

3、1010,11101110,11000000答:10010110补=-(1101001+1)B=-6AH=-106D00101010 补=+0101010B=+2AH=+42D11101110 补=-(0010001+1)B=-12H=-18D11000000 补=-(0111111+1)B=-40H=-64D6已知X补=1100000B,Y补=0100100B,Z补=0011001B。求-X补,-Y补,-Z补;并计算X-Y补=?X-Z补=?若有溢出请给以说明。解:-X补=-X补=-1100000B=0100000B,-Y补=-Y补=-0100100B=1011100B,-Z补=-Z补=-00

4、11001B=1100111BX-Y补=X补+-Y补=1100000B +1011100B=1,011,1100B 有溢出,因为CPCF=1;X-Z补=X补+-Z补=1100000B +1100111B=1,100,0111B 无溢出,因为CPCF=0第二章练习题18086CPU由 EU 和 BIU 两部分组成。28086CPU的基本总线周期由 4 个时钟周期组成,分别用 T1、T2 、T3、T4 表示。3存储单元的物理地址的计算用公式表示为:物理地址= 段地址 16 + 偏移地址 。4标志寄存器中共有 9 个有效位用来存放 条件 标志和 控制 标志,其中CF表示 进位 标志。5在8086中,

5、奇地址存储体与系统的高 八 位 数据 线相连。访问存储器时,当读/写奇地址存储体时,数据从 D8D15 上传送。6堆栈操作是 字 操作。7当CPU访问存储器时,需利用 M / IO 信号的 高 电平;而访问外设接口时,需利用该信号的 低 电平。第三章练习题1、试分别说明下列各指令中源操作数和目的操作数的寻址方式: AND AX,0FFH AND BL,0FFH MOV DS,AX CMP SI,CX MOV DS:0FFH,CL SUB BPSI,AH ADC AX,0ABHBX OR DX,-35BXDI PUSH DS CMC答:指令源操作数寻址方式目的操作数寻址方式 AND AX,0FF

6、H立即数寄存器 AND BL,0FFH直接寻址寄存器 MOV DS,AX寄存器寄存器 CMP SI,CX寄存器寄存器间接寻址 MOV DS:0FFH,CL寄存器直接寻址 SUB BPSI,AH寄存器基址变址寻址 ADC AX,0ABHBX变址寻址寄存器 OR DX,-35BXDI基址变址相对寻址寄存器 PUSH DS寄存器寄存器间接寻址 CMC隐含寻址隐含寻址2、试分别指出下列各指令语句的语法是否有错,若有错,指明是什么错误。 MOV BXBP,AX TEST BP,BL ADD SI,DA_BYTE AND DH,DL CMP CL,1234H SHR BXDI,3 NOT CX,AX LE

7、A DS,35SI INC CX,1 INC DI答:指令错误原因 MOV BXBP,AX不能使用两个基址寄存器寻址 TEST BP,BL正确 ADD SI,DA_BYTE正确 AND DH,DL正确 CMP CL,1234H不匹配,一个是字节,一个是字 SHR BXDI,3右移3位不能用立即数 NOT CX,AXNOT是单操作数指令 LEA DS,35SILEA不能给段寄存器赋值 INC CX,1INC指令本身就是加1,是单操作数指令 INC DI寄存器间址没说明是字操作还是字节操作3、下面二条指令执行后,标志寄存器中CF、AF、ZF、SF和OF分别是什么状态?MOV AL,86ADD AL

8、,0AAH答:CF=1;AF=1;ZF=0;SF=0;OF=14、设(SS)=1200H,(SP)=2100H,(AX)=1234H,(BX)=6789H执行指令PUSH AX后,(SP)= 20FEH 再执行指令PUSH BX,及POP AX后,(SP)= 20FEH ,(AX)= 6789H 。5、已知程序段如下:MOV AL,56HMOV CL,4ROL AL,CL说明:AL的内容是 65H ,程序段完成的功能是 高低4位互换 。6、已知 (AX)=0A5C6H,(CX)=0503H,CF=1执行以下三条指令后:(AX)= 8086H ,CF= 1 。RCL AX,CLAND AH,CH

9、RCR AX,CL执行以下三条指令后:(AX)= A5C0 ,CF= 1 。SAR AX,CLXCHG CH,CHSHL AX,CL7、分别说明下列每组指令中的两条指令的区别。 MOV AX,TABLE LEA AX,TABLE AND BL,0FH OR BL,0FH MOV AX,BX MOV AX,BX SUB DX,CX CMP DX,CX MOV BPSI,CL MOV DS:BPSI,CL答: MOV AX,TABLE LEA AX,TABLEMOV取变量的值,而LEA取变量的偏移地址 AND BL,0FH OR BL,0FHAND是将高4位清0,OR是将低4位置1 MOV AX,

10、BX MOV AX,BXBX是将BX的内容作为偏移地址取数赋给AX,BX是将寄存器内容赋给AX SUB DX,CX CMP DX,CXSUB保存结果到DX中,CMP不保存 MOV BPSI,CL MOV DS:BPSI,CL第一条使用段缺省是SS段,第二条使用段超越用DS段8、根据所学指令,写出使AL置0的多种方法。答:包括MOV AL,0SUB AL,ALAND AL,0XOR AL,AL等9、将DX、AX中存储的32位带符号数(DX中存放高16位)求补。解:利用X求补=0-X实现。MOV BX,AXMOV BX,0SUB BX,AXMOV AX,0SBB AX,DXMOV DX,AXMOV

11、 AX,BX10、编写程序将AX中的16位无符号数与BL中的8位无符号数相加。解:可以利用字节相加,实现字相加,注意高字节相加,要加上进位。ADD AL,BLADC AH,011、将AX中有0的各位对应的BX位取反,BX的其它位不变。解:可利用异或指令实现。NOT AXXOR BX,AX12、编写一段程序,实现16位无符号数的计算:W=(X-2)/2+Y,设X、Y、Z、W是已定义的存储器操作数。解:程序如下所示。MOV AX,XSUB AX,2SHR AX,1ADD AX,YMOV W,AXXOR DX,DXADC DX,0第四章习题1、某数据段中有如下定义:CNT1 EQU 20HCNT2

12、DW 20H比较指令MOV AX,CNT1与MOV AX,CNT2的区别。答:指令MOV AX,CNT1是立即数据寻址。指令MOV AX,CNT2是直接寻址。2、下列各题中有语法错误,请说明原因,并分别用两种方法修改。 M1 DW 5060H MOV BL,M1 M2 EQU 10H MOV M2,AL M3 DB 1234 M4 DW ABCD答:类型不匹配。可将M1定义为字节(DB)或将BL换为字(BX)。符号常量不能作为目的操作数。M2可用DB定义或将M2改为源操作数。DB是定义字节变量。可将立即数改为字节或用DW定义字变量。字符占一个字节。可用DB定义或用DW定义二个字符。3、下面的数

13、据定义中,包含数据0102H的字存储单元有多少个。DB 10H DUP(1,2 DUP(2)答:只有15个。因为空间里有16个01H、02H、02H,而字取值是高位地址存高字节,因此只有15个0102H字数据。4、画出下面定义的数据段的存储结构图,分析有数据3000H的字存储单元有几个,它们的偏移量分别是多少?DATA SEGMENT ORG 30H DA1 DB 0,0,30H,0,30H DW DA1DATA ENDS答:存储结构图如下图所示。3000H的字存储单元有2个,它们的偏移量分别是30H和33H。30H00H31H30H32H30H33H00H34H30H35H30H36H00H

14、5、设某数据段定义如下:DATA SEGMENT NUM1=8 NUM2=NUM1+10H DA1 DB IBM PC DB 0AH,0DHCNT EQU $-DA1DA2 DW IB, M ,PC,0A0DHDATA ENDS说明:DA1和DA2的偏移量是多少?,NUM2和CNT的值是多少?DA+5字节单元的内容是什么?DA1和DA2的内容相同吗?为什么?答:DA1和DA2的偏移量分别是0H和6H。NUM2=18H=24D,CNT=8。DA1+5字节单元的内容是CDA1和DA2的内容不相同。因为对于字存储,高位地址存高字节,因此DA2的字节存储顺序是:B、I、 、M、C、P、0DH、0AH,

15、与DA1不同。6、画出下面数据段定义的内存分配情况。(设DATA段地址为:0B70H)DATA SEGMENT V1 DB 43,43H,C,GOOD! V2 DW 1200H,43H,V1,Hi,2 DUP(1) V3 DD 12345678H,V2DATA ENDS答:内存分配情况如下所示。002BH变量V101 43H02 C03 G04 O05 O06 D07 !08 00HV2的起始地址09 12H10 43H11 00H12 00HV1的偏移地址13 00H14 i15 H16 01H17 01H18 78H19 56H20 34H21 12H22 08HV2的偏移地址23 00H

16、24 70HV2的段地址25 0BH7、有如下数据段定义:DATA SEGMENT D1 DB 61H,53H D2 DW 1234H,45H D3 DW 20 DUP(0)DATA ENDS若DATA段地址为0B68H,执行下列程序后,各寄存器的值各是多少? MOV AX,SEG D1 AX= 0B68H MOV BX,OFFSET D3 BX= 0006H MOV CL,TYPE D2 CL= 2 MOV CH,SIZE D2 CH= 2 MOV DL,LENGTH D2 DL= 1 MOV DH,SIZE D3 DH= 40 8、写出下列程序段汇编后的等效指令,程序执行后,寄存器AX、B

17、X和CX的内容分别是多少?NUM1 EQU 340NUM2=30*25 MOV AX,NUM2 LE NUM1;AX的值是: 0000H ,等效指令: MOV AX,0000H MOV BX,NUM2 GT NUM1;BX的值是: FFFFH ,等效指令: MOV BX,0FFFFH MOV CX,NUM2-NUM1 ;CX的值是: 019AH ,等效指令: MOV CX,019AH 9、汇编语言源程序中有哪4个段寄存器?如何定义各段,若段定义中没有用ORG指令指定起始偏移地址,则缺省起始偏移地址是多少?答:4个段寄器分别是CS、DS、ES和SS。段定义的格式是: 段名 SEGMENT ;段体

18、 段名 ENDS若段定义中没有用ORG指令指定起始偏移地址,则缺省起始偏移地址是0000H。10、说明将用户编写的汇编语言源程序编译成可执行文件的过程。答:(1)用文字编辑软件编写源程序,可以使用如EDIT、记事本、写字板或WORD等字处理软件编写,以文本格式输出,文件的扩展名必须为ASM。(2)用汇编程序MASMEXE或TASMEXE对源文件进行汇编,形成目标文件OBJ。(3)用连接程序LINKEXE对生成的目标文件进行连接定位,形成可执行文件EXE。第五章习题1 根据给定指令填空:(1) MOV AL,05HADD AL,09HAAA (AL)= 04H (2) MOV AL,75HADD

19、 AL,26HDAA (AL)= 01H (3)MOV AL,05HSUB AL,08HAAS(AL)= 07H (4) MOV AL ,08HMOV BL,07HMUL BLAAM(AX)= 0506H (5) MOV AX,0605HMOV BL,08HAADDIV BL(AL)= 08H 2把变量X中的一位十六进制数显示在屏幕上。答:程序如下: DATA SEGMENT x DB 0DH TAB DB 0123456789ABCDEFDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV

20、AL,x MOV BX,OFFSET TABXLATMOV DL,ALMOV AH,02H INT 21H MOV AH,4CH INT 21H CODE ENDSEND START3求任一给定自然数(1N40)的立方值,并将立方值送DAT单元。答:程序如下DATA SEGMENT N DB 40 D AT DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,N MOV CL,AL MUL CL MOV CL,N XOR CH,CH MUL CX MOV DAT,AX MOV

21、AH,4CH INT 21H CODE ENDSEND START4将A单元的内容求补,并与原内容相“与”,结果存入B单元中。答:程序如下DATA SEGMENT A DB 37H B DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,A NEG AL AND AL,A MOV B,AL MOV AH,4CH INT 21H CODE ENDSEND START5编制程序将AX的中间8位,BX的低4位,DX的高4位拼成一个新字数据送DI为偏移地址的存储单元。答:程序如下DAT

22、A SEGMENT RESULT DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,523AH MOV BX,0C194H MOV DX,1B87H AND AX,0FF0H AND BX,000FH AND DX,0F000H OR AX,BX OR AX,DX MOV DI,OFFSET RESULT MOV DI,AX MOV AH,4CH INT 21H CODE ENDSEND START6数据段中以DI为偏移地址的单元连续存放着4个字节无符号数,编制程序求他们的和

23、与差。答:加法程序如下DATA SEGMENT A DD 12345678H DD 87654321H RESULT DD ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DI,OFFSET A MOV SI,OFFSET RESULT MOV AX,WORD PTR DI ADD AX,WORD PTR DI+4 MOV SI,AX MOV AX,WORD PTR DI+2 ADC AX,WORD PTR DI+6MOV SI+2,AX MOV AH,4CH INT 21H CODE

24、 ENDSEND START减法程序只要将加法程序中的ADD用SUB代替,ADC用SBB代替即可实现。7将A单元中的二位16进制数拆成二个16位数。并分别转换为相应的ASCII码存于B单元及C单元。答:程序如下DATA SEGMENT A DB 0B7H B DB ? C DB ? TAB DB 0123456789ABCDEFDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,A AND AL,0F0H MOV CL,4 ROL AL,CL MOV BX,OFFSET TAB XLA

25、T MOV B,AL MOV AL,A AND AL,0FH XLAT MOV C,AL MOV AH,4CH INT 21H CODE ENDSEND START第六章习题1 指出下列程序段执行AL的内容是什么?a) MOV AL,60HCMP AL,0BBHJB L2L1:MOV AL,0BBHL2:NOPb) MOV AL,60HCMP AL,0BBHJL L2L1:MOV AL,0BBHL2:NOPc) XOR AL,ALMOV BL,98HADD BL,88HJNC L2L1:INC ALL2:NOPd) XOR AL,ALMOV BL,98HADD BL,88HJNO L2L1:I

26、NC ALL2:NOPe) MOV BL,46H TEST BL,01H JZ L2L1: XOR AL,AL JMP OKL2: MOV AL,1 OK: NOPf) MOV BL,46H TEST BL,0FFHJNP L2 L1:XOR AL,ALJMP OK L2:MOV AL,1 OK:NOP答:a)AL=60H;b)AL=0BBH;c)AL=01H;d)AL=01H;e)AL=01H;f)AL=01H2 判断PAK单元数据的奇偶性。当为奇数时置MEAK单元为1,当为偶数时置MEAK单元为0。答:程序如下DATA SEGMENT PAK DB 0B6H MEAK DB ?DATA E

27、NDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,PAK TEST AL,0FFH JNP L2 L1: XOR AL,AL JMP OK L2: MOV AL,1 OK: MOV MEAK,AL MOV AH,4CH INT 21H CODE ENDSEND START3 将BUF单元起的20个数移到DAT单元起的存储区中。使用三种方法实现。答:方法一用JNZ从首地址开始传送实现,程序如下DATA SEGMENT BUF DB 1234567890ABCDEFGHIG DAT DB 20 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA

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

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