汇编语言785957029.doc

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

4.1 概述 汇编语言源程序 机器语言:二进制数形式的指令和数据。 助记符:用便于记忆的英语单词表示的指令操作码。它反映了指令的功能和主要特征,便于人们理解和记忆。 汇编语言:指令助记符,符号地址,标号,伪指令等语言元素的集合以及这些元素使用的规则。 用汇编语言编写的程序叫汇编语言源程序。 汇编程序 汇编源程序需翻译成机器语言,变成可执行文件,机器才能执行,这个翻译过程叫汇编。 高级语言中称该过程为“解释”或“编译”。执行翻译的程序称为“汇编程序”。 汇编语言程序设计与执行过程 输入汇编语言源程序源文件 .ASM 汇编(编译)目标文件 .OBJ 链接可执行文件 .EXE 调试最终程序汇编语言源程序的结构 汇编语言源程序通常由一个或几个程序模块组成,每个模块一般由三个逻辑段组成: 数据段—存放数据、变量 堆栈段—堆栈区域 代码段—存放程序指令 一个基本的汇编语言程序框架: stack SEGMENT PARA stack ??? DB 100 DUP(stack’) stack ENDS data SEGMENT ??? 数据、变量在此定义 data ENDS code SEGMENT ??? ASSUME CS:code, DS:data, ES:data start: MOV AX, data MOV DS, AX MOV ES, AX 此处加入你自己的程序段 MOV AL, 4CH INT 21H code ENDS ??? END start 汇编语言语句类型及格式 汇编语言的语句有两种: 指令性语句:由8086指令助记符构成的语句 格式为: 标号: 指令助记符 目的操作数,源操作数 ;注释 指令性语句由CPU执行,每一条指令性语句都有一条机器码指令与其对应;? 指令性语句汇编时生成机器码 指示性语句:由伪指令构成的语句? 格式为:? 名字 伪指令 操作数1,操作数2,…,操作数n ;注释 注:各部分之间至少要用一个空格作为分隔符。 指示性语句由汇编程序执行。它指出汇编程序应如何对源程序进行汇编,如何定义变量、分配存储单元以及指示程序开始和结束等。指示性语句无机器码指令与其相对应。 指示性语句汇编时不生成机器码 语句的构成元素: 标号:指令的符号地址,用来代表指令在存储器中的地址。只能出现在指令性语句中,标号后应加上冒号。 名字:段、过程、变量的名字,用来代表它们在存储器中的地址。只能出现在指示性语句中,名字后不加冒号。? 指令助记符:8086助记符、伪指令 操作数:即指令的操作对象 –对指令性语句——0,1,2个 –对指示性语句——根据需要而定 –操作数之间以逗号分隔 –操作数可以是:寄存器、存储单元、常数或表达式 注释:以分号开头,可放在指令后,也可单独一行。 数据项与表达式 数据项包括常量、变量、标号及表达式。 常量 二进制数,以B结尾。????? ??? 。 十进制数,???? ??? 如85。 十六进制数,以H结尾。???? ??? 第1个数字为A-F时,前面应加0,如0F160H。 字符串:用引号括起来的1个或多个字符。??? ??? 如‘ERROR!’, ’a’,汇编时被翻译成对应的ASCII码45H,52H,52H,4FH,52H,21H和61H。 标号:指令所在内存单元的符号地址指令性语句 有三个属性:? 段地址:即标号所在段的段地址;? 偏移量:标号所代表存储单元的段内偏移地址;? 类 型:NEAR或FAR:? ???? NEAR—表示标号所在语句与转移指令/调用指令在同一码段内,跳转时 只需改变IP即可。 ???? FAR—标号所在语句与转移指令/调用 指令不在同一代码段内。 ???? 若没有对类型进行说明,默认为NEAR。 标号通常作为转移指令或CALL指令的转移地址。 变量:?即内存中的存储单元或数据区 是存储单元(数据区)的符号地 址或名字。 变量也有三个属性: 段地址—变量所在段的段地址 偏移量—变量单元地址与段首地址之间的位移量。 类 型—有BYTE、WORD和DWORD三种。 变量在程序中作为存储器操作数被引用。 标号和变量名的使用规则 组成:A-Z(不分大小写), 0-9, ?@ . _ $ 不能以数字开头,句号(.)只能作为首字符 长度小于31个字符 不能与保留字(指令助记符、伪指令、预定义符号等)重名 不能重复定义 例如: 正确的:LP1, AGAIN, NEXT, _GO, OK_1 ?? ?? 错误的:4M, LOOP, AAA, #HELP, +ONE 表达式:常数、寄存器、标号、变量与运

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档