您好、欢迎来到现金彩票网!
当前位置:手机棋牌游戏下载 > 伪指令 >

MCS-51单片机汇编伪指令的用法解析

发布时间:2019-06-07 18:53 来源:未知 编辑:admin

  再定位段选择指令为RSEG,用于选择一个已在前面定义过的再定位段作为当前段。

  END指令用来控制汇编结束。在每个汇编程序的最后一行必须有一条END指令,

  用 EQU 指令赋值以后的字符名,可以用作数据地址、代码地址、位地址或者

  表达式中可包含符号、字符串、或表达式等项,各个项之间用逗号隔开,字符串应用引号括起来。

  括号内的标号是可选项,如果使用了标号,则标号的值将是表达式表中第一字节的地址。

  2:编译器只是把用 EQU 定义的标识符当作常数而已,在很多情况下当用户把该标识符用错时,编译器不会给出警告或报错。

  例如,假设想在 IDATA 区定义一个变量,如果用 EQU 方式作如下定义:

  MYBYTE EQU 87H ;(其实编译器只是将 MYBYTE 视为一个常量而已)如果想将该变量(位于 IDATA 区)赋值到累加器 A,正确的访问方式应该是

  编译器不会为此报错,结果执行的操作是将地址为 87H 的特殊功能寄存器的内容赋值到 A,而不是将 IDATA 区的 87H 赋值到 A,与用户的本意大相径庭。

  如果使用了下面描述的方式,则编译器会帮你指出此类错误。建议 EQU 只用于定义常数,不要做其它用途。

  $NOMOD51 ;如果不使用默认的 51 特殊功能寄存器定义,可以用本语句取消。

  ;---------- 可位寻址的特殊功能寄存器中的位定义(仅作示范,不全)

  ; 所以在分配 DATA 区字节变量和 BIT 区位变量时要注意不要重叠。

  DSEG AT 2EH ;在 DATA 区的可位寻址区域定义可位寻址的字节变量

  CSEG AT 0023H //串口中断地址,其它中断地址的指定类似此方法。

  汇编器是运行于IBM PC系列及其兼容机上的交叉汇编软件,其主要功能是将MCS-51系列单片机汇编语言源程序翻译成符合Intel目标文件格式的可再定位的目标代码,经过L51连接器的连接和装配,产生可被DS51仿真器调试或其它任何一种与Intel 目标文件格式兼容的仿真器使用的绝对目标代码。

  在A51中可使用符号表示数值(EQU),地址和寄存器名,符号具有段类型,作用域,值域和可变性等属性。

  ”,以示区别,每行只能定义一个标号,标号一经定义,其值为当前地址计数器的当前值,因此标号代表了指令和数据的地址,不能重复定义。

  宏汇编语言定义了代表CPU寄存器的特殊符号,这些是保留的关键字,AR0---AR7:表示当前工作寄存器的R0—R7的绝对地址,它的值取决于指令所选择的工作寄存器组。

  有三种1):算术运算符包括:+,-(正负号),加---+,减,乘,除,MOD(取模),()—括号,改变运算顺序.2):二进制运算符号:用来对二进制数进行按位取反,移位或逻辑运算。包括:NOT(按位取反),HIGH(取右边操作数的高8位,LOW(取右边操作数的低8位)SHR(右移位),SHL(左移位),AND(逻辑与),OR(逻辑或),XOR(逻辑异或).3):关系运算符:》=,《=,《》,=,《,》。

  所有运算符的优先级顺序:()àNOT,HIGH,LOWà+,-(正负号)à*,/,MODà+,-(加减)àSHR,SHLàAND,OR,XORà

  数值表达式由运算符和操作数组成,一个操作数又可以是表达式,与符号具有段属性一样,表达式也具有段类型属性,表达式的类型依赖于操作数的类型。表达式的类型如下:BIT,NUMBER,CODE,DATA,IDATA,XDATA.大多数的表达式是无类型的,当表达式中包含有段类型的操作数或者是子表达式时,运算结果的段类型遵循下面的原则:

  对于单目运算符:(+/-/HIGH/LOW/NOT)表达式的结果与操作数具有相同的类型

  对加减运算,只有当其中的一个操作数具有段类型的时候,运算结果才具有相同的段类型,如果两个操作数具有段类型,即使他们的段类型一样,结果也是无类型的

  总结:只有当操作数加上或者是减去一个无类型时,才可能产生一类型,其他所有的组合均产生无类型的表达式

  可以利用这些伪指令在汇编程序中定义符号,保留和初始化存储空间,定位目标代码等功能,伪指令中除DB,DW外均不产生目标代码,但可以改变汇编器的状态,并将有关信息(如段定义)加到目标文件中。

  指令可声明一个可再定位(区别于CSEG,DSEG,XSEG,BSEG,ISEG等 定义的在相对应的空间固定地址定义的绝对段—在连接的过程中不允许重新定位)的段符号和一个可选的再定位类型,段符号可以用来定义段,L51连接器可将多个模块内的具有相同段名和再定位类型的几个段合成为一个段。段类型说明了段所处的地址空间。

  如果是编写的汇编程序要与C源程序接口,即被C源程序调用,则全部的汇编子程序所命名的定义的代码段的段名必须是可用SEGMENT来定义的,而且名字的命名的方法也应该参照C51编译器产生的局部段的段名的转换规则。段名的作用主要是在汇编的时候用RSEG来激活的,在连接定位的时候用到的。与段名相应的是用于存储和传递参数的别名,可以在汇编源程序中直接应用局部段的别名,这个别名主要是在传递函数参数的时候用的。在汇编程序中要用PUBLIC 声明被其他模块引用的全局符号。

  定义一个起始地址必须是256的整数倍的段,段的绝对地址由L51自己计算,该类型只允许用于XDATA和CODE类型段。

  定义一个由L51连接后必须包含在256B的块中,只适用于XDATA和CODE段。

  伪指令定义一表示数值或寄存器的符号,该符号可用于表达式或助记符指令的操作数,EQU指令定义的符号不能被改变或重新定义,其段类型取决于表达式中的操作数类型类型,无类型的EQU符号可用于任何表达式中。

  指令的功能与EQU指令的功能一样,区别是SET指令定义的符号可以再定义和改变。

  指令定义一表示MCS-51内部数据存储器字节地址的符号,表达式必须是一个绝对地址值或者是一个简单的再定位表达式(即数值确定的,且其值必须在0—255之间,类型必须是DATA或者是NUMBER类型)

  均是也和DATA一样,都是定义一个代表相应存储空间单元的地址符号,表达式也必须是相对应的类型或者是NUMBER类型。

  指令以字节为单位,在内部或者外部地址空间中保留存储空间,表达式中不能包含前向地址参考量,可为除BIT段的任何类型。该伪指令语句使当前地址计数器加上表达式的值,需要注意的是地址计数器加上表达式结果的值不能超出地址空间的范围。(无论是汇编器还是编译器,对每一种不同类型的地址空间(DATA,CODE,PDATA,XDATA,BIT)都产生一个独立的地址计数器,每汇编一条指令,计数器都会自动增加,不过可以用ORG伪指令改变当前段地址计数器,用ORG伪指令表达式的值作为当前段地址计数器的初值,而当前段的改变可以用RSEG伪指令来改变。

  以位为单位在可位寻址段内保留存储空间, 表达式中不能包含前向地址参考量或者是再定位的符号和外部符号,该指令使当前地址计数器增加表达式结果值,其增加量以位为单位

  这两个指令的作用相同,均是以字节或者是字初始化程序存储空间,上面是保留存储空间,存储空间可以使RAM和ROM,而这两个指令直接就是初始化程序存储空间

  MCS-51系列单片机并行P2口也有两种功能,对于内部有程序存贮器的单片机(如定制的8051),P2...

  布尔处理功能是MCS-51系列单片机的一个重要特征,这是出于实际应用需要而设置的。布尔变量也即开关变...

  MCS-51单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独...

  该控制系统选用的是SM8954A单片机。 SM8954A是台湾新茂公司(SyncMOS)推出的单片机...

  运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行; 控制器:是计算机的控制指挥部...

  MCS-51有一个程序状态字寄存器PSW,用来保存指令执行结果的标志,供程序查讯和判别。PSW是特殊...

  MCS-51系列CHMOS型单片机CPU执行一条置位PCON.1(PD)的指令,就使器件进入掉电方式...

  GATE为1时,定时器的计数受外部引脚输入电平的控制(INT0控制T0的运行,INT1控制T1的运行...

  典型的MCS-51单片机有四个双向8位I/O口,分别记作P0、P1、P2、P3,每一个口都由口锁存器...

  本系统从模块化软件设计理论出发, 将软件系统分成了几个子模块, 这样可以增强各个模块的可操作性, 便...

  MCS-51单片机常见问题14问 一、MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么?...

  指令(instruction):告诉计算机从事某一特殊运算的代码,如数据传送指令、算术运算指令、位运...

  MCS-51单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器C...

  本文以银行排队系统作为例子,提出IIC总线单片机排队系统接口设计。通过IIC总线增加系统接口种类,可...

  阅读一些PIC单片机的源程序开始段,会发现有一些特殊指令助记符,这些助记符与指令系统的助记不同,没有...

  选用MCS-51系列AT89S51单片机作为微控制器,选择两个四联的共阴极数码管组成8位显示模块,由...

  51汇编伪指令 伪指令是对汇编起某种控制作用的特殊命令,其格式与通常的操作指令一样,

http://tennisinspokane.com/weizhiling/100.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有