我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 2608|回复: 2

A51学习笔记-单片机

[复制链接]

该用户从未签到

1万

主题

1292

回帖

2万

积分

管理员

积分
29577

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-7-30 19:50:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
<span style="color:#000000;"不用特意写 AJMP LJMP ,直接写 <span style="color:#0000ff;"JMP</span 就行,KEIL 编译器会自动处理<br /<br /如果使用单文件汇编模式,则基本使用 <br /<span style="color:#0000ff;"ORG</span 00H<br /END <br /的架构就可以在中间写代码了。<br /<br /如果采用模块化编程,则可以使用多个编译指示符来控制生成重点还是谈谈模块话编程吧。<br /因为普通编程实在是没啥好说的,直接一个文件写完所有<br /<br /CSEG 定义一个 absolute segment,是固定的,具体用法和 <span style="color:#0000ff;"ORG</span 其实没啥区别,混用也没啥压力<br /CSEG AT 200H<br /其实跟 <span style="color:#0000ff;"ORG</span 是一个道理的,定位到一个绝对地址。不过既然使用了可从定位的形式,那当然就要<br /忘记ORG了。<br /<br /可以通过绝对定位段来指定需要的地址<br /CSEG AT 00H<br /DSEG AT 40H <br /<br /<br /Relocate segment 是很有好处的,例如将模块的空间分配交给链接器 loader 来处理,<br /可以多人合作方便程序以模块的形式,不会将地址空间搞重复<br /方便分配堆栈空间<br /<br /对于复位向量和中断向量则使用 CSEG 定义的绝对地址定位,格式是<br /CSEG AT 0003h<br /<br /SEGMENT 定义一个段,然后 RSEG 选择该段就OK了<br /<br /PROGSEGMENTCODE<br /RSEGPROG<br /<br /而堆栈则可以这样做<br /<br /STACKSEGMENTIDATA<br /RSEGSTACK<br /<span style="color:#ff0000;"DS</span10H <span style="color:#0000cc;";</span 预留16个字节<br /<br /PROGSEGMENTCODE<br /STACKSEGMENTIDATA<br /CONSTSEGMENTCODE<br /INTVETSEGMENTCODE<br /VARSEGMENTDATA<br /BITVARSEGMENTBIT<br /<br /一般来说需要这些段。因为变量是可以自动分配地址的,所以用可从定位段是有很大优势的<br /只需要预留位置就行了,不需要关心变量的具体地址。<br /具体用法:<br /<br /<span style="color:#0000cc;";</span allocate variable<br /RSEGVAR<br /DUMMY<span style="color:#0000cc;":</span<span style="color:#ff0000;"DS</span1<br /<br /<span style="color:#0000cc;";</span allocate vit variable<br /RSEGBITVAR<br /DPY_SW<span style="color:#0000cc;":</spanDBIT 1<br /INT_FLAG<span style="color:#0000cc;":</span DBIT 1<br /<br /<br /宏定义如下,带参数,很简单,例如<br /LOAD_R0 <span style="color:#0000ff;"MACRO</span R0_Val<br /<span style="color:#0000ff;"MOV</span R0<span style="color:#0000cc;",</span #R0_Val<br /<span style="color:#0000ff;"ENDM</span<br /调用时则<br /LOAD_R0 20H<br /</span
回复

使用道具 举报

该用户从未签到

0

主题

352

回帖

853

积分

二级逆天

积分
853

终身成就奖特殊贡献奖原创先锋奖

QQ
发表于 2013-8-28 05:17:16 | 显示全部楼层
回复

使用道具 举报

  • TA的每日心情
    郁闷
    2024-11-7 10:22
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    44

    主题

    5762

    回帖

    1万

    积分

    三级逆天

    积分
    10059

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2017-2-28 06:39:09 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    公告:服务器刚移机,
    大家请不要下载东西。
    会下载失败


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    ( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

    平平安安
    TOP
    快速回复 返回顶部 返回列表