• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >汇编语言 > 汇编语言的符号、标号和变量符号

汇编语言的符号、标号和变量符号

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2017-06-28

匿名通过本文主要向大家介绍了汇编语言标号,汇编语言怎么定义变量,汇编语言定义变量,汇编语言声明全局变量,汇编语言中的变量等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
</div>

计算机汇编语言的一个突出优点就是利用符号(Symbol)来代替目标码,也即大量的二进制代码用符号来表示,使汇编语言源程序容易理解,便于记忆.

在宏汇编语言中所有变量名、标号名、记录名、指令助记符和寄存器名等统称符号.这些符号可通过汇编控制语句的伪操作命令重新命名,也可以通过指令给它定义其它名字及新的类型属性,因而给程序设计带来很大的灵活性.符号是程序员在程序中用来代表某个存储单元、数据、表达式和名字等所定义的标识符,可分为寄存器、标号、变量、数字、名字五类.

汇编语句形式:

START: ADD AX,BUFFER

DATA SEGMENT

BUFFER DB 01H, 02H

DATA  ENDS

JMP START其中START,BUFFER,DATA均为符号,它们分别表示标号,变量名,段名,它们具有完全不同的特定含意.

标号

标号(LABEL)是为一组机器指令所起的名字.标号可有可无,只有当需要用符号地址来访问该语句时,才给此语句赋予标号.标号是程序的目标标志,总是和某地址相联系,供转移或循环指令控制转移使用.

2 1 标号的属性

因标号表示的是指令地址,所以它有三个属性,即段属性、偏移属性和类型属性.段属性即段地址,标号的段必须在CS中.偏移属性是表示该标号到段首地址的距离,单位是字节,是16位无符号整数.类型属性是距离属性,指标号和转移指令的距离,该标号在本段内引用,距离在-128~+127之间时称短标号,距离属性为SHORT,当标号在本段,距离在-32768~+32767之间时称近标号,距离属性为NEAT,当引用标号的指令和标号不在同一段时称远标号,距离属性为FAR.

2 2 标号的定义
  标号的定义有三种方法:

2 2 1 隐含说明标号距离属性为SHORT和NEAR的标号可以使用隐含说明,即在代码段中定义,标识符后加冒号,放在一条汇编指令的操作符前面.例:

NEXT: MOV  AX,BX

----------     

LOOP NEXT

- - - - - - - - -      

NEXT1: CMP  AX,BX

JA  NEXT1 

其中NEXT和NEXT1都是标号名.

2 2 2 用LABEL定义标号

对于属性为NEAR和FAR的标号均可以用这种定义.格式是:

标号名 LABEL   NEAR/FAR

例如:NEXT LABEL NEAR/FAR    

- - - - - - - - -         

LOOP   NEXT

2 2 3 用EQU定义标号

对于属性为NEAR和FAR的标号也可用EQU定义.格式是:

标号名 EQU THIS NEAT/FAR

例如:

NEXT EQU THIS NEAR 

- - - - - - - - -            

LOOP  NEXT

2 3 标号的使用

2 3 1 无条件转移指令中标号作为转移地址

格式:

JMP   标号

其中标号可以是短标号,近标号或远标号

. 2 3 2 循环指令中,标号作为转移地址

格式:LOOP   标号

其中标号只能是短标号

2 3 3 条件转移中标号作为转移地址

格式:

条件转移指令   标号

其中标号只能用短标号

2 3 4 属性分离符

2 .3. 4. 1 取段地址算符SEG

例如:MOV AX,SEG NEXT
  SEG NEXT 就是取标号NEXT所在段的段地址.

2 3 4 2 取偏移量算符OFFSET

例如:MOV BX, OFFSET NEX

其中OFFSET NEXT就是取标号NEXT的有效地址,该语句等效于:LEA BX, NEXT

2 3 4 3 取类型算符TYPE

例如:

MOV AX, TYPE NEXT

若NEXT为近标号,则TYPE NEXT值为FFFFH(-1),若NEXT为远标号TYPE NEXT值为FFFEH(-2).其中-1和-2无真正的物理意义,仅以数值表示标号类型而已.

变量

变量(Variable)代表存放在某些存储单元的数据,这些数据在程序运行期间可以随时被修改.变量是通过变量名在程序中引用,变量名实际上是存储区中一个数据区的名字,以变量名数据的方式供程序员使用,作为指令或伪.指令的操作数,大大方便了程序设计者.

由于变量是在逻辑段中定义.这就决定了变量和标号一样具有段属性、偏移属性和类型属性,前两个和标号的属性相同,而类型属性是指出数据区的数据项的存取单位是字节(BYTE),字(WORD)或数字(DWORD)等.可见变量和标号的主要区别在于变量指的是数据,而标号则对应的是指令

 2 3  下一页</div> </div> </div> </div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 汇编语言的符号、标号和变量符号

相关文章

  • 2017-06-17指令格式
  • 2017-06-28汇编语言的艺术-观念正误(一)
  • 2017-06-28工具提示控件介绍
  • 2017-06-17存储器和端口
  • 2017-06-28GUI编程中以对话框为主要界面的应用程序
  • 2017-06-28汇编源码系列之clock
  • 2017-06-28汇编教程:ODBC基础
  • 2017-06-17通用数据传送指令
  • 2017-06-28汇编源码系列之alarm
  • 2017-06-28汇编源码系列之hdr

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 汇编源码系列之clean
    • “HELLO,WORLD”进阶汇编程序系列
    • 汇编教程之以对话框为主要界面的应用程序
    • 利用汇编从命令行提取文件名
    • 汇编中使用打开对话框
    • 汇编源代码之一个旋转的3D箱子(动画)
    • 一个win32汇编语言程序示例
    • 汇编源代码之GET TIME OF DAY(获取时间)
    • 汇编源码系列之clr
    • Win32中调试API

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有