使用SDCC中的sdas8051写单片机汇编程序(2)

;-----------------------------------------------------
;    sy3_2.asm
;        the P1 port exam
;------------------------------------------------------
    .module sy3_2
    .globl start
    .globl P1_3
    .globl P1_2
    .area RSEG (ABS,DATA)
    .org 0x0000
    P1_3 = 0x0093
    P1_2 = 0x0092
    .area HOME (ABS,CODE)
    .org 0x0000
    sjmp start
    .org 0x0030
start:
    setb P1_3
IF1:
    jnb P1_3,ELSE1
THEN1:
    clr P1_2
    sjmp ENDIF1
ELSE1:   
    setb P1_2
ENDIF1:
    sjmp start
    sjmp .
=======================================================================
与keil中的第一大不同就是sdas8051中的伪指令都用  .  开头。
比如定位伪指令为   .org
还有.area伪指令,貌似在keil中没看到。
我的理解就是声明一段区域,是绝对地值,还是重定位的,等等。。。这个很重要,但实在英文不好,说不清还请有兴趣的,去相关网站上下载手册。我会在文章的最后给出相关链接。
其余没有什么大的不同。
还要介绍以下怎么汇编这个文件。
汇编用   sdas8051 -o sourcefile.rel -l -s sourcefile.asm   就可以的到.rel .lst .sym的文件。
至于链接,需要自己写个.lnk的文件。
参考格式如下:

sourcefile.lnk:

##############################################################以下是文本中的内容

-myux

-i sourcefile.ihx

-Y

sourcefile.rel

-e

############################################################结束了

用命令sdld -f sourcefile.lnk

####################################################################################################

相关链接:

sdcc官网,可以下到手册          

ASXXX官网                              

好了,基本介绍完了,只是给大家介绍个思路,在具体我的作业就完不成了。大学还是很苦的。这是我的第一篇技术博客,以后还会努力的。在这里要感谢我的舍友,我在他去上课的时候偷用他的上网号,才完成了这篇博客。真的谢谢他,嘿嘿!谁让他不管什么密码都是同一串数字。

希望这些对Linux下想玩单片机的朋友有点用。以上是个人的一点点心得,有错误的地方还请大家指教,互相帮助,才能进步。这也是我喜爱开源的原因之一。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwxdzz.html