汇编语言第七章答案

汇编语言第七章答案

ID:18435492

大小:46.50 KB

页数:9页

时间:2018-09-17

汇编语言第七章答案_第1页
汇编语言第七章答案_第2页
汇编语言第七章答案_第3页
汇编语言第七章答案_第4页
汇编语言第七章答案_第5页
资源描述:

《汇编语言第七章答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、7.1编写一条宏指令CLRB,完成用空格符将一字符区中的字符取代的工作。字符区首地址及其长度为变元。答:宏定义如下:CLRBMACRON,CFILMOVCX,NCLDMOVAL,‘’;;取空格符的ASCII码LEADI,CFILREPSTOSBENDM7.2某工厂计算周工资的方法是每小时的工资率RATE乘以工作时间HOUR,另外每工作满10小时加奖金3元,工资总数存放在WAG中。请将周工资的计算编写成一条宏指令WAGES,并展开宏调用:WAGESR1,42,SUM答:宏定义如下:WAGESMACRORATE,HOUR,WAGMOVAL,HOUR;;计算周工资(WAG),公式为:

2、HOUR*RATEMOVBL,RATEMULBLMOVWAG,AXMOVAL,HOUR;;计算奖金存入(AX),公式为:HOUR/10的商*3MOVAH,0MOVBL,10DIVBLMOVBL,3MULBLADDWAG,AX;;计算周工资总数ENDM宏调用:WAGESR1,42,SUM宏展开:1MOVAL,421MOVBL,R11MULBL1MOVSUM,AX1MOVAL,421MOVAH,01MOVBL,101DIVBL1MOVBL,31MULBL1ADDSUM,AX7.3给定宏定义如下:(注意:此宏指令的功能是V3←

3、V1-V2

4、)DIFMACROX,YMOVAX,XSUB

5、AX,YENDMABSDIFMACROV1,V2,V3LOCALCONTPUSHAXDIFV1,V2CMPAX,0JGECONTNEGAXCONT:MOVV3,AXPOPAXENDM试展开以下调用,并判定调用是否有效。(1)ABSDIFP1,P2,DISTANCE(2)ABSDIF[BX],[SI],X[DI],CX(3)ABSDIF[BX][SI],X[BX][SI],240H(4)ABSDIFAX,AX,AX答:(1)宏调用ABSDIFP1,P2,DISTANCE的宏展开如下:此宏调用有效。1PUSHAX1DIFP1,P21MOVAX,P11SUBAX,P21CMPAX,0

6、1JGE??00001NEGAX1??0000:MOVDISTANCE,AX1POPAX(2)宏调用ABSDIF[BX],[SI],X[DI],CX的宏展开如下:此宏调用有效。1PUSHAX1DIF[BX],[SI]1MOVAX,[BX]1SUBAX,[SI]1CMPAX,01JGE??00011NEGAX1??0001:MOVX[DI],AX1POPAX(3)宏调用ABSDIF[BX][SI],X[BX][SI],240H的宏展开如下:此宏调用无效。1PUSHAX1DIF[BX][SI],X[BX][SI]1MOVAX,[BX][SI]1SUBAX,X[BX][SI]1CMP

7、AX,01JGE??00021NEGAX1??0002:MOV240H,AX1POPAX(4)宏调用ABSDIFAX,AX,AX的宏展开如下:此宏调用有效但无多大意义。1PUSHAX1DIFAX,AX1MOVAX,AX1SUBAX,AX1CMPAX,01JGE??00031NEGAX1??0003:MOVAX,AX1POPAX7.4试编制宏定义,要求把存储器中的一个用EOT(ASCII码04H)字符结尾的字符串传送到另一个存储区去。答:宏定义如下:SENDMACROSCHARS,DCHARSLOCALNEXT,EXITPUSHAXPUSHSIMOVSI,0NEXT:MOVAL,

8、SCHARS[SI]MOVDCHARS[SI],ALCMPAL,04H;;是EOT字符吗?JZEXITINCSIJMPNEXTEXIT:POPSIPOPAXENDM7.5宏指令BIN_SUB完成多个字节数据连减的功能:RESULT←(A-B-C-D-…)要相减的字节数据顺序存放在首地址为OPERAND的数据区中,减数的个数存放在COUNT单元中,最后结果存入RESULT单元。请编写此宏指令。答:宏定义如下:BIN_SUBMACRORESULT,A,OPERAND,COUNTLOCALNEXT_SUBPUSHCXPUSHBXPUSHAXMOVCX,COUNTMOVAL,ALEAB

9、X,OPERANDCLCNEXT_SUB:SBBAL,[BX]INCBXLOOPNEXT_SUBMOVRESULT,ALPOPAXPOPBXPOPCXENDM7.6请用宏指令定义一个可显示字符串GOOD:‘GOODSTUDENTS:CLASSXNAME’,其中X和NAME在宏调用时给出。答:宏定义如下:DISP_GOODMACROX,NAMEGOODDB‘GOODSTUDENTS:CLASS&X&NAME’,0DH,0AH,‘$’ENDM7.7下面的宏指令CNT和INC1完成相继字存储。CN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。