第5章 汇编语言程序设计.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:22 大小:160KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第5章 汇编语言程序设计.ppt

第5章汇编语言程序设计.ppt

预览

免费试读已结束,剩余 12 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第5章汇编语言程序设计5.1顺序程序设计1.用转移指令实现分支DATASEGMENTSTRINGDB36H,57H,73H,56H,29H,96H,3EH,7FH,30HDB20DUP(?)DB'Thisisacomputor',24HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEABX,STRINGMOVDL,24H;结束标志送DLAGAIN:MOVAL,[BX]CMPAL,DL;与结束标志比较JZDONE;AL为结束标志转结束ORAL,80H;把AL的D7值1JNPNEXT;PF=0(为奇)则转移至NEXTMOV[BX],AL;为偶则送回已加校验的字符NEXT:INCBX;指向下一单元JMPAGAIN;继续DONE:MOVAH,4CHINT21HCODEENDSENDSTART2.用MASM6.x条件控制伪指令实现分支2.用MASM6.x条件控制伪指令实现分支(续)5.3循环程序设计5.3循环程序设计(续)5.3循环程序设计(续)5.3循环程序设计(续).MODELSMALL.486XDAXMACRO;定义对AX和DX进行十进制调整的宏DAAXCHGAH,ALADCAL,0DAAXCHGAH,ALXCHGAX,DXADCAX,0DAAXCHGAH,ALADCAL,0DAAXCHGAH,ALXCHGAX,DXENDM.DATANUMBDW8AB9HNUMDDW?,?.STACK.CODE.STARTUPMOVAX,NUMBCALLBTODMOVNUMD,AX;保存转换结果MOVNUMD+2,DX.EXIT0FBTODLABELFAR;该过程也可为其他段调用(共享)BTODPROCNEARMOVBX,AXMOVAX,0MOVDX,0MOVCX,16;+Di和*2反复做16次和15次NEXT:ROLBX,1;CF←DiADCAX,0;AX←AX+DiXDAX;十进制调整CMPCX,1;做完否?JZDONE;加完16次则转DONE(结束返回)ADDAX,AX;低位部分AX*2XDAXLOOPNEXT;未完继续DONE:RETBTOTENDPEND2.用MASM6.x循环控制伪指令实现循环例5-47求10!和1~10的整数和。用.WHILE——ENDW伪指令用.REPEAT——UNTIL伪指令┆┆MOVEAX,1MOVEAX,1MOVBX,0MOVBX,0MOVCX,1MOVCX,1.WHILECX<=10.REPEATMULCXMULCXADDBX,CXADDBX,CXINCCXINCCX.ENDW.UNTILCX>10MOVMEMDD,EAX;存阶乘积MOVMEMDD,EAXMOVMEMWD,BX;存累加和MOVMEMWD,BX┆┆5.4保护方式编程5.4保护方式编程(续)5.4保护方式编程(续)2.保护方式编程举例2.保护方式编程举例(续)2.保护方式编程举例(续)2.保护方式编程举例(续)