【已解决】求助:IAR不识别基本的8051汇编指令、

2020-02-01 16:17发布

本帖最后由 fc23fcevff23 于 2013-1-22 22:55 编辑

我用的是CC2530芯片,内核是增强型8051。
用C语言编程毫无问题,在C语言编程时,插入__asm("MOV A,#88H");也没问题。javascript:;
但是,纯粹用汇编语言编程时,IAR就不认识基本的8051汇编指令了。
2013-01-22 22 28 02.png (31.32 KB, 下载次数: 0) 下载附件 2013-1-22 22:31 上传

那么,用IAR编写8051的汇编语言就会同一般的书本里面写的格式一样了,也就是:
        org     0000h
        mov     A,#88H
            
        end


补充2:
迪加的zigbee核心板闪光灯程序:


  #include <ioCC2530.h>   
  ORG 0000H
  MOV P1DIR,#0FFH

FLASH:
  CLR P1_0
  CALL DELAY_1S
  SETB P1_0
  
  CLR P1_1
  CALL DELAY_1S
  SETB P1_1
  JMP FLASH
  
  
  DELAY_1S:
  
  MOV     R1,#8
  DELAY_1S_C_3_1:
  MOV     R2,#244
  DELAY_1S_C_3_2:
  MOV     R3,#254
  DJNZ    R3,$
  DJNZ    R2,DELAY_1S_C_3_2
  DJNZ    R1,DELAY_1S_C_3_1
  
  MOV     R2,#5
  DELAY_1S_C_2:
  MOV     R3,#248
  DJNZ    R3,$
  DJNZ    R2,DELAY_1S_C_2
  
  MOV     R3,#1
  DJNZ    R3,$
  
  RET
  
  END

DELAY_1S已经失效,只对传统8051是1S(分毫不差)
至此,我终于可以将CC2530当成是可以硬件仿真的8051单片机来用了,省去了购买C8051F的钱。


干杯,庆祝!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
24条回答
fc23fcevff23
1楼-- · 2020-02-02 17:57
chinabn 发表于 2013-1-23 08:50
语法问题,很正常的。
看GNU的很多规范里面,也是必须用Tab间隔!

哪个GNU规范?
chinabn
2楼-- · 2020-02-02 21:43
不是官方规范。
是一些特定的文件格式,必须用Tab

例如 Font的转换表等等
fc23fcevff23
3楼-- · 2020-02-03 03:02
 精彩回答 2  元偷偷看……
netawater
4楼-- · 2020-02-03 07:59
fc23fcevff23 发表于 2013-1-23 21:10
能讲一讲什么是GNU吗?我在网上搜了搜,还是不太懂。平时也看见很多人的文章后面写着“遵循GNU规范”之类 ...

GNU is Not UNIX,软件界传奇的组织,对软件业贡献巨大,IAR向它的规格致敬是因为用了它贡献的GCC了。
netawater
5楼-- · 2020-02-03 08:26
chinabn 发表于 2013-1-23 08:50
语法问题,很正常的。
看GNU的很多规范里面,也是必须用Tab间隔!

嗯,请尊重前人所作的贡献。
fc23fcevff23
6楼-- · 2020-02-03 09:45
netawater 发表于 2013-1-23 21:24
GNU is Not UNIX,软件界传奇的组织,对软件业贡献巨大,IAR向它的规格致敬是因为用了它贡献的GCC了。 ...

根据你的意思,我推测你想说:IAR用了GCC,而GCC又是GNU下的产物,所以IAR也部分的遵循GNU的某些规则。

不过,我觉得IAR既然作为商业软件,就应该要服从于用户方便。这种TAB缺失,报一个WARNING还行,报ERROR就过头了!

一周热门 更多>