<< Előző oldal Vissza a tartalomjegyzékhez Következő oldal >>
11.5.3. MPASM kimeneti fájlok
Az MPASM assemblernek hat kimeneti fájltípusa van, amelyek a fordítási folyamat során jönnek létre a bemeneti fájlokból:
ˇ
Hexadecimális adatfájl (*.hex);
ˇ
Fordítási lista fájl (*.lst);
ˇ
Fordítási hibafájl (*.err);
ˇ
MPLAB segédfájl (*.cod);
ˇ
Keresztreferencia fájl (*.xrf);
ˇ
Hordozható objektum fájl (*.o).
Hexadecimális adatfájl
A hexadecimális adatfájl a mikrovezérlő gépi kódú programját tartalmazza. Ezen fájl alapján végzik a programozó készülékek a mikrovezérlők felprogramozását.
Az MPASM assembler az INHX8M, illetve INHX32 azonosítókkal jelölt fájltípusok létrehozására képes, amelyek kompatibilisak a Microchip összes programozó készülékével és segédprogramjával.
A hexadecimális adatfájl *.hex kiterjesztésű kell, hogy legyen.
A fájlok felépítésének szabályait a 11.3. fejezet mutatja be.
Fordítási lista fájl
A fordítási lista fájl egy szabványos ASCII szövegfájl, amely a következő adatokat tartalmazza, sorrendben:
ˇ
minden oldalon a fordító program azonosítóját (például: MPASM 03.90 Released);
ˇ
minden oldalon a forráskód fájl nevét (például: PROBA.ASM);
ˇ
minden oldalon a fordítás idejét (például: 10-03-2005 14:25:15);
ˇ
minden oldalon az oldalszámot (például: PAGE 1);
ˇ
a forráskód teljes szövegét, úgy hogy a sorok előtt szerepelteti a sor decimális sorszámát (például: 00003 list p=16f84a); utasítást tartalmazó sorok előtt még pluszként a programmemória hely hexadecimális sorszámát és az utasítás gépi kódját (például: 0001 3001 00006 start movlw 0x01); a fordítás során keletkezett hibaüzenetek a hibát tartalmazó sort követően jelennek meg;
ˇ
a szimbólum azonosító táblázatot, amely 32 bites hexadecimális értékekkel azonosítja a forráskódban előforduló szimbólumokat (például: start 00000005);
ˇ
a foglaltságot bemutató programmemória-térképet, ahol a foglalt helyeket X, a szabad helyeket - jelzi; (hordozható objektum fájl létrehozásakor a memória térkép nem jelenik meg);
ˇ
a felhasznált programmemória-helyek számát (például: Program Memory Words Used: 6);
ˇ
a szabad programmemória-helyek számát (például: Program Memory Words Free: 1018);
ˇ
a fordítási hibák számát (például: Errors: 0);
ˇ
a fordítási figyelmeztetések számát (például: Warnings: 0 reported, 0 suppressed), (reported - a hibafájlban szerepel, suppressed - nem szerepel a hibafájlban);
ˇ
a fordítási üzenetek számát (például: Messages: 0 reported, 0 suppressed), (reported - a hibafájlban szerepel, suppressed - nem szerepel a hibafájlban).
A fordítási lista fájl *.lst kiterjesztésű.
Egy példa fordítási lista fájl:
MPASM 03.90 Released PROBA.ASM 10-03-2005 14:25:15 PAGE 1 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00001 ;mintaprogram 00002 ;*******--------******** 00003 list p=16f84a 00004 0000 3005 00005 movlw 0x05 0001 3001 00006 start movlw 0x01 0002 3002 00007 movlw 0x02 0003 3003 00008 movlw 0x03 0004 3004 00009 movlw 0x04 0005 2801 00010 goto start 00011 00012 end MPASM 03.90 Released PROBA.ASM 10-03-2005 14:25:15 PAGE 2 SYMBOL TABLE LABEL VALUE __16F84A 00000001 start 00000001 MEMORY USAGE MAP ('X' = Used, '-' = Unused) 0000 : XXXXXX---------- ---------------- ---------------- ---------------- All other memory blocks unused. Program Memory Words Used: 6 Program Memory Words Free: 1018 Errors : 0 Warnings : 0 reported, 0 supressed Messages : 0 reported, 0 supressed |
Fordítási hibafájl
A fordítási folyamat során észlelt hibák, a szükségesnek vélt figyelmeztetések és üzenetek a fordítási hibafájlba kerülnek.
A fordítási hibafájl *.err kiterjesztésű.
A fordítási hibafájl üzenetei tartalmazzák, sorrendben:
ˇ
az üzenet típusát és azonosító számát (1. példa: Error[113]), (2. példa: Warning[202]), (3. példa: Message[301]);
ˇ
a forráskód fájl elérési útját és nevét (például: C:\MPASM\PROBA.ASM);
ˇ
a hiba helyének (sorának) forráskódon belüli decimális sorszáma (például: 14);
ˇ
a hiba vagy üzenet szöveges leírása (például: Symbol not previously defined (A)).
Egy példa hibaüzenet:
Error[113] C:\MPASM\PROBA.ASM 14 : Symbol not previously defined (A)
A fordítási hibafájl alapbeállításban létrejön, de le is tiltható. Az, hogy mely típusú üzenetek és hibák kerüljönek be a fájlba, az ERRORLEVEL fordításvezérlő utasítással állítható be.
A fordítási hibákat, figyelmeztetéseket és üzeneteket a 11.5.10. fejezet mutatja be.
MPLAB segédfájl
Az MPLAB integrált fejlesztői környezetben történő hibakereséshez szükséges, hogy az MPASM program a fordítás során létrehozzon egy segédfájlt. A segédfájl generálása emiatt nem tiltható le, így minden esetben létre is jön.
Az MPLAB segédfájl *.cod kiterjesztésű.
Keresztreferencia fájl
A keresztreferencia fájl egy szabványos ASCII szövegfájl, amely a lefordított forráskódban szereplő szimbólumok listáját tartalmazza.
A keresztreferencia fájl *.xrf kiterjesztésű.
A fájl tartalmazza, sorrendben:
ˇ
minden oldalon a fordító program azonosítóját (például: MPASM 03.90 Released);
ˇ
minden oldalon a forráskód fájl nevét (például: PROBA.ASM);
ˇ
minden oldalon a fordítás idejét (például: 10-03-2005 14:25:15);
ˇ
minden oldalon az oldalszámot (például: PAGE 1);
ˇ
a szimbólumlistát a szimbólumok típusával, a forráskódfájl nevével, és a forráskód fájlban való előfordulás sorszámával (például: start A PROBA.ASM 5* 34.);
ˇ
a lehetséges szimbólum típusok listáját:
•
A - Address - programmemória cím;
•
C - Constant - állandó;
•
E - External - külső szimbólum;
•
M - Macro - makró azonosító;
•
S - Segment - szegmenscím;
•
U - Unknown - ismeretlen szimbólum;
•
V - Variable - adatmemória cím;
•
X - Other - egyéb szimbólum.
Egy példa keresztreferencia fájl:
MPASM 03.90 Released PROBA.ASM 10-03-2005 14:25:15 PAGE 1 MPASM Cross Reference File LABEL TYPE FILE NAME SOURCE FILE REFERENCES ----- ---- --------- ---------------------- __16F84A V PROBA.ASM 0* start A PROBA.ASM 5* 34. LABEL TYPES ----------- A Address C Constant E External M Macro S Segment U Unknown V Variable X Other |
Az előfordulási sorszám utáni *, azt jelzi, amikor a szimbólum a forráskód fájl első oszlopában (cimkék) szerepel, ahol természetesen csak egyszer szerepelhet.
Hordozható objektum fájl
A hordozható objektum fájl egy részleges fordítási folyamat során jön létre. A fordítás során nem véglegesítődnek a programelágazások címei. Emiatt a kódrészlet egy másik kódhoz illeszthető, egy szerkesztő (linker) programmal, amely elvégzi az összeszerkesztett kódrészek változó- és címkiosztását.
A hordozható objektum fájl forráslista szintjén is különbözik egy futtatható programtól. Ezeket a különbségeket a 11.5.9 fejezet mutatja be.
A hordozható objektum fájl *.o kiterjesztésű.
Tudomány és Technika (test@t-es-t.hu)
<< Előző oldal Vissza a tartalomjegyzékhez Vissza a lap tetejére Következő oldal >>