汇编程序设计的基本方法-modify

汇编程序设计的基本方法-modify

ID:15054589

大小:592.00 KB

页数:83页

时间:2018-08-01

汇编程序设计的基本方法-modify_第1页
汇编程序设计的基本方法-modify_第2页
汇编程序设计的基本方法-modify_第3页
汇编程序设计的基本方法-modify_第4页
汇编程序设计的基本方法-modify_第5页
资源描述:

《汇编程序设计的基本方法-modify》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章程序设计的基本方法程序组织结构:顺序、分支、循环、子程序、模块§1、顺序分支程序设计一、顺序程序设计例:利用查表的方法,从键盘上接收0~9中任一自然数x,存入xx单元,然后求其x的立方值送yy单元*x³表的结构如图*x³在表中的存放地址与x的关系:(TAB+2*X)=X3STACKSEGMENTSTACKDB200DUP(?)-0--1--8--27-…-729-TAB+0+1+2+3+4+5+6+7..+12h1汇编程序设计STACKSEGMENTSTACKDB200DUP(?)STACKENDSDATASEGMENTTABDW0,1,8

2、,27,64,125,343,216,343,512,729XXDB?YYDW?INPUTDB‘PLEASEINPUTX(0-9):$’DATAENDS2汇编程序设计CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXLEADX,INPUT;MOVAH,9;显示提示“pleaseinputx(0-9):”INT21H;MOVAH,1;从键盘接收一个数字字符x=>ALINT21H;ANDAL,0FH;取x的数值=>AL(可用:SUBAL,30H)MOVXX,ALADDAL

3、,AL;2x=>ALMOVBL,AL;2x=>BXMOVBH,0;3汇编程序设计MOVAX,TAB[BX];(TAB+2X)=>AXMOVAX,[BX];寄存器间接寻址MOVCX,OFFSETTABADDBX,CXMOVAX,[BX];寄存器间接寻址LEASI,TABMOVAX,[BX+SI];寄存器基址+变址MOVYY,AX;X3=>YYMOVAH,4CH;退出程序返回DOSINT21H;CODEENDSENDSTART三种方法基准点不同(1)以TAB为基准点(2)以段首址为基准点4汇编程序设计二:分支程序设计•用转移指令改变程序执行次序1、转

4、移指令无条件转移指令标志位的条件转移指令条件转移指令:无符号数的条件转移指令带符号数的条件转移指令(1)无条件转移指令*转移范围由标号的类型决定*格式:(a)直接寻址:范围SHORT标号:(IP)+8位位移量=>IP-128B~+127BJMP[NEAR]标号:(IP)+16位位移量=>IP+/-32kB=216:段内FAR标号:(IP)+32位位移量=>IP+/-64KB=232:段外•IP为JMP下一条指令地址(b)间接寻址:JMPWORDPTROPD段内转移±32KBDWORDPTR段外转移±64KB5汇编程序设计例:……JMPSHORTH

5、E……HE:MOVAL,3如:JMPWORDPTR[BX];([BX])IPCS内容不变,段内转移即(IP)+(CS)为物理地址4如:JMPFAR标号;OPD-IP,OPD所在段首址->CSc1SEGMENT……JMPFARNEXT……C1ENDSC2SEGMENT……NEXT:……C2ENDS6汇编程序设计(2)条件转移指令*转移范围-128B~+127B(按每条指令3个字节大约在前后45条指令之内)(a)根据标志位转移指令*根据进位位CF转移:JC/JNC(即CF=1/CF=0)*根据ZF位转移:JE/JZ(ZF=1,结果为0)或JNE/

6、JNZ(ZF=0,结果不为0*根据符号位SF转移:JS/JNS(SF=1,为负转,SF=0,不为负转)*根据溢出位OF转移:JO/JNO(OF=1,有溢出转,OF=0,无溢出转)*根据奇偶校验位PF转:JP/JPE或者JNP/JPO(PF=1偶校验转或PF=0奇校验转)7汇编程序设计b)用于无符号数的转移指令*检查CF与ZF两位转移*用于地址、ASCII码、循环次数等的比较转移(两个无符号数a、b的比较)*高于或不低于等于转:JA/JNBEa>b转(CF=0,ZF=0)*高于等于或不低于转:JAE/JNBa>=b转((CF=0)ˇ(ZF=1))*

7、低于或不高于且不等于转:JB/JNAEabSF与OF同号且ZF=0*大于等于或不小于转:JGE/JNLa>=bSF与OF同号或者ZF=1*小于不大于也不等于转:JL/JNGEa

8、转移指令的转移范围JLL1;小于转L1……超过127B则用JMP辅助,如下L1:……JGEL0;大于等于转L0JMPL1;小于转L1L0

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

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

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