




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE53.16解: movah,1 ;只允许输入小写字母 int21h subal,20h ;转换为大写字母 movdl,al movah,2 int21h ;显示3.18解: movax,bufX cmpax,bufY jgedone movax,bufYdone: movbufZ,ax3.19解: .modelsmall .stack .databufX dw-7signX db? .code .startup cmpbufX,0 ;testbufX,80hjlnext ;jnznext movsignX,0 jmpdonenext: movsignX,-1done: .exit0 end3.20解: movdl,’2 movax,bufX cmpax,bufY jenext1 decdlnext1: cmpax,bufZ jenext2 decdlnext2: movah,2 int21h3.22编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。;wjxt322.asm .modelsmall .stack .datab_data db12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ10 ;数据个数sum db? ;预留结果单元 .code .startup xorsi,si ;位移量清零 xoral,al ;取第一个数 movcx,num ;累加次数again: addal,b_data[si] ;累加 incsi ;指向下一个数 loopagain ;如未完,继续累加 movsum,al ;完了,存结果 .exit0 end3.30解:lucase proc pushbx movbx,offsetstring cmpal,0 jecase0 cmpal,1 jzcase1 cmpal,2 jzcase2 jmpdonecase0: cmpbyteptr[bx],0 jedone cmpbyteptr[bx],’A’ jbnext0 cmpbyteptr[bx],’Z’ janext0 addbyteptr[bx],20hnext0: incbx jmpcase0case1: cmpbyteptr[bx],0 jedone cmpbyteptr[bx],’a’ jbnext1 cmpbyteptr[bx],’z’ janext1 subbyteptr[bx],20hnext1: incbx jmpcase1case2: cmpbyteptr[bx],0 jedone cmpbyteptr[bx],’A’ jbnext2 cmpbyteptr[bx],’Z’ janext20 addbyteptr[bx],20h jmpnext2next20: cmpbyteptr[bx],’a’ jbnext2 cmpbyteptr[bx],’z’ janext2 subbyteptr[bx],20hnext2: incbx jmpcase2done: popbx retlucase endp习题3.1解答:参考教材(第60页)习题3.6问题:给出你采用一个源程序格式书写的例题3.1源程序解答: .modelsmall .stack .datastring db’Hello,Assembly!’,0dh,0ah,’$’ .code start: movax,@data movds,ax movdx,offsetstring movah,9 int21h movax,4c00h int21h endstart习题3.12解答:ORG伪指令习题3.13解答:段地址和偏移地址属性,类型属性习题3.26问题:过程定义的一般格式是怎样的?子程序开始为什么常有PUSH指令、返回前为什么常有POP指令?下面完成16位无符号数累加的子程序有什么不妥吗?若有,请改正:解答:crazy PROC ;crazy PROC pushax ; xorax,ax ; xorax,ax xordx,dx ; xordx,dxagain: addax,[bx] ;again: addax,[bx] adcdx,0 ; adcdx,0 incbx ; incbx incbx ; incbx loopagain ; loopagain ret ; ret ENDPcrazy ;crazy ENDP字量求和子程序入口参数:BX=数据首址CX=数据个数出口参数:AX=和的低字DX=和的高字(进位部分)习题3.28问题:请按如下说明编写子程序:;子程序功能:把用ASCII码表示的两位十进制数转换为对应二进制数;入口参数:DH=十位数的ASCII码,DL=个位数的ASCII码;出口参数:AL=对应的二进制数解答:asctob proc pushcx ;先转换十位数 anddh,0fh shldh,1 ;乘以10 movch,dh shldh,1 shldh,1 adddh,ch;转换个位数 anddl,0fh ;十位数加个位数 adddh,dl ;设置出口参数 moval,dh popcx retasctob endp习题3.34-1问题:编写一个计算字节校验和的子程序。所谓“校验和”是指不记进位的累加,常用于检查信息的正确性。主程序提供入口参数,有数据个数和数据缓冲区的首地址。子程序回送求和结果这个出口参数。传递参数方法自定。解答:;数据段array db12h,25h,0f0h,0a3h,3,68h,71h,0cah,0ffh,90hcount equ$-array ;数组元素个数result db? ;校验和 ;代码段(主程序) movbx,offsetarray ;BX←数组的偏移地址 movcx,count ;CX←数组的元素个数 callchecksum ;调用求和过程 movresult,al ;处理出口参数习题3.34-2;代码段(子程序);计算字节校验和的通用过程;入口参数:DS:BX=数组的段
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳务中介合同样本
- 南京邮电大学《建设工程造价A》2023-2024学年第一学期期末试卷
- 文华学院《学术规范与学术写作公管》2023-2024学年第一学期期末试卷
- 天津市津南区市级名校2024-2025学年初三第一次调研联考物理试题含解析
- 一次性付款土地买卖合同书
- 南京师范大学《概率统计C》2023-2024学年第一学期期末试卷
- 江苏省淮安市涟水实验中学2025年中考模拟(8)英语试题含答案
- 沈阳音乐学院《医学伦理学理论》2023-2024学年第二学期期末试卷
- 内蒙古自治区呼和浩特市开来中学2025届初三1月模拟调研化学试题含解析
- 商丘师范学院《民俗文化与生活》2023-2024学年第二学期期末试卷
- 编剧助理合同协议
- 2025届黑龙江省大庆市高三下学期第三次模拟考试历史试题(含答案)
- 灾害自救互救与应急逃生知识培训
- 养老院火灾事故防范重点培训课件
- 便秘的评估与护理
- 人才招聘中的社交媒体运用与效果评估
- 2025就业指导课件
- 新能源电池材料回收行业深度调研及发展战略咨询报告
- 高校实验室安全基础
- 教师综合考核奖励方案
- 重大版小学英语六年级下册期中试卷(含答案含听力原文无听力音频)
评论
0/150
提交评论