首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

跟我学单片机——第二十六课 伪指令分析

跟我学单片机——第二十六课 伪指令分析

1设置起始地址ORG


格式: ORG nn    ;nn是16位二进制数


;nn给出了存放的超始地址值


给程序起始地直或数据块的起始地址赋值。它总是出现在每段源程序或数据块的开始。在一个源程序中可以多次使用ORG命令,以规定不同程序段或数据块的起始位置,所规定的地址从小到大,不允许重叠。


例如:  ORG    0000H


MAIN:NOV        SP,#6FH


。。。。。。。。。。。。


ORG 1000H


       SUB1:MOV             A,#74H        


2、定义字节命令   DB


       格式:    标号:DB       <字节常数或字符>


       例:       ORG       1000H


       TABLE1:DB   00,01,04,09,10H,19H


   汇编后则(1000H)=00H


           (1001H)=01H


           (1002H)=04H   


(1003)=09H


(1004)=10H


(1005)=19H


3、定义字命令       DW


例:       ORG       2000H


  ABC:    DB          1234H,2468H,1357H,。。。。。。。


汇编后则(2000H)=12H


              (2001H)=34H


              (2002H)=24H


              (2003H)=68H


              (2004H)=13H


              (2005H)=57H


4、赋值命令       EQU


   格式:    标号:       EQU       nn或汇编符号


   例:       BLCK       EQU       #1000H


              TEST       EQU       28H(直接地址单元)


              TEST1       EQU       #28H(立即数)


              NMB       EQU       #10


              MOV       A,TEST(=direct)                  执行后,A=(28H)


              若28H中存放着56H,则A=56H


              MOV       A,TEST1(=#data)                   A=28H


              MOV       R2,NMB                                   (R2)=10


              MOV       DPTR,BLOCK


5、源程序结束       END


格式:    标号:       END


返回列表