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

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

ID:51489765

大小:451.50 KB

页数:19页

时间:2020-03-24

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

《-第4章 汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章汇编语言程序设计4.1顺序程序设计4.2分支程序设计4.3循环程序设计4.4子程序设计4.5宏结构程序设计4.6模块化程序设计4.7输入输出程序设计顺序程序完全按指令书写的前后顺序执行每一条指令,是最基本、最常见的程序结构。4.1顺序程序设计例4.1例4.2例4.1.modelsmall.stack256.dataXdw5Ydw6Zdw7Wdw?.code.startupmovax,Xaddax,Yadcax,ZmovW,ax.exit0end例4.2qvardq1234567887654321hmoval,byteptrqvar[6]movbyteptrqva

2、r[7],almoval,byteptrqvar[5]movbyteptrqvar[6],almoval,byteptrqvar[4]movbyteptrqvar[5],almoval,byteptrqvar[3]movbyteptrqvar[4],almoval,byteptrqvar[2]movbyteptrqvar[3],almoval,byteptrqvar[1]movbyteptrqvar[2],almoval,byteptrqvar[0]movbyteptrqvar[1],almovbyteptrqvar[0],01234567887654321h3456

3、788765432100h移位后图示例4.264位数据左移8位的图示123456788765432100qvar[0]qvar[1]qvar[2]qvar[3]qvar[4]qvar[5]qvar[6]qvar[7]分支程序根据条件是真或假决定执行与否。判断的条件是各种指令,如CMP、TEST等执行后形成的状态标志。转移指令Jcc和JMP可以实现分支控制;还可以采用MASM6.x提供的条件控制伪指令实现。4.2分支程序设计单分支:例2.41双分支:例4.3多分支:例4.4例2.41;计算X-Y的绝对值movax,Xsubax,Yjnsnonneg;条件满足(X-Y>0

4、)?negax;条件不满足,求补nonneg:movresult,ax;条件满足例4.3moval,_bimulalmovbx,axmoval,_aimul_cmovcx,4imulcxcmpbx,ax;比较二者大小jgeyes;条件满足?movtag,0;第一分支体:条件不满足,tag←0jmpdone;跳过第二个分支体yes:movtag,1;第二分支体:条件满足,tag←1done:.exit0前一个分支后要使用JMP指令,切切!orah,ah;等效于cmpah,0jzfunction0;ah=0,转向function0decah;等效于cmpah,1jzfun

5、ction1;ah=1,转向function1decah;等效于cmpah,2jzfunction2;ah=2,转向function2...多分支结构AH=0fuction0YNAH=1fuction1YNAH=2fuction2YNTabledbdisp1,disp2,disp3,disp4,...例4.4利用入口地址表,形成多分支地址表分支1地址分支2地址...数据段程序段分支体操作.datamsgdb'Inputnumber(1~8):',0dh,0ah,'$'msg1db'Chapter1:FundamentalsofAssemblyLanguage',0dh

6、,0ah,'$'msg2db'Chapter2:8086InstructionSet',0dh,0ah,'$'msg3db'Chapter3:StatementsofAssemblyLanguage',0dh,0ah,'$'msg4db'Chapter4:AssemblyLanguageProgramming',0dh,0ah,'$'msg5db'Chapter5:32-bitInstructionsandProgramming',0dh,0ah,'$'msg6db'Chapter6:MixedProgrammingwithC/C++',0dh,0ah,'$'msg7

7、db'Chapter7:FPInstructionsandProgramming',0dh,0ah,'$'msg8db'Chapter8:MMXInstructionsandProgramming',0dh,0ah,'$'tabledwdisp1,disp2,disp3,disp4,disp5,disp6,disp7,disp8;取得各个标号的偏移地址例4.4数据段start1:movdx,offsetmsg;提示输入数字movah,9int21hmovah,1;等待按键int21hcmpal,'1';数字<1?jbstart1cmpal,'8';数

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

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

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