汇编语言程序设计_3_3.ppt

汇编语言程序设计_3_3.ppt

ID:48178153

大小:393.50 KB

页数:32页

时间:2020-01-16

汇编语言程序设计_3_3.ppt_第1页
汇编语言程序设计_3_3.ppt_第2页
汇编语言程序设计_3_3.ppt_第3页
汇编语言程序设计_3_3.ppt_第4页
汇编语言程序设计_3_3.ppt_第5页
资源描述:

《汇编语言程序设计_3_3.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、IBMPC机的指令系统80x86指令系统分成下列六大类:数据传送指令算术运算指令逻辑运算和移位指令控制转移指令串操作指令CPU控制指令与标志位处理指令控制转移指令无条件转移指令条件转移指令子程序调用和返回指令中断指令无条件转移指令格式:JMP地址表达式功能:使程序的流程无条件跳到转移地址所指的地方。转移目的地址=(CS)×16+(IP)段内转移:改变IP的内容,CS的内容不变。段间转移:IP、CS的内容都改变。段内直接寻址:指令中直接给出到达的目标地址例如:JMPPROG1;转移范围:-32768~+32767JMPSHORTNEXT;转移范围:-128~+127段内间接寻址:指定某个寄存器

2、的内容或某个字单元的内容作为转移地址的偏移地址。例如:JMPBX;(BX)IPJMPWORDPTR[1000H];(DS:1000H)IPJMPWORDPTR[SI+2];(DS:SI+2)IPJMPTABLE[BX];(DS:TABLE+(BX))IP段间直接寻址:通过标号直接给出转移地址例如:JMPFARPTRNEXTP;NEXTP的段址CS,偏址IPJMPNEXTP1;NEXTP1的段址CS,偏址IP段间间接寻址:指定一个4字节的单元内容作为转移地址,其中低二字节内容IP,高二字节内容CS。例如:JMPDWORDPTR[100H]JMPDWORDPTR[BX]Not

3、ice!段内与段间直接寻址可以有相同的格式标号前可以有:SHORT、FAR(NEAR)PTR机器指令中使用的是位移量间接转移注意类型条件转移指令标志位条件转移指令二个无符号数比较转移指令二个带符号数比较转移指令标志位条件转移指令JC标号;当(CF)=1,则转移。JNC标号;当(CF)=0,则转移。JZ/JE标号;当(ZF)=1,则转移。JNZ/JNE标号;当(ZF)=0,则转移。JS标号;当(SF)=1,则转移。JNS标号;当(SF)=0,则转移。JO标号;当(OF)=1,则转移。JNO标号;当(OF)=0,则转移。JP标号;当(PF)=1,则转移。JNP标号;当(PF)=0,则转移。二个无

4、符号数比较转移指令设A为被减数,B为减数。CMPA,BJA标号;当A>B时转移;JAE标号;当A≥B时转移;JB标号;当A0JCXZ/JECXZ条件转移指令格式:JCXZ/JECXZ标号功能:当(CX)/(ECX)=0时,转向标号循环控制指令LOOP/LOOPE/LOOPNE格式:LOOP标号;功能:(CX)-1CX,若(CX)≠

5、0,则转移功能等价DECCXJNZ标号格式:LOOPE/LOOPNE(CX<>0)and(ZF==1/0)PUSHFDECCXPOPFJCXZOVERJZ标号OVER:Notice!除无条件转移指令只能使用标号;条件转移指令在386前只能是段内直接短转移,即偏移量为-128~127;JCXZ、JECXZ和LOOP只能是段内直接短转移。使用LOOP指令,注意初始值是否为0。(不同于rep)JCClabelJNCCskipnextJMPlabelSkipnext:习题找出100个有符号字节数中间的最大数。过程调用和返回指令调用指令CALL格式:CALL子程序/地址表达式功能:保护断点——将当前断

6、点压入堆栈;转入子程序——将子程序段的入口地址送入IP(/CS);段内直接调用CALLSubx执行过程:PUSHIP;Subx入口地址IP段内间接调用:子程序的入口偏移地址存放在Reg或者Mem中CALLBXCALLWORDPTR[1000H]执行过程:PUSHIP;子程序入口地址IP段间直接调用CALLSubf或CALLFARPTRSubf执行过程:PUSHCS;PUSHIP;子程序入口地址CS,IP段间间接调用:子程序入口段地址和偏移地址存在DWORD中CALLDWORDPTRADDR执行过程:PUSHCS;PUSHIP;ADDRIP;ADDR+2CS子程序返回指令RET(N/

7、F)格式:RET[n]功能:返回主程序。根据子程序的属性Near、Far决定:段内返回:POPIP段间返回:POPIP;POPCSRETn:返回;并执行SP=SP+n;CALL与RET类型必须一致codesegmentmainprocfar……callsub……retmainendpsubprocnear……retsubendpcodeends段内调用和返回code1segmentmainprocfar……c

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

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

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