新版 ChipON---IDE编译器,试用经验
从官网上下载了最新版的 ChipON---IDE编译器,经测试,已改的比较实用了。一般的 常数表格 能放在 ROM中,在占用RAM空间,在程序中正常引用。
嵌入式汇编,已支持使用标号了, 很实用。
建议复杂一点的中断程序,可使用嵌入式汇编编程,中断过程中用到的变量,采用全局变量定义,再在汇编中引用,效果很好。
RE: 关于 新版 ChipON---IDE编译器,库优化及BUG
碰到什么说什么,仅供参考。1.int类型加法,下图中,框线中的指令可优化去除,因为最高位无需进位,同理,long类型加法,最高位加法后,这两条判断指令,也可优化掉。
本帖最后由 laoxu 于 2016-6-19 09:46 编辑
2.int型 转 long型,库程序有问题,见下图框线中程序。
框中程序的目的,是用 CY - Ia.bit15 - Ib.bit15 , 作为扩展的符号位。
假如: Ia = -1, Ib = 2;即 Ia = 0xffff, Ib = 0x0002;
相加后值 为:0x0001(正数,无进位,CY=0)
根据CY - Ia.bit15 - Ib.bit15 计算,扩展的符号位为负数,明显不对。
这部分库程序应改为:
_00009_DS_
BANKSEL r0x1003
000038 **** MOVZR0, 0x8e MOV R0, r0x1003
000039 9800 MOV R1, #0 MOV R1,# 0x00
00003a 778f JNB R0, 7 JNB R0, 7
00003b 98ff MOV R1, #0xff MOV R1,# 0xff
BANKSEL r0x1009
00003c 5194 MOV 0x94, R1 MOV r0x1009, R1
BANKSEL r0x1004
00003d 5190 MOV 0x90, R1 MOV r0x1004, R1
不能用C吗? zhaor 发表于 2016-6-20 10:28
不能用C吗?
用C, 上图是 C编译后的汇编代码。
页:
[1]