本帖最后由 allround 于 2011-5-16 21:41 编辑
请教大家,数组常量生成连续的RETLW K指令用C如何表示呢?
代码如下:
//已定义如下数数组常量
const unsigned char SN_Code[3]={0x11,0x22,0x33}; //
//引用语句
SNL=SN_Code[2];
SNM=SN_Code[1];
SNH=SN_Code[0];
//编译结果
175: SNL=SN_Code[2];
357 3003 MOVLW 0x3
358 0084 MOVWF 0x4
359 2033 CALL 0x33
35A 00A1 MOVWF 0x21
176: SNM=SN_Code[1];
35B 3002 MOVLW 0x2
35C 0084 MOVWF 0x4
35D 2033 CALL 0x33
35E 00A2 MOVWF 0x22
177: SNH=SN_Code[0];
35F 3001 MOVLW 0x1
360 0084 MOVWF 0x4
361 2033 CALL 0x33
362 00A3 MOVWF 0x23
030 29E9 GOTO 0x1e9
031 29EB GOTO 0x1eb
032 29EE GOTO 0x1ee
033 3000 MOVLW 0
034 008A MOVWF 0xa
035 0804 MOVF 0x4, W
036 0A84 INCF 0x4, F
037 0782 ADDWF 0x2, F
038 3400 RETLW 0
1CE 29F0 GOTO 0x1f0
1F0 300F MOVLW 0xf
现在的问题是,我想编译器生成连续的RETLW要如何做呢,即想要的是
RETLW 0x11
RETLW 0x22
RETLW 0x33 |