汇编语言第6章子程序结构.ppt
《汇编语言第6章子程序结构.ppt》由会员分享,可在线阅读,更多相关《汇编语言第6章子程序结构.ppt(26页珍藏版)》请在三一办公上搜索。
1、1,第6章 子程序结构,过程定义伪操作 子程序的调用与返回 现场保护与恢复 子程序的参数传送 子程序的嵌套与递归,2,一.过程定义伪操作,3,4,1.子程序调用:隐含使用堆栈保存返回地址 call near ptr subp(1)保存返回地址(2)转子程序 call far ptr subp(1)保存返回地址(2)转子程序2.子程序返回:ret,二.子程序的调用与返回,5,子程序调用和返回指令:,code1 segmentmain proc far call far ptr subp retmain endpcode1 endscode2 segmentsubp proc far retsub
2、p endpcode2 ends,段间调用和返回,code segmentmain proc far call subp retmain endpsubp proc near retsubp endpcode ends,段内调用和返回,6,例:带立即数返回,(SP),堆栈段,code segmentmain proc far push ax push bx push cx call sub retmain endpsub proc near ret 6sub endpcode ends,(SP),7,下面程序段是判断寄存器AH和AL中D3位是否相同,如相同,AH置0,否则AH置全1.试把空白处
3、填上适当指令。AND AH,08H MOV AH,0FFH JMP NEXTZERO:MOV AH,0NEXT:,8,三.现场保护与恢复,subt proc far push ax push bx push cx push dx pop dx pop cx pop bx pop ax retsubt endp,9,子程序的参数传送 原则:寄 存 器:参数少 堆 栈:参数较多 存储单元:参数多,10,(1)通过寄存器传送参数(2)通过存储器传送参数(3)通过地址表传送参数地址(4)通过堆栈传送参数或参数地址(5)多个模块之间的参数传送,11,例:十六进制到十进制的转换(通过寄存器传送参数)hex
4、idec segment;1610 assume cs:hexidec main proc farstart:push ds sub ax,ax push axrepeat:call hexibin;162 call crlf call binidec;210 call crlf jmp repeat retmain endphexidec ends end start,12,1 a b 5 31 61 62 35,Sub al,7,13,例:累加数组中的元素(通过存储器传送参数)data segment ary dw 1,2,3,4,5,6,7,8,9,10 count dw 10 sum
5、dw?data endscode segmentmain proc far assume cs:code,ds:data mov ax,data mov ds,ax call proadd mov ax,4c00h int 21hmain endpcode ends end main,proadd proc near push ax push cx push si lea si,ary mov cx,count xor ax,axnext:add ax,si add si,2 loop next mov sum,ax pop si pop cx pop ax retproadd endp,14
6、,如果数据段定义如下:data segment ary dw 1,2,3,4,5,6,7,8,9,10 count dw 10 sum dw?ary1 dw 10,20,30,40,50,60,70,80,90,100 count1 dw 10 sum1 dw?data ends,如果直接访问内存变量,那么累加数组ary和数组ary1中的元素不能用同一个子程序 proadd。,15,例:累加数组中的元素(通过地址表传送参数地址)data segment ary dw 10,20,30,40,50,60,70,80,90,100 count dw 10 sum dw?table dw 3 dup
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 章子 程序结构
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5993788.html