首页 汇编语言期末复习总结(完整版)

汇编语言期末复习总结(完整版)

举报
开通vip

汇编语言期末复习总结(完整版)〔习题1.24〕说明下列指令中源操作数的寻址方式?如果BX=2000H,DI=40H,给出DX的值或有效地址EA的值。(1)movdx,[1234h]直接寻址,EA=1234H(3)movdx,bx寄存器寻址,DX=2000H(6)movdx,[bx+di]基址变址寻址,EA=2040H第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12345678H,[21200H]~[21203H]依次存放2A4CB765H,说明...

汇编语言期末复习总结(完整版)
〔习题1.24〕说明下列指令中源操作数的寻址方式?如果BX=2000H,DI=40H,给出DX的值或有效地址EA的值。(1)movdx,[1234h]直接寻址,EA=1234H(3)movdx,bx寄存器寻址,DX=2000H(6)movdx,[bx+di]基址变址寻址,EA=2040H第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12345678H,[21200H]~[21203H]依次存放2A4CB765H,说明下列每条指令执行完后AX寄存器的内容。(1)movax,1200hAX=1200H(2)movax,bxAX=0100H(3)movax,[1200h]AX=4C2AH  ;偏移地址=1200h(4)movax,[bx]AX=3412H   ;偏移地址=bx=0100h(5)movax,[bx+1100h]AX=4C2AH  ;偏移地址=bx+1100h=1200h(6)movax,[bx+si]AX=7856H   ;偏移地址=bx+si=0100h+0002h=0102h(7)movax,[bx][si+1100h]AX=65B7H   ;偏移地址bx+si+1100h=0100h+0002h+1100h=1202h 〔习题2.2〕指出下列指令的错误(1)movcx,dl两操作数类型不匹配(2)movip,axIP指令指针禁止用户访问(3)moves,1234h立即数不允许传给段寄存器(DS、CS、SS、ES)(4)moves,ds段寄存器之间不允许传送(5)moval,300两操作数类型不匹配(6)mov[sp],ax目的操作数应为[SI](7)movax,bx+di源操作数应为[BX+DI] (8)mov20h,ah立即数不能作目的操作数 〔习题2.8〕请分别用一条汇编语言指令完成如下功能:(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。(2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。(3)用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。(4)用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果送回该存储单元中。(5)把数0A0H与AL寄存器的内容相加,并把结果送回AL中。(1)ADDDX,BX(2)ADDAL,byteptr[BX+SI](3)ADD[BX+0B2H],CX(4)ADDWORDPTR[0520H],3412H(5)ADDAL,0A0H〔习题2.10〕指出下列指令的错误:(1)xchg[si],30hxchg的操作数不能是立即数(2)popcs不应对CS直接赋值(3)sub[si],[di]两个操作数不能都是存储单元(4)pushah堆栈的操作数不能是字节变量(5)adcax,dsadc的操作数不能是段寄存器(6)add[si],80h没有确定是字节还是字操作(7)shl[si],1没有指定指向数据的大小(8)rordx,alal应该换成cl〔习题2.22〕假设AX和SI存放的是有符号数,DX和DI存放的是无符号数,请用比较指令和条件转移指令实现以下判断:(1)若DX>DI,转到above执行          cmpdx,di          jaabove             ;=jnbeabove(2)若AX>SI,转到greater执行          cmpax,si          jggreater           ;=jnlegreater(3)若CX=0,转到zero执行          cmpcx,0          jzzero              ;=jcxzzero  〔习题2.25〕对下面 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 ,分别给出3种 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,每种方法只用一条指令。(1)使CF=0   (2)使AX=0   (1)解答:        clc(清零)        andax,ax(逻辑操作不会进位)        orax,ax(2)解答:        xorax,ax        andax,0        movax,0〔习题3.7〕假设myword是一个字变量,mybyte1和mybyte2是两个字节变量,指出下列语句中的错误原因。(1)movbyteptr[bx],10001000超出了一个字节范围(2)movbx,offsetmyword[si]寄存器的值只有程序执行时才能确定,而offset是汇编过程计算的偏移地址,故无法确定,改为leabx,myword[si](3)cmpmybyte1,mybyte2两个都是存储单元,指令不允许(4)moval,mybyte1+mybyte2变量值只有执行时才确定,汇编过程不能计算(5)subal,myword字节量AL与字变量myword,类型不匹配(6)jnzmywordJnz指令只有相对寻址方式,不支持间接寻址方式〔〔习题3.10〕画图说明下列语句分配的存储空间及初始化的数据值:(1)byte_varDB’ABC’,10,10h,’EF’,3DUP(-1,?,3DUP(4))(2)word_varDW10h,-5,’EF’,3DUP(?)(1)从低地址开始,依次是(十六进制 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达):41 42 43 0a 10 45 46 ff - 04 04 04 ff -04 04 04 ff -04 04 04(2)从低地址开始,依次是(十六进制表达):10 00 FB FF 46 45 - - - - - -〔习题3.11〕请设置一个数据段mydataseg,按照如下要求定义变量:(1)my1b为字符串变量:PersonalComputer(2)my2b为用十进制数表示的字节变量:20(4)my4b为用二进制数表示的字节变量:20(5)my5w为20个未赋值的字变量(6)my6c为100的常量(7)my7c表示字符串:PersonalComputermydatasegsegmentmy1b     db‘PersonalComputer’my2b     db20my3b     db14h          ;20hmy4b     db00010100bmy5w     dw20dup(?)my6c     equ100         ;my6c=100my7c     equmydatasegends第4章基本汇编语言程序设计〔习题4.6〕编制一个程序,把变量bufX和bufY中较大者存入bufZ;若两者相等,则把其中之一存入bufZ中。假设变量存放的是8位无符号数。          .modelsmall          .stack256          .databufx      db?bufY      db?bufz      db?          .code          .startup          moval,bufX          movbl,bufY          cmpal,bl          janext          movbufZ,bl          jmpdone     next:movbufZ,aldone:    .exit0          End大题显示HelloWorld字符串。.modelsmall;定义程序的存储模型,一般程序采用小型模型.stack;堆栈段.data;数据段stringdb'HelloWorld!',0dh,0ah,'$';定义需要显示的字符串.code;代码段.startup;程序的起始点,建立DS、SS内容movdx,offsetstring;指定字符串在数据段的偏移地址movah,9int21h;调用功能调用显示信息.exit0;程序结束点,返回DOSend;汇编结束COM程序实现任意键后响铃.modeltiny.code.startupmovdx,offsetstringmovah,9;9号调用输出字符串int21hmovah,01h;1号调用,从stdin读取字符int21hmovah,02hmovdl,07hint21h;2号调用,向stdout输出字符(07H-\a响铃).exit0stringdb'Pressanykeytocontinue!$';数据安排在不与代码冲突的地方end设有一个64位的数据,要求将它算术左移8位(从高字节开始,从右向左左移8位).modelstmall.stack.dataqvardq1234567887654321h;dq表示4个字4*16=64bytes.code.startupmovcx,7movsi,6;1again:moval,byteptrqvar[si]movbyteptrqvar[si+1],al;si-1descsi;incsiloopagainmovbyteptrqvar[si+1],0;si计算1~100的和,将结果放入SUM中.modelstmall.stack.datasumdw?.code.startupxorax,axmovcx,100again:addax,cxloopagainmovsum,ax.exit0end把一个字符串中所有的大小改小写,该字符串以’0’结尾。.modelstmall.stack.datastringdb'HELLOworld!',0.code.startupmovbx,offsetstringagain:moval,[bx]oral,aljzdonecmpal,'A'jbnextcmpal,'Z'janextoral,20hmov[bx],alnext:incbxjmpagaindone:.exit0end编制一个程序,把变量bufX和bufY中较大者存入bufZ;若两者相等。则将其中之一存入bufZ。假设变量存放的是8位无符号数。    .modelsmall    .stack    .databufxdb?bufYdb?bufzdb?    .code    .startup    moval,bufX    movbl,bufY    cmpal,bl    janext    movbufZ,bl    jmpdonenext:movbufZ,aldone:   .exit0        end
本文档为【汇编语言期末复习总结(完整版)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥16.9 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
丹丹陪你去流浪
暂无简介~
格式:doc
大小:43KB
软件:Word
页数:0
分类:
上传时间:2021-08-23
浏览量:6