PC汇编语言程序设计 本科 教学课件 作者 王闵 第1-7章第5章.ppt

PC汇编语言程序设计 本科 教学课件 作者 王闵 第1-7章第5章.ppt

  1. 1、本文档共157页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算D=(A+B)*4-C的程序格式为:  TITLEFORMAT 1  DATA SEGMENT ; Define Data Segment VARA DW 5 VARB DW 6 VARC DW 7 VARD DW ? DATA ENDS STACK1 SEGMENT PARA STACK; Define Stack Segment DW 20H DUP(0) STACK1 ENDS CODE SEGMENT ; Define Code Segment ASSUME DS:DATA,SS:STACK1,CS:CODE START: MOV AX, DATA ; Put Data Segment Addr Into MOV DS, AX ; DS Register MOV AX, VARA ADD AX, VARB MOV CL, 2 SAL AX, CL ; (Ax) Multiplied by 4 SUB AX, VARC MOV VARD, AX ; Store Result in VARD MOV AH, 4CH INT 21H ; Return to DOS CODE ENDS END START 5.5.2 用过程返回DOS的程序格式 采用此种方法返回DOS,要求将用户程序定义为一个类型为FAR的过程。在用户程序的开始处要将DS寄存器值压栈,偏移地址 0 压栈,在程序的最后安排一条RET指令。这样当程序运行到RET指令后便可返回DOS。安排上述指令的原因是:每当一个用户程序的可执行文件装入内存后, 用户程序的目的代码一定是紧跟在程序段前缀后面。 程序段前缀是一个由 100H个字节组成的存储区,该区内包含有该用户程序的某些控制信息。 该区的第一、二个字节为INT 20H的指令代码,其功能为结束用户程序返回DOS。 由于用户程序的目的代码装入内存后,DS和ES这两个段寄存器都是指向程序段前缀的,而INT 20H指令的偏移量正好是 0, 因而在用户程序开始处要安排上述两条指令。当用户程序一旦运行到最后一条指令RET,即可从堆栈中弹出INT 20H指令的段基址和段内偏移地址并分别装入CS和IP,执行RET指令后, 即可执行INT 20H指令, 实现从用户程序返回DOS的目的。 (INT 20H也是DOS系统功能子程序的调用。)计算前述公式的程序格式如下: TITLE FORMAT2 DATA SEGMENT ; Define Data Segment VARA DW 5 VARB DW 6 VARC DW 7 VARD DW ? DATA ENDS STACK1 SEGMENT PARA STACK ;Define Stack Segment DW 20H DUP(0) STACK1 ENDS CODE SEGMENT; Define Code Segment PROC1 PROC FAR ; Define Far Procedure ASSUME DS:DATA,SS:STACK1,CS:CODE START: PUSH DS ; Push Segment Value of Program Segment Prefix MOV AX, 0 PUSH AX ; Push Offset into Stack MOV AX, DATA; Put Data Segment Addr Into MOV DS, AX; DS Register MOV AX, VARA ADD AX, VARB MOV CL, 2 SAL AX, CL; (Ax) Multiplied by 4 SUB AX, VARC MOV VARD, AX; Store Result in VARD RET ; Return to DOS PROC1 ENDP CODE ENDS END START 5.6 汇编语言程序的上机过程 目前根据使用的软件, 汇编语言程序的上机有两种方式, 一种是在DOS状态下逐步调用相关的软件对源程序进行编辑、汇编、 连接和运行,完成整

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档