- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
表达式:常数、寄存器、标号、变量与运
您可能关注的文档
- 毕业设计-基于单片机的吉他调音器设计.doc
- 毕业设计-基于单片机的多位抢答器设计.doc
- 毕业设计-基于单片机的十字路口交通灯设计.doc
- 毕业设计-基于单片机的四层楼电梯控制系统设计.doc
- 毕业设计-基于单片机的多功能智能小车设计(电路+程序+论文).doc
- 毕业设计-基于单片机的全自动洗衣机控制器设计.doc
- 毕业设计-基于单片机的多功能环境检测系统设计.doc
- 毕业设计-基于单片机的多点温度检测系统的设计.doc
- 毕业设计-基于单片机的多用太阳能手机充电器设计.docx
- 毕业设计-基于单片机的多路温度采集系统设计.doc
- 2024年05月山东交通职业学院招考聘用博士研究生50人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽芜湖市弋江区老年学校(大学)工作人员特设岗位公开招聘2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东东营河口区教育类事业单位招考聘用22人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用100人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东威海职业学院招考聘用高层次人才2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽石台县事业单位工作人员33人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东滨州市博兴县事业单位公开招聘考察笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽蚌埠固镇县湖沟镇选聘村级后备干部7人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东省安丘市教育和体育局所属事业单位学校公开2024年招考232名工作人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东临沂临港经济开发区工作人员(5人)笔试历年典型题及考点剖析附带答案含详解.docx
文档评论(0)