Forráslink: http://www.mogi.bme.hu/letoltes/ALKALMAZOTT%20INFORMATIKAI%20T%C3%81RGYAK/Mikrovezerlok%20alkalmazasa/Gyakorlatok/Le%C3%ADr%C3%A1sok/MPLAB%C2%AE%20XC16%20ASSEMBLER,%20LINKER%20AND%20UTILITIES.pdf
Magyar fórum segítség: https://www.hobbielektronika.hu/forum/pic-miertek-hogyanok-haladoknak?pg=1191
Programkód pozícionálása a programmemóriában:
.text ;Start of Code section
.section .nev, code, address(0x900) ; A ".nev" tetszőleges, hisz én adom meg. Lényegében cimkeként lehet értelmezni.
A programmemóriába a megadott címtől kezdődően byte mérető adaokat tárolunk le:
.section .adatok1, code, address(0x8f00)
.pbyte 0x11,0x22,0x33,0x44
.text
Programmemória térkép:
cím: 0x8f00 adat: 332211
cím: 08xf02 adat: 000044
.section foo ;foo is initialized data memory.
.section bar,bss,xmemory,align(256) ;bar is uninitialized
;X data memory, aligned.
.section *,data,near ;section is near ;initialized data memory.
.section buf1,bss,address(0x800) ;buf1 is uninitialized
;data memory at 0x800.
.section tab1,psv,address(0x10000) ;tab1 is psv constants ;at 0x10000.
3.3. 34. oldaltól
Label (cimke) : Számmal általában nem kezdődhet, de folytatódhat, valamint az aláhúzásvonalon kívül más speciális és ékezetes karaktert nem tartalmazhat. Nincs a 32 darab karakteres korlát és minden karakter számít. Kötelező ":"-al lezárni a cimkét, amit akár spase (szünetjel) nélkül is utasítás követhet. A cimkét a sor elején kell kezdeni! Több cimke is lehet egymás után (mindegyik kettősponttal lezárva) akár egy sorban is, így több cimkével is hivatkozhatunk ugyanarra a programmemória (utasítássor) címre. A cimke nem annyira asm utasítás, hanem inkább program összeállítási utasítás.
Mnemonic (mneomonik) : Assembly utasítások
Literal (érték) : megadáskor kettős kereszttel "#" kell kezdeni.
Hexadecimális értékmegadáskor a 2. karakter nulla (0), a harmadik pedig "x", majd ezt követi a tényleges érték. Pld.: #0xf2
Decimális értékmegadáskot már érték a második karakter és természetesen a többi is. Nem lehet a második karakter nulla "0", mert akkor oktális számnak fogja érzéklelni! Helyesen pld.: #15
Oktális értékmegadáskor a 2. karakter nulla "0" betű (karaktar), a harmadik pedig már a tényleges érték. Pld.: #o342
Bináris értékmegadáskot nulla (0) a második karakter, a harmadik pedig "b" , majd ezt követi a tényleges érték. Pld.: #0b101100 vagy #0b0010110010
Mínusz előjelű szám értékmegadásakor kettes komplemensbe tváltva tárol el a memóriába. Pld.: mov #-0x5c, W7 ; vagy mov #-92, W7
Karakter értékmegasáskor egyes macskakörmok (' ') közé kell rakni a karaktert, amit a fordító ASC2 számmá konvertás és így kerül felhasználásra. Pld.: #'z'