Mnemonika (0)
Mnemonika (PIC procesoriams)- jei ko nors nežinai, pamiršai ar tiesiog reikia konkrečių pavyzdžių. Čia rasi visko.
Prisijunk prie technologijos.lt komandos!
Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.
Sudomino? Užpildyk šią anketą!
Mnemonika |
Aprašymas |
Ciklai |
Požymiai |
Pastabos |
Duomenų siuntimo operacijos |
||||
MOVLW k |
k konstantos įrašymas į darbinę atmintį |
1 |
|
A1 |
MOVWF f |
Iš darbinės atminties siuntimas į f registrą |
1 |
|
A2 |
MOVF f,d |
Registro f persiuntimas |
1 |
Z |
A3 |
CLRF - |
f registro išvalymas |
1 |
Z |
A4 |
CLRW - |
w darbinio registro išvalymas |
1 |
Z |
A5 |
SWAPF f,d |
Tetradų (pusbaičių) sukeitimas f registre |
1 |
|
A6 |
Loginės ir aritmetinės operacijos |
||||
ADDLW k |
Sudėti konstanta su w (k+w→w) |
1 |
C, DC, Z |
A7 |
ADDWF f,d |
Sudėti w su f (w+f→d) |
1 |
C, DC, Z |
A8 |
SUBLW k |
Atimti w iš konstantos (k-w→w) |
1 |
C, DC, Z |
A9 |
SUBWF f,d |
Atimti w iš f (f-w→d) |
1 |
C, DC, Z |
A10 |
ANDLW k |
Loginis „IR“ konstantos su w |
1 |
Z |
A11 |
ANDWF f,d |
Loginis „IR“ w su f |
1 |
Z |
A12 |
IORLW k |
Loginis „ARBA“ konstantos su w |
1 |
Z |
A13 |
IORWF f,d |
Loginis „ARBA“ w su f |
1 |
Z |
A14 |
XORLW k |
Išskirtinis „ARBA“ konstantos su w |
1 |
Z |
A15 |
XORWF f,d |
Išskirtinis „ARBA“ w su f |
1 |
Z |
A16 |
INCF f,d |
f registras padidinamas 1 (f+1→d) |
1 |
Z |
A17 |
DECF f,d |
f registras sumažinamas 1 (f-1→d) |
1 |
Z |
A18 |
RLF f,d |
1 |
C |
A19 |
|
RRF f,d |
1 |
C |
A20 |
|
COMF f,d |
Registro f inversija |
1 |
Z |
A21 |
Bitų operacijos ir tiesioginės operacijos |
||||
BCF f,b |
Registre f, išvalyti b bitą |
1 |
|
A22 |
BSF f,b |
Registre f, nustatyti b bitą |
1 |
|
A23 |
BTFSC f,b |
Praleisti komanda jeigu bitas b=0 |
1(2) |
|
A24 |
BTFSS f,b |
Praleisti komanda jeigu bitas b=1 |
1(2) |
|
A25 |
DECFSZ f,d |
Sumažinti registrą 1-etu ir praleisti komanda jeigu 0 |
1(2) |
|
A26 |
INCFSZ f,d |
Padidinti registrą 1-etu ir praleisti komanda jeigu 0 |
1(2) |
|
A27 |
GOTO k |
Pereiti prie adreso k, (atmaina b k) |
2 |
|
A28 |
CALL k |
k paprogramės iškvietimas |
2 |
|
A29 |
RETURN - |
Grįžimas iš paprogramės |
2 |
|
A30 |
RETLW k |
Grįžimas iš paprogramės įrašant konstanta į w reg. |
2 |
|
A31 |
RETFIE - |
Grįžimas iš pertraukimo |
2 |
|
A32 |
Kitos operacijos |
||||
NOP - |
Tuščios eigos komanda |
1 |
TO,PD |
A33 |
CLRWDT - |
Watchdog taimerio numetimas |
1 |
|
A34 |
SLEEP - |
Perėjimas į SLEEP režimą |
1 |
TO,PD |
A35 |
A1
Komanda: MOVLW k - k konstantos įrašymas į darbinę atmintį (mov litera data).
Operacija: k > w
Pavyzdys 1 movlw 0x01
Po instrukcijos w=0x01
Pavyzdys 2 movlw regist
Prieš instrukcija: w=0x12 ir regist=0x39
Po instrukcijos: w=0x39
A2
Komanda: MOVWF f - w darbinio registro kopijavimas registrą f.
Operacija: w > f
Pavyzdys 1 movwf regist
Prieš instrukcija: w=0x12 ir regist=0x39
Po instrukcijos: w=0x12 ir regist=0x12
Pavyzdys 2 movwf INDF
Prieš instrukcija: w=0x20 ir FSR=0x15, ląstelės adrese 0x15 įrašyta 0x01
Po instrukcijos w=0x20 ir FSR=0x15, ląstelės adrese 0x15 įrašyta 0x20
A3
Komanda: MOVF f,d - registro kopijavimas į d registrą (mov f).
Operacija: f > d
Pavyzdys 1 movf FSR,w
Prieš instrukcija: FSR=0x0C, w=0x00
Po instrukcijos: FSR=0x0C, w=0x0C
Pavyzdys 2 movf INDF,w
Prieš instrukcija: FSR=0x2C, w=0x15, atminties ląstelėje, kurios adresas 0x2C įrašyta 0x00
Po instrukcijos: FSR=0x2C, w=0x00, Z=1
A4
Komanda: CLRF - f darbinio registro išvalymas (clear f)
Operacija: 0 > f
Pavyzdys 1 CLRF STATUS
Prieš instrukcija: STATUS=0X0C
Po instrukcijos: STATUS=0X00, Z=1
Pavyzdys 2 CLRF INDF
Prieš instrukcija: FSR=0x2C, atminties ląstelėje, kurios adresas 0x2C įrašyta 0x01, Z=x
Po instrukcijos: FSR=0x2C, atminties ląstelėje, kurios adresas 0x2C įrašyta 0x00, Z=1
A5
Komanda: CLRW - wregistro išvalymas. (clear w)
Operacija: f > d
Pavyzdys 1 CLRW
Prieš instrukcija: w=0x05
Po instrukcijos: w=0x00, Z=1
A6
Komanda: SWAPF f,d - Tetradų (pusbaičių) sukeitimas f registre.
Operacija: f <0:3>, d<4:7>→f <4:7>, d<0:3>
Pavyzdys 1 SWAPF REG,w
Prieš instrukcija: REG=0x0C, w=0x00
Po instrukcijos: FSR=0x0C, w=0xC0
Pavyzdys 2 SWAPF REG,f
Prieš instrukcija: REG=0x2C
Po instrukcijos: REG=0xC2
A7
Komanda: ADDLW k - sudėti konstanta su w ir įrašo į w registrą (add litera and w register)
Operacija: (w)+k > w
Pavyzdys 1 ADDLW 0x15
Prieš instrukcija: w=0x10
Po instrukcijos: w=0x25
Pavyzdys 2 ADDLW REG
Prieš instrukcija: REG=0x11, w=0x15
Po instrukcijos: REG=0x11, w=0x26,
A8
Komanda: ADDWF f,d - w registrą sudėti su f registru (add w register with f register)
Operacija: (w)+f > d
Pavyzdys 1 ADDWF FSR,w
Prieš instrukcija: FSR=0x17, w=0x10
Po instrukcijos: FSR=0x17, w=0x27
Pavyzdys 2 ADDWF INDF,f
Prieš instrukcija: FSR=0x21, w=0x15, atminties ląstelėje, kurios adresas 0x21 įrašyta 0x01
Po instrukcijos: FSR=0x21, w=0x15, atminties ląstelėje, kurios adresas 0x21 įrašyta 0x36
A9
Komanda: SUBLW k - Atimti w iš konstantos k
Operacija: k-(w) > w
Pavyzdys 1 SUBLW 0x03
Prieš instrukcija: w=0x01, C=x, Z=x
Po instrukcijos: w=0x02, C=1, Z=0, rezultatas >0
Prieš instrukcija: w=0x03, C=x, Z=x
Po instrukcijos: w=0x00, C=1, Z=1, rezultatas =0
Prieš instrukcija: w=0x04, C=x, Z=x
Po instrukcijos: w=0xFF, C=0, Z=0, rezultatas <0
Pavyzdys 2 SUBLW REG
Prieš instrukcija: REG=0x36, w=0x11,C=x
Po instrukcijos: REG=0x36, w=0x25, C=1
A10
Komanda: SUBWF f,d - f registro atimti w registrą ir įrašyti į d.
Operacija: f – (w) > d
Pavyzdys 1 SUBWF REG,f
Prieš instrukcija: REG=0x03, w=0x02, C=x, Z=x
Po instrukcijos: REG=0x01, w=0x02, C=1, Z=0 rezultatas >0
Prieš instrukcija: REG=0x02, w=0x02, C=x, Z=x
Po instrukcijos: REG=0x00, w=0x02, C=1, Z=1 rezultatas =0
Prieš instrukcija: REG=0x01, w=0x02, C=x, Z=x
Po instrukcijos: REG=0xFF, w=0x02, C=0, Z=0 rezultatas <0
A11
Komanda: ANDLW k - Loginis „IR“ konstantos su w .
Operacija: (w) „IR“ k> w
Pavyzdys 1 ANDLW 0x5F
Prieš instrukcija: w=0xA3 ;0101 1111 (0x5F)
Po instrukcijos: w=0x03 ;1010 0011 (0xA3)
;0000 0011 (0x03)
Pavyzdys 2 ANDLW REG
Prieš instrukcija: w=0xA3 ;1010 0011 (0xA3)
REG=0x37 ;0011 0111 (0x37)
Po instrukcijos: REG=0x37, w=0x23 ;0010 0011 (0x23)
A12
Komanda: ANDWF f,d - Loginis „IR“ w su f ir įrašo į d.
Operacija: (w) „IR“ f > d
Pavyzdys 1 ANDWF FSR,f
Prieš instrukcija: FSR=0xC2, w=0x17 ;0001 0111 (0x17)
Po instrukcijos: FSR=0x02, w=0x17 ;1100 0010 (0xC2)
;0000 0010 (0x02)
Pavyzdys 2 ANDWF FSR,w
Prieš instrukcija: FSR=0x2C, w=0x17 ;0001 0111 (0x17)
Po instrukcijos: FSR=0x2C, w=0x02 ;1100 0010 (0xC2)
;0000 0010 (0x02)
A13
Komanda: IORLW k - Loginis „ARBA“ konstantos su w ir įrašo į w registrą
Operacija: (w) „AR“ k > w
Pavyzdys 1 IORLW 0x35
Prieš instrukcija: w=0x9A, Z=x &nb