新编汇编语言程序设计四五章习题参考解答_第1页
新编汇编语言程序设计四五章习题参考解答_第2页
新编汇编语言程序设计四五章习题参考解答_第3页
新编汇编语言程序设计四五章习题参考解答_第4页
新编汇编语言程序设计四五章习题参考解答_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

练习题44.5已知(AX)=836BH,x分别取以下值,执行“CMPAX,x”时,标志ZF、CF、OF、SF分别为什么?(1) x=3000 h (2) x=8000 h (3) x=7fffh (4) x=0fffh (5) x=0a :执行上述指令后,标志位ZF、CF、OF、SF的状态分别如下所示(1) zcos=0010 (2) zcos=0000 (3) zcos=0010 (4) zcos=0101(5) ZCOS=00014.7对于具有测试名称x的字节,如果x的第1和第3位全部为1,则为L1;如果仅1位为1,则为L2转移到L3。 写对应的命令列。MOVAL,xANDAL,0000bjzsl3CMPAL,0000bJEL1JMPL24.12段函数计算:x的值通过键盘输入,y的值输出到显示器。INCLUDEYLIB.HdatasegremntMESS1DB0DH,0AH,inputvalueofxeplease:$。MESS2DB0DH,0AH,y=: $DATAENDS代码分段assume cs :代码,ds :数据START:MOVAX,DATAMOVDS,AXLEADX,MESS1CALLREADINT; 输入x的值CMPAX,-2JGEL2L1:SUBAX,3; AXX-3JMPDONEl 2:厘米Pax,3JGL3MOVBX,AXADDAX,AX; AX2XADDAX,AX; AX4XADDAX,BX; AX5XADDAX,6; AX5X 6JMPDONEL3:MOVAX,2; AX2DONE:战斗机LEADX,MESS2CALLWRITEINT; 输出y的值CALLCRLFMOVAX,4C00HINT21H代码结束结束开始制作4.14程序,求出10要素词排列LIST中的绝对值最小的数,存储到MIN单元中。a:datasegremntlist dw-56,12,88,-126,- 5,16,32,- 99,72,-18薄荷?MINABSDW?DATAENDS代码分段assume cs :代码,ds :数据START:MOVAX,DATAMOVDS,AXMOVAX,LISTMOVMIN,AX; 假设数组的第一个元素是绝对值最小的数目MOVMINABS,32767; 假设最小的绝对值为32767LEASI,LISTMOVCX,10AGAIN:MOVAX,siCMPAX,0JGESKIP1战斗机NEGAX; 求绝对值SKIP1:CMPAX,MINABS; 绝对值与假设的最小绝对值的比较JGESKIP2; 因为假设的绝对值小,所以跳过MOVMINABS,AX; 保存新的最小绝对值MOVAX,SI; 取出新的绝对值最小的数MOVMIN,AX; 保持新绝对值的最小数量SKIP2:ADDSI,2LOOPAGAINMOVAX,4C00HINT21H代码结束结束开始说明:最小绝对值和最小绝对值必须预先设置为最小数量,并且该绝对值最小的数量必须从LIST数组中获取。4.16带符号的字符排列将0作为结束标志,求出该排列的最大值、最小值、平均值。a:datasegremntlist dw-56,12,88,-126,- 5,16,32,- 99,72,- 18,0薄荷?MAXDW?AVGDW?DATAENDS代码分段assume cs :代码,ds :数据START:MOVAX,DATAMOVDS,AXMOVMIN,32767; 假定32767是最小数量MOVMAX,-32768; 假设-32768是最大数量MOVAVG,0; AVG用作存储器并被清零LEASI,LISTMOVCX,0AGAIN:MOVAX,siCMPAX,0jzsnd; 找到零要素,转动DONE结束处理INCCX; 记录非零元素的数量ADDAVG,AX; 累加起来CMPAX,MINJGESKIP1战斗机MOVMIN. AX; 小于缺省最小值并被保留skip 1:厘米Pax,MAXJLESKIP2MOVMAX、AX; 大于默认最大值并保留SKIP2:ADDSI,2JMPAGAINdone : jcxz空值; 元素数为零,转到NULL处理MOVAX,AVGCWDIDIVCXMOVAVG,AX; 计算平均值jmp退出空: mov min,0; 要素数为0时,为“最大值”、“最小值”MOVMAX,0; 清除平均值MOVAVG,0EXIT:MOVAX,4C00HINT21H代码结束结束开始4 .编制21程序,每个元素的正负符号字符阵列向阵列p和m发送正整数和零元素向p发送数组,负数传送m数组。a:datasegremntARRAYDW30 DUP (? ; 在装配之前放置数据PDW30 DUP (? 中所述情节,对概念设计中的量体体积进行分析MDW30 DUP (? 中所述情节,对概念设计中的量体体积进行分析DATAENDS代码分段assume cs :代码,ds :数据START:MOVAX,DATAMOVDS,AXLEABX,ARRAY; 阵列阵列指针MOVSI,0; p数组指针MOVDI,0; m阵列指针MOVCX,30ONE:MOVAX,BX; 从ARRAY数组中检索数据ANDAX,ALJGEPLUS; 正,负,正:movmdi、AX; 负数存储在m数组中ADDDI,2JMPNEXTPLUS:MOVPSI、AX; 正数,零存储在p数组中ADDSI,2NEXT:ADDBX,2LOOPONE公司MOVAX,4C00HINT21H代码结束结束开始4.30编写程序,输入n,计算: S=1*2 2*3 (N-1)*NINCLUDEYLIB.H代码分段assume cs :代码MESS1DB0DH,0AH,inputnpplease:$MESS2DB0DH,0AH,s=$START:PUSHCS公司POPDSLEADX,MESS1CALLREADDEC; 输入nMOVCX,AXXORBX,BX; 使用BX作为存储器ONE:MOVAX,CXMOVSI,AX德克斯公司MULSI; 计算J*(J-1 )ADDBX,AX; 累加起来LOOPONE公司LEADX,MESS2MOVAX,BXCALLWRITEDEC; 输出结果CALLCRLFMOVAX,4C00HINT21H代码结束结束开始4 .制作31程序,输入n,输出以下矩阵(设N=5)。1 1 1 1 12 2 2 2 13 3 3 2 14 4 3 2 15 4 3 2 1a :设I为行(15),j为列(15),则(I,j )位置的数据为: I(6-J )? I: 6-J。INCLUDEYLIB.H代码分段assume cs :代码START:CALLCRLFMOVSI,1; SI是行号ROW:MOVCX,5; CX是6-列号COL:CMPSI、CX; 判断当前位置JBUPDOWN:MOVAX,CX; 取下半部分的三角形,6列的号码jmp输出UP:MOVAX,SI; 上三角,取行号OUTPUT:MOVDX,-1CALLWRITEDEC; 输出数据LOOPCOLCALLCRLF; 结束本职工作INCSI; 更改行号CMPSI,5JBEROW; 不足5行,继续MOVAX,4C00HINT21H代码结束结束开始练习题55.4阅读下列步骤,指出该步骤预定完成的功能,同时指出步骤中存在的错误。代码分段assume : cs :代码START:MOVCX,20LOOP0:CALLPRINTSPACELOOPLOOP0MOVAH,4CHINT21HPRINTSPACEPROCNEARMOVCX,40; 添加到此行上方: PUSH CXPSLOOP:MOVAL,MOVAH,02HINT21HloopppsloopMOVAL,0AHMOVAH,02HINT21HMOVAL,0DHMOVAH,02HINT21H; POPCX将添加到行下方RET打印空间结束代码结束结束开始功能:输出20行空白行。 一行有40个空间。5.6阅读下列子程序,阐述完成的功能: 其入口参数和出口参数分别是什么?CLSCREENPROCMOVAX,0600HMOVCX,0MOVDH,xMOVDL,yMOVBH,07HINT10HRETCLSCREENENDP解:在屏幕窗口中滚动,左上角为(0,0 ),右下角为(y,x ),所包含行的属性为黑底白字。制作5.7程序,输入以$结束的数字串,统计其中出现“0”“9”的各数字的次数,分别保存在S0S9的10个中到单元中去。了解:MODEL SMALL. DATAS0DB0S1DB?S2DB0S3DB0S4DB0S5DB0S6DB0S7DB0S8DB0S9DB0KEYINDB100 DUP(0). CODESTART:MOVAX、DATAMOVDS,AXMOVCX,0LEABX,KEYINNEXT:MOVAH,01HINT21HCMPAL,$jzscountinc.cxMOVBX,ALinccbxJMPNEXTCOUNT:LEABX,KEYINCOUNT1:LEADI,S0MOVAL,bxSUBAL,30HMOVAH,0ADDDI,AXInc字节p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论