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

Pasidalinkite su draugais
Aut. teisės: www.technologijos.lt
(1)
(0)
(1)

Komentarai (0)

Susijusios žymos: