汇编语言程序设计基础

汇编语言程序设计基础

ID:33414053

大小:212.00 KB

页数:18页

时间:2019-02-25

汇编语言程序设计基础_第1页
汇编语言程序设计基础_第2页
汇编语言程序设计基础_第3页
汇编语言程序设计基础_第4页
汇编语言程序设计基础_第5页
资源描述:

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

1、第四章汇编语言程序设计基础基本程序结构:顺序结构循环结构分支结构子程序结构……4.1循环程序设计初始化循环的初始状态循环体循环的工作部分及修改部分修改部分Y计数控制循环控制特征值控制条件地址边界控制N结束例1.把BX中的二进制数以十六进制的形式显示在屏幕上。BX1234movch,4rotate:movcl,4rolbx,clmoval,blandal,0fhaddal,30h;’0’-’9’ASCII30H-39Hcmpal,3ahjlprintitaddal,7h;’A’-’F’ASCII41H-

2、46Hprintit:movdl,almovah,2int21hdecchjnzrotate4.2分支程序设计判定条件判定条件ABAB…X(1)两路分支结构(2)多路分支结构(1)逻辑尺控制(2)条件控制?case1case2casen?case1case2case3(3)地址跳跃表TABLEDWONE,TWO,THREEJMPTABLE[SI]…1000ONE:…2000TWO:…3000THREE:…例。设有数组x(x1,…,x10)和y(y1,…,y10),编程计算z1=x1+y1z2=x2+y

3、2z3=x3-y3z4=x4-y4逻辑尺:0011011100z5=x5-y51减法z6=x6+y60加法z7=x7-y7z8=x8-y8z9=x9+y9z10=x10+y10xdwx1,x2,x3,x4,x5,x6,x7,x8,x9,x10ydwy1,y2,y3,y4,y5,y6,y7,y8,y9,y10zdwz1,z2,z3,z4,z5,z6,z7,z8,z9,z10logic_ruledw00dch……movbx,0movcx,10movdx,logic_rulenext:movax,x[bx]

4、shrdx,1jcsubtractaddax,y[bx]jmpshortresult;向前引用subtract:subax,y[bx]result:movz[bx],axaddbx,2loopnext4.3子程序的设计方法过程(子程序)定义伪操作procedure_namePROCNEAR(FAR)……procedure_nameENDP(1)NEAR属性:调用程序和子程序在同一代码段中(段内调用)(2)FAR属性:调用程序和子程序不在同一代码段中(段间调用)●保存与恢复寄存器subtprocfarp

5、ushaxpushbxpushcxpushdx......popdxpopcxpopbxpopaxretsubtendp●子程序的调用和返回子程序调用(中断调用):隐含使用堆栈保存返回地址callnearptrsubp(1)保存返回地址(SP)→(IP)(2)转子程序(IP)←subp的偏移地址callfarptrsubp(1)保存返回地址(2)转子程序(SP)→(IP)(CS)←subp的段地址(IP)←subp的偏移地址(CS)INTn(n:中断类型号)int21H(1)保存现场和返回地址(FLA

6、GS,CS,IP入栈)(2)转中断处理程序(SP)→(IP)(IP)←(n*4)(CS)(CS)←(n*4+2)(FLAGS)子程序返回:(1)ret(返回地址出栈)(2)iret(IP,CS,FLAGS出栈)●子程序的参数传送(1)通过寄存器传送参数(2)通过存储区传送参数*子程序和调用程序在同一程序模块中,则子程序可直接访问模块中的变量。*子程序和调用程序不在同一程序模块中,则有两种传送方式:建立公共数据区和使用外部符号。(3)通过地址表传送参数地址(4)通过堆栈传送参数或参数地址例.十进制到十六

7、进制的转换程序(通过寄存器传送变量)Decihexsegment;10→16assumecs:decihexmainprocfarpushdssubax,axpushaxrepeat:calldecibin;10→2callcrlfcallbinihex;2→16callcrlfjmprepeatretmainendpDecibinprocnear;10→2movbx,0newchar:movah,1int21hsubal,30hjlexit;<0退出cmpal,9djgexit;>9退出cbwxch

8、gax,bxmovcx,10dmulcxxchgax,bxaddbx,axjmpnewcharexit:retdecibinendpbinihexprocnear;2→16movch,4rotate:movcl,4rolbx,clmoval,blandal,0fhaddal,30hcmpal,3ahjlprintitaddal,7h;‘A’~’F’printit:movdl,almovah,2int21hdecchjnzrotateretbinihexe

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

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

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