第4章_3 循环 子程序上机过程、DOS中断调.pptVIP

第4章_3 循环 子程序上机过程、DOS中断调.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章_3 循环 子程序上机过程、DOS中断调

4.3 实地址方式下的汇编语言程序设计 一般将公用性、重复性或有相对独立性的程序应设计成子程序 子程序设计 结构: …… …… …… 程序部分 RET NAME ENDP 必须RET结束 NAME PROC NEAR (FAR) 过程名 过程类型 PUSH AX PUSH BX 主程序现场保护 POP BX POP AX 4.3 实地址方式下的汇编语言程序设计 子程序设计 调用与返回: 调用: CALL 过程名(子程序地址) 功能: (1)下条指令的地址压入堆栈。 主子同段(段内调用): 只将IP的值压入堆栈 段间调用: 先将CS的值压入堆栈,再将IP的值压入堆栈。 (2)转入子程序运行 子程序的地址送入CS:IP 4.3 实地址方式下的汇编语言程序设计 子程序设计 调用与返回: 返回指令 RET 子程序的最后一条指令,用于返回CALL指令的下条指令继续执行。无论对那一种调用方式其返回指令都相同。 功能: (1) 段内调用只将当前[SP]弹进IP,从而使程序正常返回。 (2)对于段间调用则先弹IP,再弹CS。 4.3 实地址方式下的汇编语言程序设计 子程序设计 子程序的设计与应用应注意的问题 (1)现场的保护 PUSH AX PUSH BX PUSH SI ………… ………… POP SI POP BX POP AX RET 4.3 实地址方式下的汇编语言程序设计 子程序设计 子程序的设计与应用应注意的问题 (2)参数的传递 主程序调用子程序必须传递入口参数, 子程序返回必须传递出口参数。 常用的方法有: 寄存器: 适用于参数少的情况。 约定单元: 适用于参数多的情况。要事先建立参数数据缓冲区。 堆栈: 适用于参数较多,且子程序嵌套,递归调用的情况 ;子程序的入口参数: ;SI=数据区的首地址,CX=数据个数 ;出口参数:AL为最大的数 ;用到的寄存器:AX,CX,SI 4.3 实地址方式下的汇编语言程序设计 2组8位无符号数,每组中有N个无符号数,分别找出每一组中的最大数,并将最大数存放在每组数的开绐地址。 CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,BUF1 ;入口参数 INC SI ;指向数据开始 MOV CX,N1 ;入口参数 CALL SUBROT MOV BUF1,AL LEA SI,BUF2 INC SI ;指向数据开始 MOV CX,N2 CALL SUBROT MOV BUF2,AL MOV AH,04CH INT 21H SUBROT PROC PUSH CX ;子程序开始 PUSH SI DEC CX ; MOV AL,[SI] ; LOOP1:INC SI ; CMP AL,[SI] JA NEXT MOV AL,[SI] NEXT:LOOP LOOP1 POP SI POP CX RET SUBROT ENDP DATA SEGMENT BUF1 DB ?,12H,45H……… N1=$-BUF1 BUF2 DB ?,65H,ACH…… N2=$-BUF2 DATA ENDS CODE ENDS END START 4.4 汇编程序及上机过程 汇编程序要建立的文件: EDIT.EXE MASM.EXE LIKE.EXE DEBUG.COM EDIT是编辑程序, MASM为汇编程序, LINK为连接程序, EXE2BIN为转换成COM文件所需要的程序 4.4 汇编程序及上机过程 1、建立ASM文件 用记事本或EDIT编辑源程序文件,文件的扩展名一般应为.ASM。 如X.ASM 2、用MASM对源文件进行汇编, C:\amasm x Microsoft (R) Macro Assembler Version 5.00 Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved. Object filename [x.OBJ]: Source listing [NUL.LST]: Cross-reference [NUL.CRF]: x.ASM(9): error A2042: Constant expected 0 Warning Errors (警告错误 ) 1 Severe Errors (严重错误 ) 提示有错

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档