第二章 汇编语言及汇编程序.doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 汇编语言与汇编程序 § 2.1 机器语言与汇编语言 一.机器语言——机器只能识别二进制编码 机器指令——机器能直接执行的一组二进制代码(命令)——该二进制代码称为机器码(Machine Code). 如: 40H(INC AX 01D8H(ADD AX,BX 指令通常由两部分组成:操作码和操作数 操作码——该指令的功能,即执行什么操作。 操作数——指令操作对象,指明参加操作的数或操作数的地址。 机器指令的集合( 机器语言( 用机器语言编写的程序 ( 机器语言程序 二、汇编语言 机器语言编写程序烦琐,难记忆,不易理解,易出错。用一些助记符来表示指令的操作码,操作数亦用一些符号来表示(符号指令。 如上:40H(INC AX 01D8H(ADD AX, BX 符号指令与机器指令一一对应。 符号指令的集合(符号语言,又称汇编语言(用汇编语言编写的程序(汇编语言程序(不能由计算机直接执行,必须将它翻译成机器语言程序(翻译过程称汇编(翻译程序为汇编程序。 汇编语言源程序 ( 汇编 ( 目标程序 三、宏汇编程序(MASM 允许把一串指令定义为一条宏指令,有宏汇编功能。如MASM(系统程序。宏汇编语言有三类基本指令:符号指令,伪指令,宏指令。 §2.2 常用伪指令与常用算符 每一种计算机语言都规定了自己的符号系统及语法规则。汇编语言也是如此,除符号指令外,还必须正确使用各种符号。汇编中的各种符号由伪指令定义,或为汇编的保留字。 一、汇编语言源程序结构——单模块程序结构 参见教材P、60 一般 程序由三个段组成。教材中程序的小写字母部分均为程序结构。 STACK SEGMENT STACK DW 32 DUP(?) STACK ENDS DATA SEGMENT : DATA ENDS CODE SEGMENT BEGIN PROC FAR ASSUME CS:CODE,SS:STACK,DS:DATA PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX : RET BEGIN ENDP CODE ENDS END BEGIN 因为连接程序为每一个用户程序建立了一个 程序段前缀PSP,在PSP的开始处安排了一条 INT 20H指令,执行该指令结束当前程序返回 调用程序。 而PSP的地址,其段地址寄存在DS和ES中; 偏移地址为0,将DS:0000地址进栈,即PSP地址进栈。 PSP的长度为256个字节,即100H个单元,主要存放了装入程序与DOS连接的信息。 结束用户程序返回DOS有两种方法: 其一:MOV AH ,4CH ;返回DOS INT 21H 其二:INT 20H ;返回调用程序,便于调试 它的机器码是CD20H,当用DEBUG调用EXE文件时,在DS:0000单元中便可看到该指令。 DOS在转移控制权时,将CS指向EXE程序的代码段,SS指向堆栈段,但DS和ES并不指向用户程序的数据段和附加数据段,而是指向PSP。 二 、 常用伪指令(P58) 伪指令不产生机器代码,CPU也不会产生某种操作,它主要告诉汇编程序哪些是数据,哪些是指令,符号约定,程序从何处开始,何处结束,即为汇编控制命令。 伪指令很多,下面主要介绍段定义,过程定义。 1、段定义伪指令(定义一个存储段,一个程序模块可由若干段组成。 格式: 〈段名〉 SEGMENT [定位方式][组合方式][‘类别名’] …… 伪指令或指令 〈段名〉 ENDS 功能: 定义一个以“段名”为名称的存储段。 定位方式,组合方式,‘类别名’(赋给段名的属性,三个可选项主要用于多模块化程序设计,以告诉LINK程序各模块间段如何定位,段与段如何组合,还可连接在

文档评论(0)

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

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

1亿VIP精品文档

相关文档