搜索
bottom↓
回复: 0

汇编,我该如何去定义这17个寄存器呢?

[复制链接]

出0入0汤圆

发表于 2010-3-10 20:24:15 | 显示全部楼层 |阅读模式
大家好!
  
  ATtiny13 的寄存器要如何设置?我用的是AVR Studio 4.18版 ,汇编语言,看了ATtiny13 数据表的 “寄存器概述”,从地址0x00到0x3F,除了保留的都被使用作特殊寄存器了,我现在程序需要用到十七个寄存器,来保存一些数据,就从0x40地址到0x50定义,定义方法如下:

.DEF  OUT1=0x40; 定义输出1寄存器
.DEF  OUT2=0x41; 定义输出2寄存器
.DEF  IN1=0x42;  定义输入1寄存器
.DEF  IN2=0x43;  定义输入2寄存器
.DEF  COUNT1=0x44; 定义键值1寄存器
.DEF  COUNT2=0x46; 定义键值2寄存器
           ;
           ;
.DEF  SAXIN=0x50; 定义刷新用寄存器
编译提示错误, error: syntax error, unexpected INTEGER, expecting REGISTER
试着把0x40,改成R40编译提示也是错误,error: syntax error, unexpected SYMBOL, expecting REGISTER

我该如何去定义这17个寄存器呢?不与特殊寄存器起冲突。应该怎样写代码?地址又指向哪里为好? 请大家指点。

ATtiny13 数据表在 “寄存器概述”中,地址0x09到0x13,提示的是“保留” ,在表格的底部,说明“保留”的寄存器不可写操作,而在第7页中的“通用工作寄存器”描述中,R13到R17所对应的地址在0x0D至0x11,在数据表的一些代码例子中也看到R16和R17在应用,既然保留了,怎么还可以用呢?这二种描述不是有冲突了吗? 请解释一下 。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 15:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表