网站大量收购独家精品文档,联系QQ:2885784924

《IBM PC 80X86汇编语言程序设计》PPT电子课件教案-第六章 子程序设计参考.ppt

《IBM PC 80X86汇编语言程序设计》PPT电子课件教案-第六章 子程序设计参考.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《IBM PC 80X86汇编语言程序设计》PPT电子课件教案-第六章 子程序设计参考

例:利用堆栈传递参数,实现对2个已定义数组分别求和。主程序与子程序不在同一代码段中。 入口参数:数组的首地址和数组长度。使用寄存器AX将入口参数压栈。 DATA SEGMENT ARYA DB 06H,33H,0AH,88H,13H SUMA DW ? ARYB DB 9FH,97H,34H,22H,33,13H SUMB DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AX,SUMA-ARYA PUSH AX MOV AX,OFFSET ARYA PUSH AX CALL SUM MOV AX,SUMB-ARYB PUSH AX MOV AX,OFFSET ARYB PUSH AX CALL SUM MOV AH,4CH INT 21H CODE ENDS PROCE SEGMENT ASSUME CS:PROCE,DS:DATA SUM PROC FAR PUSH AX PUSH BX PUSH CX PUSH BP MOV BP,SP PUSHF MOV CX,[BP+14] MOV BX,[BP+12] MOV AX,0 LOP1:ADD AL,[BX] ADC AH,0 INC BX LOOP LOP1 MOV [BX],AX POPF POP BP POP CX POP BX POP AX RET 4 SUM ENDP PROCE ENDS END START 3、用存储单元传递参数 主程序中入口参数送入存储单元,子程序中取出入口参数进行处理,执行结果存入存储单元。 例6.7 同例6.5 用存储器参数传递法编写程序 DATA SEGMENT BLOCK1 DB 23H,45H,13H,2FH,1AH,94H LENS EQU $-SOUCE BLOCK2 DB LENS DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX XOR SI,SI XOR DI,DI MOV CX, LENS CALL MOVSTOK MOV AH,4CH INT 21H MOVSTOK PROC NEAR PUSH AX NEXT: MOV AL, BLOCK1[SI] MOV BLOCK2[DI], AL INC SI INC DI LOOP NEXT POP AX RET MOVSTOK ENDP CODE ENDS END START 五、子程序的嵌套和递归调用 嵌套:子程序中再调用其它子程序 递归:子程序体中调用它本身,一般用于数学上函数的递归定义 。 1、子程序的嵌套调用 嵌套与递归的共同之处就是都要用到堆栈操作,用于保护断点。 主程序: …… …… CALL SUB1 (断点1:) …… …… HLT SUB1: …… CALL SUB2 (断点2: ) …… RET SUB2: …… …… RET 子程序: 子程序: 子程序的嵌套调用 例: 找出BUF区存放的若干字节的最小值。并以十六进制形式显示。 程序利用嵌套实现 DISP—— 显示一位十六进制数,被显示的内容存放在DL低4位。 SEARCH—— 在BUF区中搜索最小无符号数 入口参数:SI—— 被搜索数据区的首地址。 CX—— 存放数据的个数。 出口参数:DL中存放最小值 …… CALL SEARCH …… SEARCH PROC …… CALL DISP …… CALL

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档