单片机
返回首页

AVR单片机汇编器伪指令

2017-12-11 来源:eefocus

  伪指令不属于单片机的指令系统,而是由汇编器提供的指令,用于调整存储器中程序的位置、定义宏、初始化存储器等。AVR单片机的汇编器共提供18条伪指令(见附表)。

AVR单片机汇编器伪指令

  
  其中,ORG、DB、DW、EQU读者比较熟悉,这里不再赘述。下面对部分伪指令加以说明。
  
  BYTE-保存单字节数据到SRAM中。BYTE伪指令仅用在数据存储器。为提供数据保存的位置,在BYTE前应有标号。在由CSEG、ESEG定义的代码段和E2PROM段中不能使用BYTE伪指令。
  
  格式LABEL:.BYTE表达式
  
    CSEG-定义程序存储器代码段的起始位置一个汇编文件可以包括若干个代码段,汇编时这些代码段被连成一个代码段。在代码段中不能使用BYTE伪指令。
  
  格式.CSEG

    DSEG-定义数据段的起始位置一个汇编文件,可以包括若干个数据段,汇编时这些数据段被连成一个数据段。数据段等由BYTE伪指令组成。
  
  格式.DSEG

  ESEG-定义E2PROM段的起始位置一个汇编文件可以包括若干个E2PROM段,汇编时这些EEPROM段被连成一个EEPROM段。在EEPROM段中不能使用BYTE伪指令。
  
  格式.ESE

    GDEF-为寄存器设置符号名DEF伪指令允许周符号代替寄存器。一个寄存器可以赋多个符号。
  
  格式.DEF符号=寄存器

    DEVICE-定义使用的器件DEVICE定义程序所使用的器件,若程序中有指定器件不支持的指令,或程序段、E2PROM段超出指定器件的容量,汇编器将给出提示。若不用DEVICE伪指令,则默认器件支持所有指令,也不限制存储器容量。
  
  格式.DEVICEAT90S1200|AT90S2313|AT90S4414|AT90S8515

    AVR单片机的器件不同,指令的条数不同。
  
  AT90S1200有89条最基本指令;Attinyll/12/15/22有90条指令:AT90S2313/2323/2343/2333/4414/4433/4434/8515/90S8534/8535有118条指令;ATmega603/103有121条指令;ATmega161有130条指令。因此在源程序中必须先用伪指令“DEVICE”定义使用的器件名。
  
  INCLUDE-包括另外的文件INCLUDE告诉汇编器从指定的文件开。始读,然后汇编该文件,直至文件结束或遇到EXIT伪指令。
  
  格式 INCLUDE“文件名”

    EXIT-汇编结束若EXIT出现在包括文件中,则从文件中INCLUDE伪指令行继续执行。


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

最新器件
精选电路图
  • 离子检测器电路分析

  • 非常简单的150W功放电路图

  • 如何使用LED驱动器LM3915制作振动计

  • 分享一个电网倾角计电路

  • 使用NE555和磁簧开关的橱柜照明电路

  • 电谐波图形均衡器示意图

    相关电子头条文章