Microchip'i C keel
#7
Natuke kogemust sellest PICi sprintf-st.

On C-s kirjutatud PICi programmi üks lõik.
(Kogu C teksti pikkus 837 rida.)
Kood:
A=input_buffer[0]; if(A=='T'){ Algseisu(); if(mUSBUSARTIsTxTrfReady()){ sprintf(output_buffer, (const far rom char*)"%c", 'X'); mUSBUSARTTxRam((byte*)output_buffer,strlen(output_buffer)); } return;
Transleeritud kujul sai sellest programmist 47 kb hex,
mille listingu sama lõik näeb välja nii:
Kood:
203: Algseisu(); 1D18 DE47 RCALL 0x19a8 204: if(mUSBUSARTIsTxTrfReady()){ 1D1A 0101 MOVLB 0x1 1D1C 5101 MOVF 0x1, W, BANKED 1D1E E12B BNZ 0x1d76 205: sprintf(output_buffer, (const far rom char*)"%c", 'X'); 1D20 0E58 MOVLW 0x58 1D22 6EE6 MOVWF 0xfe6, ACCESS 1D24 6AE6 CLRF 0xfe6, ACCESS 1D26 0E36 MOVLW 0x36 1D28 6E14 MOVWF 0x14, ACCESS 1D2A 0E42 MOVLW 0x42 1D2C 6E15 MOVWF 0x15, ACCESS 1D2E 6A16 CLRF 0x16, ACCESS 1D30 C014 MOVFF 0x14, 0xfe6 1D32 FFE6 NOP 1D34 C015 MOVFF 0x15, 0xfe6 1D36 FFE6 NOP 1D38 C016 MOVFF 0x16, 0xfe6 1D3A FFE6 NOP 1D3C 0E5D MOVLW 0x5d 1D3E 6EE6 MOVWF 0xfe6, ACCESS 1D40 0E01 MOVLW 0x1 1D42 6EE6 MOVWF 0xfe6, ACCESS 1D44 EC37 CALL 0x446e, 0 1D46 F022 NOP 1D48 6E17 MOVWF 0x17, ACCESS 1D4A 0E07 MOVLW 0x7 1D4C 5EE1 SUBWF 0xfe1, F, ACCESS 1D4E 5017 MOVF 0x17, W, ACCESS 206: mUSBUSARTTxRam((byte*)output_buffer,strlen(output_buffer)); 1D50 0101 MOVLB 0x1 1D52 0E5D MOVLW 0x5d 1D54 6F02 MOVWF 0x2, BANKED 1D56 0E01 MOVLW 0x1 1D58 6F03 MOVWF 0x3, BANKED 1D5A 0E5D MOVLW 0x5d 1D5C 6EE6 MOVWF 0xfe6, ACCESS 1D5E 0E01 MOVLW 0x1 1D60 6EE6 MOVWF 0xfe6, ACCESS 1D62 ECA9 CALL 0x4752, 0 1D64 F023 NOP 1D66 52E5 MOVF 0xfe5, F, ACCESS 1D68 52E5 MOVF 0xfe5, F, ACCESS 1D6A CFF3 MOVFF 0xff3, 0x106 1D6C F106 NOP 1D6E 0101 MOVLB 0x1 1D70 6B07 CLRF 0x7, BANKED 1D72 0E01 MOVLW 0x1 1D74 6F01 MOVWF 0x1, BANKED 207: } 208: return; 1D76 EF19 GOTO 0x2632 1D78 F013 NOP 209: }
See buffer viidi siis üle USB tagasi PC-sse ja töödeldi seal.
(Viidi log faili Smile )
Selle PICi hex faili asm logi pikkus on 12656 rida.
Ruumi kokkuhoiu mõttes ma kõike siia ei toonud.
Vasta


Sõnumeid selles teemas
Microchip'i C keel - Autor: felch - 06-06-2012, 07:32 PM
RE: Microchip'i C keel - Autor: tvtv - 07-06-2012, 11:16 AM
RE: Microchip'i C keel - Autor: Mtj - 07-06-2012, 06:03 PM
RE: Microchip'i C keel - Autor: felch - 07-06-2012, 08:45 PM
RE: Microchip'i C keel - Autor: andrei - 08-06-2012, 01:18 PM
RE: Microchip'i C keel - Autor: tvtv - 11-06-2012, 10:17 AM
RE: Microchip'i C keel - Autor: A.R. - 11-06-2012, 11:27 AM
RE: Microchip'i C keel - Autor: andrei - 11-06-2012, 01:13 PM
RE: Microchip'i C keel - Autor: A.R. - 13-06-2012, 01:18 PM
RE: Microchip'i C keel - Autor: felch - 13-06-2012, 02:47 PM
RE: Microchip'i C keel - Autor: tvtv - 13-06-2012, 04:14 PM
RE: Microchip'i C keel - Autor: ahelet - 29-06-2012, 03:22 PM
RE: Microchip'i C keel - Autor: tvtv - 03-07-2012, 11:02 AM
RE: Microchip'i C keel - Autor: ahelet - 09-01-2013, 10:04 PM
RE: Microchip'i C keel - Autor: tvtv - 10-01-2013, 12:50 PM
RE: Microchip'i C keel - Autor: A.R. - 10-01-2013, 01:48 PM
RE: Microchip'i C keel - Autor: Teemo - 07-03-2013, 01:39 PM
RE: Microchip'i C keel - Autor: A.R. - 08-03-2013, 11:19 AM
RE: Microchip'i C keel - Autor: Teemo - 08-03-2013, 02:09 PM
RE: Microchip'i C keel - Autor: A.R. - 08-03-2013, 03:56 PM
RE: Microchip'i C keel - Autor: tvtv - 08-03-2013, 06:22 PM
RE: Microchip'i C keel - Autor: tvtv - 20-03-2013, 06:21 PM

Alamfoorumi hüpe:


Kasutaja, kes vaatavad seda teemat: 2 külali(st)ne