Subject:
Re: picp 0.5
From:
Craig Franklin ####@####.####
Date:
3 Nov 2002 02:37:28 -0000
Message-Id: <3DC48B5E.2CDEA73F@attbi.com>
I removed your 18xx config error message when I added support for
inhx32. I think MPASM changed to use this hex format by default.
Inhx8m is still the default for GPASM. That is why the MPASM output has
the extra line. When you extend passed the 64K limit on inhx8m, GPASM
generates an error.
It looks like the config directives are commented out in your example.
If you remove the comments, the 64K limit error message is generated.
If you then switch to inhx32, the file is generated correctly by GPASM.
(I think.)
Scott Dattalo wrote:
>
> On Fri, 1 Nov 2002, Craig Franklin wrote:
>
> > Tell me more about the config word differences.
>
> Well, I can't because I don't know how MPASM puts the config info into the
> .hex file.
>
> I've attached three files: a source, t.asm, and the resulting assembled
> output for gpasm and mpasm. The diff between the two occurs in the first
> line only. MPASM has this line, but gpasm doesn't:
>
> :020000040000FA
>
> When I added the 18F stuff to gpasm a long time ago, I made it print an
> error whenever the __CONFIG directive was used (or more specifically, if
> data was placed into an address beyond 64k). What's strange is that
> __CONFIG directives appear to have no effect in MPASM either (although
> MPASM doesn't display an error)! Configuration information is entered
> either when the project is created or when you're about to program a part
> - it's not part of the .asm like it is for the 14-bit cores. Hmm.
>
> As a result, I don't know HOW or even IF the config info is stored in the
> .hex file. Which I guess brings up the question, how does picp program the
> configuration bits for an 18F device?
>
> Scott
>
> ------------------------------------------------------------------------
> Name: t.asm
> t.asm Type: Plain Text (TEXT/PLAIN)
> Encoding: BASE64
>
> Name: t.hex.gpasm
> t.hex.gpasm Type: Plain Text (TEXT/PLAIN)
> Encoding: BASE64
>
> Name: t.hex.mpasm
> t.hex.mpasm Type: Plain Text (TEXT/PLAIN)
> Encoding: BASE64
gpasm-0.10.5 alpha t.asm 11-2-2002 20:12:24 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001
00002 list p=18f452,t=ON,c=132,n=80
00003 radix dec
00004
00005
00006
00007 include "p18f452.inc"
00001 LIST
00002 ; P18F452.INC Standard Header File, Version 1.1 Microchip Technology, Inc.
00855 LIST
00008
300002 FFFF 00009 __CONFIG _CONFIG2H, _WDT_ON_2H
300000 FEFF 00010 __CONFIG _CONFIG1H, _HSPLL_OSC_1H
00011
00012
00013
00014
0000 00015 org 0
00016
0000 0E54 00017 MOVLW 'T'
00018
0002 0C54 0C68 00019 dt "This is a test."
0006 0C69 0C73
000A 0C20 0C69
000E 0C73 0C20
0012 0C61 0C20
0016 0C74 0C65
001A 0C73 0C74
001E 0C2E
0020 6F73 656D 00020 db "some bytes"
0024 6220 7479
0028 7365
gpasm-0.10.5 alpha t.asm 11-2-2002 20:12:24 PAGE 2
SYMBOL TABLE
LABEL VALUE
A 00000000
ACCESS 00000000
ACKDT 00000005
ACKEN 00000004
ACKSTAT 00000006
ADCON0 00000FC2
ADCON1 00000FC1
ADCS0 00000006
ADCS1 00000007
ADCS2 00000006
ADDEN 00000003
ADFM 00000007
ADIE 00000006
ADIF 00000006
ADIP 00000006
ADON 00000000
ADRESH 00000FC4
ADRESL 00000FC3
AN0 00000000
AN1 00000001
AN2 00000002
AN3 00000003
AN4 00000005
AN5 00000000
AN6 00000001
AN7 00000002
BANKED 00000001
BCLIE 00000003
BCLIF 00000003
BCLIP 00000003
BF 00000000
BOR 00000000
BRGH 00000002
BSR 00000FE0
C 00000000
CCP1 00000002
CCP1CON 00000FBD
CCP1IE 00000002
CCP1IF 00000002
CCP1IP 00000002
CCP1M0 00000000
CCP1M1 00000001
CCP1M2 00000002
CCP1M3 00000003
CCP1X 00000005
CCP1Y 00000004
CCP2 00000001
CCP2A 00000003
CCP2CON 00000FBA
CCP2IE 00000000
CCP2IF 00000000
CCP2IP 00000000
CCP2M0 00000000
CCP2M1 00000001
CCP2M2 00000002
CCP2M3 00000003
CCP2X 00000005
CCP2Y 00000004
CCPR1H 00000FBF
CCPR1L 00000FBE
CCPR2H 00000FBC
CCPR2L 00000FBB
CFGS 00000006
CHS0 00000003
CHS1 00000004
CHS2 00000005
CK 00000006
CKE 00000006
CKP 00000004
CLKO 00000006
CREN 00000004
CS 00000002
CSRC 00000007
gpasm-0.10.5 alpha t.asm 11-2-2002 20:12:24 PAGE 3
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
D 00000005
DATA_ADDRESS 00000005
DC 00000001
DC1B0 00000004
DC1B1 00000005
DC2B0 00000004
DC2B1 00000005
DONE 00000002
D_A 00000005
EEADR 00000FA9
EECON1 00000FA6
EECON2 00000FA7
EEDATA 00000FA8
EEIE 00000004
EEIF 00000004
EEIP 00000004
EEPGD 00000007
FAST 00000001
FERR 00000002
FREE 00000004
FSR0 00000000
FSR0H 00000FEA
FSR0L 00000FE9
FSR1 00000001
FSR1H 00000FE2
FSR1L 00000FE1
FSR2 00000002
FSR2H 00000FDA
FSR2L 00000FD9
GCEN 00000007
GIE 00000007
GIEH 00000007
GIEL 00000006
GO 00000002
GO_DONE 00000002
I2C_DAT 00000005
I2C_READ 00000002
I2C_START 00000003
I2C_STOP 00000004
IBF 00000007
IBOV 00000005
INDF0 00000FEF
INDF1 00000FE7
INDF2 00000FDF
INT0 00000000
INT0E 00000004
INT0F 00000001
INT0IE 00000004
INT0IF 00000001
INT1 00000001
INT1IE 00000003
INT1IF 00000000
INT1IP 00000006
INT2 00000002
INT2IE 00000004
INT2IF 00000001
INT2IP 00000007
INTCON 00000FF2
INTCON1 00000FF2
INTCON2 00000FF1
INTCON3 00000FF0
INTEDG0 00000006
INTEDG1 00000005
INTEDG2 00000004
IPEN 00000007
IPR1 00000F9F
IPR2 00000FA2
IRVST 00000005
LATA 00000F89
LATB 00000F8A
LATC 00000F8B
LATD 00000F8C
LATE 00000F8D
LVDCON 00000FD2
gpasm-0.10.5 alpha t.asm 11-2-2002 20:12:24 PAGE 4
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
LVDEN 00000004
LVDIE 00000002
LVDIF 00000002
LVDIN 00000005
LVDIP 00000002
LVDL0 00000000
LVDL1 00000001
LVDL2 00000002
LVDL3 00000003
N 00000004
NOT_A 00000005
NOT_ADDRESS 00000005
NOT_BOR 00000000
NOT_DONE 00000002
NOT_PD 00000002
NOT_POR 00000001
NOT_RBPU 00000007
NOT_RC8 00000006
NOT_RI 00000004
NOT_T1SYNC 00000002
NOT_T3SYNC 00000002
NOT_TO 00000003
NOT_TX8 00000006
NOT_W 00000002
NOT_WRITE 00000002
OBF 00000006
OERR 00000001
OSC2 00000006
OSCCON 00000FD3
OV 00000003
P 00000004
PCFG0 00000000
PCFG1 00000001
PCFG2 00000002
PCFG3 00000003
PCL 00000FF9
PCLATH 00000FFA
PCLATU 00000FFB
PD 00000002
PEIE 00000006
PEN 00000002
PIE1 00000F9D
PIE2 00000FA0
PIR1 00000F9E
PIR2 00000FA1
PLUSW0 00000FEB
PLUSW1 00000FE3
PLUSW2 00000FDB
POR 00000001
PORTA 00000F80
PORTB 00000F81
PORTC 00000F82
PORTD 00000F83
PORTE 00000F84
POSTDEC0 00000FED
POSTDEC1 00000FE5
POSTDEC2 00000FDD
POSTINC0 00000FEE
POSTINC1 00000FE6
POSTINC2 00000FDE
PR2 00000FCB
PREINC0 00000FEC
PREINC1 00000FE4
PREINC2 00000FDC
PRODH 00000FF4
PRODL 00000FF3
PSA 00000003
PSP0 00000000
PSP1 00000001
PSP2 00000002
PSP3 00000003
PSP4 00000004
PSP5 00000005
PSP6 00000006
gpasm-0.10.5 alpha t.asm 11-2-2002 20:12:24 PAGE 5
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
PSP7 00000007
PSPIE 00000007
PSPIF 00000007
PSPIP 00000007
PSPMODE 00000004
R 00000002
RA0 00000000
RA1 00000001
RA2 00000002
RA3 00000003
RA4 00000004
RA5 00000005
RA6 00000006
RB0 00000000
RB1 00000001
RB2 00000002
RB3 00000003
RB4 00000004
RB5 00000005
RB6 00000006
RB7 00000007
RBIE 00000003
RBIF 00000000
RBIP 00000000
RBPU 00000007
RC0 00000000
RC1 00000001
RC2 00000002
RC3 00000003
RC4 00000004
RC5 00000005
RC6 00000006
RC7 00000007
RC8_9 00000006
RC9 00000006
RCD8 00000000
RCEN 00000003
RCIE 00000005
RCIF 00000005
RCIP 00000005
RCON 00000FD0
RCREG 00000FAE
RCSTA 00000FAB
RD 00000000
RD0 00000000
RD1 00000001
RD16 00000007
RD2 00000002
RD3 00000003
RD4 00000004
RD5 00000005
RD6 00000006
RD7 00000007
RE0 00000000
RE1 00000001
RE2 00000002
READ_WRITE 00000002
RI 00000004
RSEN 00000001
RX 00000007
RX9 00000006
RX9D 00000000
R_W 00000002
S 00000003
SCK 00000003
SCL 00000003
SCS 00000000
SDA 00000004
SDI 00000004
SDO 00000005
SEN 00000000
SMP 00000007
SPBRG 00000FAF
SPEN 00000007
gpasm-0.10.5 alpha t.asm 11-2-2002 20:12:24 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
SREN 00000005
SS 00000005
SSPADD 00000FC8
SSPBUF 00000FC9
SSPCON1 00000FC6
SSPCON2 00000FC5
SSPEN 00000005
SSPIE 00000003
SSPIF 00000003
SSPIP 00000003
SSPM0 00000000
SSPM1 00000001
SSPM2 00000002
SSPM3 00000003
SSPOV 00000006
SSPSTAT 00000FC7
STATUS 00000FD8
STKFUL 00000007
STKPTR 00000FFC
STKUNF 00000006
SWDTEN 00000000
SYNC 00000004
T08BIT 00000006
T0CKI 00000004
T0CON 00000FD5
T0CS 00000005
T0IE 00000005
T0IF 00000002
T0IP 00000002
T0PS0 00000000
T0PS1 00000001
T0PS2 00000002
T0SE 00000004
T1CKI 00000000
T1CKPS0 00000004
T1CKPS1 00000005
T1CON 00000FCD
T1INSYNC 00000002
T1OSCEN 00000003
T1OSI 00000001
T1OSO 00000000
T1SYNC 00000002
T2CKPS0 00000000
T2CKPS1 00000001
T2CON 00000FCA
T3CCP1 00000003
T3CCP2 00000006
T3CKPS0 00000004
T3CKPS1 00000005
T3CON 00000FB1
T3INSYNC 00000002
T3SYNC 00000002
TABLAT 00000FF5
TBLPTRH 00000FF7
TBLPTRL 00000FF6
TBLPTRU 00000FF8
TMR0H 00000FD7
TMR0IE 00000005
TMR0IF 00000002
TMR0IP 00000002
TMR0L 00000FD6
TMR0ON 00000007
TMR1CS 00000001
TMR1H 00000FCF
TMR1IE 00000000
TMR1IF 00000000
TMR1IP 00000000
TMR1L 00000FCE
TMR1ON 00000000
TMR2 00000FCC
TMR2IE 00000001
TMR2IF 00000001
TMR2IP 00000001
TMR2ON 00000002
gpasm-0.10.5 alpha t.asm 11-2-2002 20:12:24 PAGE 7
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
TMR3CS 00000001
TMR3H 00000FB3
TMR3IE 00000001
TMR3IF 00000001
TMR3IP 00000001
TMR3L 00000FB2
TMR3ON 00000000
TO 00000003
TOSH 00000FFE
TOSL 00000FFD
TOSU 00000FFF
TOUTPS0 00000003
TOUTPS1 00000004
TOUTPS2 00000005
TOUTPS3 00000006
TRISA 00000F92
TRISB 00000F93
TRISC 00000F94
TRISD 00000F95
TRISE 00000F96
TRISE0 00000000
TRISE1 00000001
TRISE2 00000002
TRMT 00000001
TX 00000006
TX8_9 00000006
TX9 00000006
TX9D 00000000
TXD8 00000000
TXEN 00000005
TXIE 00000004
TXIF 00000004
TXIP 00000004
TXREG 00000FAD
TXSTA 00000FAC
UA 00000001
VREFM 00000002
VREFP 00000003
W 00000000
WCOL 00000007
WDTCON 00000FD1
WR 00000001
WREG 00000FE8
WREN 00000002
WRERR 00000003
Z 00000002
_BORV_20_2L 000000FF
_BORV_27_2L 000000FB
_BORV_42_2L 000000F7
_BORV_45_2L 000000F3
_BOR_OFF_2L 000000FD
_BOR_ON_2L 000000FF
_CCP2MX_OFF_3H 000000FE
_CCP2MX_ON_3H 000000FF
_CONFIG1H 00300001
_CONFIG1L 00300000
_CONFIG2H 00300003
_CONFIG2L 00300002
_CONFIG3H 00300005
_CONFIG3L 00300004
_CONFIG4H 00300007
_CONFIG4L 00300006
_CONFIG5H 00300009
_CONFIG5L 00300008
_CONFIG6H 0030000B
_CONFIG6L 0030000A
_CONFIG7H 0030000D
_CONFIG7L 0030000C
_CP0_OFF_5L 000000FF
_CP0_ON_5L 000000FE
_CP1_OFF_5L 000000FF
_CP1_ON_5L 000000FD
_CP2_OFF_5L 000000FF
_CP2_ON_5L 000000FB
gpasm-0.10.5 alpha t.asm 11-2-2002 20:12:24 PAGE 8
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
_CP3_OFF_5L 000000FF
_CP3_ON_5L 000000F7
_CPB_OFF_5H 000000FF
_CPB_ON_5H 000000BF
_CPD_OFF_5H 000000FF
_CPD_ON_5H 0000007F
_DEBUG_OFF_4L 000000FF
_DEBUG_ON_4L 0000007F
_DEVID1 003FFFFE
_DEVID2 003FFFFF
_EBTR0_OFF_7L 000000FF
_EBTR0_ON_7L 000000FE
_EBTR1_OFF_7L 000000FF
_EBTR1_ON_7L 000000FD
_EBTR2_OFF_7L 000000FF
_EBTR2_ON_7L 000000FB
_EBTR3_OFF_7L 000000FF
_EBTR3_ON_7L 000000F7
_EBTRB_OFF_7H 000000FF
_EBTRB_ON_7H 000000BF
_ECIO_OSC_1H 000000FD
_EC_OSC_1H 000000FC
_HSPLL_OSC_1H 000000FE
_HS_OSC_1H 000000FA
_IDLOC0 00200000
_IDLOC1 00200001
_IDLOC2 00200002
_IDLOC3 00200003
_IDLOC4 00200004
_IDLOC5 00200005
_IDLOC6 00200006
_IDLOC7 00200007
_LP_OSC_1H 000000F8
_LVP_OFF_4L 000000FB
_LVP_ON_4L 000000FF
_OSCS_OFF_1H 000000FF
_OSCS_ON_1H 000000DF
_PWRT_OFF_2L 000000FF
_PWRT_ON_2L 000000FE
_RCIO_OSC_1H 000000FF
_RC_OSC_1H 000000FB
_STVR_OFF_4L 000000FE
_STVR_ON_4L 000000FF
_WDTPS_128_2H 000000FF
_WDTPS_16_2H 000000F9
_WDTPS_1_2H 000000F1
_WDTPS_2_2H 000000F3
_WDTPS_32_2H 000000FB
_WDTPS_4_2H 000000F5
_WDTPS_64_2H 000000FD
_WDTPS_8_2H 000000F7
_WDT_OFF_2H 000000FE
_WDT_ON_2H 000000FF
_WRT0_OFF_6L 000000FF
_WRT0_ON_6L 000000FE
_WRT1_OFF_6L 000000FF
_WRT1_ON_6L 000000FD
_WRT2_OFF_6L 000000FF
_WRT2_ON_6L 000000FB
_WRT3_OFF_6L 000000FF
_WRT3_ON_6L 000000F7
_WRTB_OFF_6H 000000FF
_WRTB_ON_6H 000000BF
_WRTC_OFF_6H 000000FF
_WRTC_ON_6H 000000DF
_WRTD_OFF_6H 000000FF
_WRTD_ON_6H 0000007F
_XT_OSC_1H 000000F9
__18F452 00000001
CLRW CLRF WREG
DDRA TRISA
DDRB TRISB
DDRC TRISC
DDRD TRISD
gpasm-0.10.5 alpha t.asm 11-2-2002 20:12:24 PAGE 9
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
DDRE TRISE
LCALL CALL
LGOTO GOTO
MOVFP MOVFF
MOVPF MOVFF
NEGW NEGF WREG
clrw clrf WREG
lcall call
lgoto goto
movfp movff
movpf movff
negw negf WREG
MEMORY USAGE MAP ('X' = Used, '-' = Unused)
0000 : XXXXXXXXXXXXXXXX XXXXX----------- ---------------- ----------------
180000 : ---------------- ---------------- ---------------- ----------------
All other memory blocks unused.
Program Memory Words Used: 23
Errors : 0
Warnings : 0 reported, 0 suppressed
Messages : 0 reported, 0 suppressed
:020000040000FA
:10000000540E540C680C690C730C200C690C730CA6
:10001000200C610C200C740C650C730C740C2E0CF1
:0A002000736F6D65206279746573DB
:020000040030CA
:04000000FFFEFFFF01
:00000001FF