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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(汇编语言习题答案-(3).doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

汇编语言习题答案-(3).doc

1、第3章 自测练习 一、选择题(四选一) 1.表示一条处理器指令所在存储单元的符号地址是 C 。 A 变量 B 常量 C 标号 D 偏移量 2.汇编语言中的变量有多种类型属性,但错误的类型是 B 。 A 字节型byte B 字符型char C 字型word D 双字型dword 3.执行mov bx,seg var指令,BX得到变量var的 B 。 A 物理地址 B 段地址 C 偏移地址 D 内容 4.MASM语句中,采用 C 分隔标号和指令。 A 逗号

2、 B 分号 C 冒号 D 空格 5.欲设定从偏移地址100H开始安排程序,可使用 A 伪指令。 A org 100h B start=100h C start db 100h D start equ 100h 6.与“mov bx,offset var”指令等效的指令是 D 。 A mov bx,var B 1ds bx,var C les bx,var D 1ea bx,var. 7.下条语句 buf db l0 dup(3 dup(?,10),3,10) 汇编后,变量buf

3、占有的存储单元字节数是 B 。 A 100 B 80 C 40 D 20 8.数据定义语句“numl dw(12 or 6 and 2) ge 0eh”,定义的num1单元的内容是 B 。 A 0 B 0FFFFH C 1 D 0FFH 9.要求将A、B两个字符的ASCII码41H和42H顺序存放在连续两个字节存储单元中,可选用的语句是 A 。 A db`AB' B dw `AB' C db 0ABH D dw 0ABH 10.在汇编语言程序中,对END语句叙述正确的是

4、 C 。 A END语句是一可执行语句 B END语句表示程序执行到此结束 C END语句表示源程序到此结束 D END语句在汇编后要产生机器码 11.下面的数据传送指令中,错误的操作是 D 。 A mov ss:[bx+di],byte ptr 10h B mov dx,l000h C mov word ptr[bx],1000h D mov ds,2000h 12.下面指令执行后,变量dab中的内容是 C 。 daw dw 2A05h dab db 0Fah … mov

5、al,byte ptr daw sub dab,al A 0DAH B 0FAH C 0F5H D 0D0H 13.根据下面的语句序列,AX寄存器的内容是 C 。 tab db 1,2,3,4,5,6 entry equ 3 … mov bx,offset tab add bx,entry mov ax,[bx] A 0405H B 0304H C 0504H

6、 D 0403H 14.假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。 A mov V1,20h B mov V1,V2 C mov al,V1 D mov 2000h,V2 15.若定义xyz dw`A',则xyz字存储单元中存放的数据是 A 。 A 0041H B 4100H C 0061H D 6100H 16.使用伪指令定义: val db 2 dup (1,2,3dup(3),2dup(1,0),1) 则在val存储区内前10个字节单元的数据

7、是 D 。 A 1,2,3,3,2,1,0,1,2,3 B 1,2,3,3,3,3,2,1,0,1 C 2,1,2,3,3,2,1,0,2,1 D 1,2,3,3,3,1,0,1,0,1 二、填空题 1.用汇编语言编写的程序称为 汇编语言源程序 ,它必须由__汇编_______程序将它转换成二进制的机器语言程序,这种机器语言程序被称为_____目标代码程序_____ ,而转换的过程称为__汇编__________。它还必须用__连接________程序连接,才能生成可执行的程序. 2.汇编语言源程序的扩展名是_ASM __,

8、目标程序的扩展名是_OBJ_______,通常产生的可执行程序的扩展名是__EXE_______· 3.汇编语言语句中,源操作数和目的操作数采用 ,(逗号) 分隔。 4.指令“cmp ax,80h”中源操作数的寻址方式是 立即寻址方式 。 5.若定义“datavar db 0a5h,5bh”,填空指令“mov bx,__word ptr datavar”,使该指令无语法错误。 6.若操作结果为零转向标号goon,应使用的语句为_jz goon (或je goon)_________。 7.与指令“loop again”功能等效的两条指令依次是_dec

9、cx_ 和__jnz again_。 8.用“dw 1234h”语句定义的一个字,如果改用db定义时,语句应为 _db 34h,12h_____________。 9.定义wdata dw l020h,则执行mov al,byte wdata指令后,AL=_20h____。 10.如下数据定义: V1 db 4dup(2),2 count equ 10 V2 dd count dup(?) 为变量V1分配 5 个字节存储;为变量V2分配 40 个字节存储. 11.现有变量定义如下: ary d

10、w 10 dup(?) 试填写执行如下指令的结果: mov ax,type ary ;AX=_2_________ mov bx,length ary ;BX=__10_________ mov cx,size ary ;CX=___20________ 12.已知数据段如下: org 0100h ary dw 3,$+4,5,6 cnt equ $-ary db 1,2,cnt,3 则执行如下指令后,AX=_0106h____,BX=_0308h_____。

11、 mov ax,ary+2 mov bx,ary+10 MASM的操作符“$”表示当前偏移地址,所以ary定义的$+4=102h+4=106h。同理,cnt=$-ary=108h-100h=8 13.程序段如下: blk db 46h,84h,34h,-5,20h,22h,73h … mov cx,7 lea si,blk next: mov al,[si] inc si test al,81h loopz next

12、 mov bl,[si] 该程序段运行后,AL=_84h_____、BL=__34h_______。 第一次顺序执行到test指令时,al=84h. 84h和81h相逻辑与的结果是80h,将使zf=0。随后执行loopz指令,因为zf≠1而终止循环;此时al=84h,因为si已经加1指向后一个数据,所以bl=34h。 14.如下源程序 ;数据段 avar dw 0 bvar dw 0 cvar dw 10,20,30 ;代码段 lea bx,cvar mov a

13、x,[bx] mov bvar,ax mov ax,[bx+2] add ax,bvar mov avar,ax 执行后,avar= 30 。 三、问答题 1.汇编语言中,伪指令语句与硬指令语句的本质区别是什么? 硬指令:每个硬指令就是一个处理器指令,在CPU执行时产生相应功能; 伪指令:伪指令并不产生处理器指令,它通常用于辅助汇编程序对源程序进行汇编。 2.汇编语言程序的开发有哪4个步骤,分别利用什么程序完成、产生什么输出文件。 ①编辑:用纯文本编辑程序源程序,产生ASM源程序。 ②汇编:用汇编程序汇编源程序,产生OBJ目标程序。 ③连接:用

14、连接程序将目标程序转换为EXE可执行程序。 ④调试:用调试程序调试可执行程序。 3.源程序中如何指明程序执行的起始点? 通常在起始指令设置一个标号(例如START),然后用“END START”伪指令说明该标号的指令为起始点。 4.标号有哪三个属性?其含义是什么? 段地址:表示标号所在代码段的段地址。 偏移地址:表示标号所在代码段的段内偏移地址。 类型:引用该标号时,表示它所在同一个段——NEAR类型,还是另外一个段——FAR类型。 5.说明如下两条语句的区别: ①xyz1 db 75 ②xyz2 equ 75 ①“xyz1 db 75”语句定义了一个字节变量

15、xyz1,在主存存放了一个75的数据。 ②“xyz2 equ 75”语句说明了一个常量xyz2,它代表75,它在主存中并没有存放任何内容。 6.下列语句在存储器中分别为变量数据区分配多少个字节单元? ①var5 dd 10 分配4个字节单元 ②var6 dw 4 dup(?),2 分配10个字节单元 四、程序阅读题 1.下述程序段运行后,从Bxyz单元开始依次存放的数据是什么? Axyz db 0F8h Bxyz db 3dup(?) … lea di,Bxyz mov cx,3

16、 mov al,Axyz lop: sar al,1 mov [di],al inc di loop lop 从Bxyz单元开始依次存放0FCH、0FEH、0FFH 2.现有源程序如下: ;数据段 org 100h block dw l,2,3,4,5,6,7,8,9 count equ ($-block)/2 result dw count,?

17、 ;代码段 lea bx,block-2 mov cx,result xor ax,ax goon: add bx,2 cmp ax,[bx] jae next mov ax,[bx] next: loop goon mov result+2,ax 该程序段执行完后: ①result+2字存储单元的内容是什么? result+2字存储单元的内容是9(最大值)

18、 ②BX等于多少? BX等于110H ③程序循环了多少次? 程序循环了9次 3.现有下列数据段: string db`ABCDEFGHIJKL' count equ $-string buffer db count dup(0) 下面程序段是实现把string中所有字符逆向传送到buffer缓冲区(即将string中第一个字符送到buffer的最后一个单元,sting中最后一字符送到buffer的第一个单元,……)。请把程序中所空缺的指令填上。 mov si,offset buffer-1

19、 mov di,offset buffer mov cx,count cld again: movsb __sub si, 2____ loop again 本题中目的存储区用DI指示首地址,源存储区用SI指示尾地址,以便实现逆向传送。如果串传送指令MOVSB采用增量方式(CLD指令)则DI和SI都自动加1,而实际上SI需要的是减1,所以第二个空缺位置应该填上“SUB SI,2”。 4.说明如下程序段完成什么功能 dxyz1

20、db 300 dup(?) dxyz2 db l00 dup(?) … mov cx,100 mov bx,200 mov si,0 mov di,si next: mov al,dxyz1[bx][si] mov dxyz2[di],al inc si inc di loop next 将dx

21、yz1 后100个数据传送到dxyz2缓冲区。 五、程序设计题 1.分别用一个说明性语句完成如下要求: ①将数据56h、78、0b3h、100依次存放在字节变量onebyte中; onebyte db 56h、78、0b3h、100 ②字变量twoword依次存放数据3721h、l0h、100、4936h; twoword dw 3721h、l0h、100、4936h; ③将字符串“How are you!”存入变量fourmsg; fourmsg db ‘How are you!’ ④以fivemulti为首地址,

22、连续存放字节数据,2个23h,5个`A',10个1和2,25个预留单元。 fivemulti db 2 dup (23h), 5 dup (`A'), 10 dup (1,2) , 25 dup (?) 2.分别用一个执行性语句完成如下要求: ①栈顶内容弹出送字变量stkw; pop stkw ②双字变量memd存放的地址指针送ES和SI; les si, memd ③变量vars类型属性送AX; mov ax, type vars ④取字符串变量msg00的首地址送BX; mov bx , offs

23、et msg00 3.按照给定的条件为程序定义一个数据段: ①datal是字符串THIS IS A DATA_SEGMENT; ②data2是字节变量,初值为23、4BH、126、D3H; ③data3是16位数据变量,初值为100、255、3、5、3、5、3、5; ④data4是16位数据变量,但只知需要占有100个存储单元; ⑤data5变量存放data4变量的数据个数. dataseg segment data1 db ‘THIS IS A DATA_SEGMENT’ data2 db 23, 4BH, 126,

24、 0D3H data3 dw 100, 255, 3dup(3、5) data4 dw 50 dup(?) data5 dw length data4 dataseg ends 4.假设有一个数据段: buf1 db l00dup(`z') buf2 dw 1234h,5678,0abh buf3 db 20 dup (?) buf4 db 9,8,7,6,5 请分别用一条语句完成如下操作: ①将buf1的偏移地址送入BX; mov offset buf1

25、 ②将buf2的第4个字节数据送DH; mov dh ,byte ptr buf2[4] ③将数据9fh送入buf3的第10个存储单元; mov buf3[10] , 9fh ④将buf4中最后一个单元内容加1,但不能改变标志CF的状态; inc buf4+4 ⑤计算buf1和buf3两者所占存储单元字节个数送CX。 Mov cx,size buf1+size buf3 5.现要将具有20个字符的string1字符串移到同一个数据段的string2中,请定义数据段,编写代码段. String1 db ‘ abcde

26、fghijklmnopqrst’ ; 假设一个字符串 String2 db 20 dup (?) ; 代码段(也可以用串传送指令) mov cx, 20 mov si ,offset string1 mov di ,offset string2 mov ds, ax mov es, ax cld rep movsb 6.从键盘输入一个字符串(不超过255个),将其中的小写字母转换成大写字母,然后按原来的顺序在屏幕上显示。 ;数据段 maxnum equ 255 kbuffer db maxnum, 0, maxnu

27、m dup (0) ;代码段 mov dx, offset kbuffer mov ah, 0ah int 21h ;键盘输入字符串 mov bx, offset kbuffer+1 mov cl,[bx] ;取字符 mov ch, 0 again: inc bx mov al,[bx] ;取一个字符 cmp al,’a’ ;小于“a”不转换 jb next cmp al,’z’ ;大于“z”不转换 ja next sub al,20h ;是小写字母则转换为大写字母 next: mov

28、 dl,al mov ah,02h int 21h ;显示输出 loop again 从键盘输入一个字符串需要利用DOS功能调用0AH号,该调用的关键是设置数据缓冲区。第一个字节单元填入最大可能输入的字符数(255);第二个单元任意,留作功能调用中填入实际输入的字符的字符数;后面用做填入字符的ASCII码。 注意:0AH号功能调用后,最后一个单元总是填入回车ENTER字符(ASCII码为0DH),所以实际能够输入的字符数比最大字符数少1。 利用一个循环程序段处理将其中的小写字母转换成大写字母,然后按原来的顺序在屏幕上显示,显示功能利用DOS功能调用02H号。循环指令LOOP利用CX作为计数器,但字符数单元是一个字节量,所以只能传送到CL,而CH应该为0。 8

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服