1. Καταχωρητής εργασίας W Μνήμη δεδομένων ALU 1. Καταχωρητής εργασίας W Είναι ένας ειδικής λειτουργίας καταχωρητής (accumulator=συσσωρευτής) που συμμετέχει σε πολλά ενδιάμεσα αποτελέσματα (αριθμητικές και λογικές πράξεις, μεταφορά και αποθήκευση δεδομένων κ.α.)
Αριθμητικές πράξεις με τον PIC Οι πράξεις εκτελούνται μεταξύ του w και ενός καταχωρητή. Το αποτέλεσμα τοποθετείται στον w ή στον καταχωρητή. (π.χ. addwf 20h,1 w + (περιεχόμενο 20h) το αποτέλεσμα στον καταχωρητή 20h) W ALU TEMP 20h
Μνήμη δεδομένων 20h 21h 22h W= Μνήμη προγράμματος movlw b’00010101’ ALU End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ Μνήμη προγράμματος 22h 21h 20h Μνήμη δεδομένων W= TEMP=
Μνήμη δεδομένων 20h 21h 22h W=00010101 Μνήμη προγράμματος ALU End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ Μνήμη προγράμματος 22h 21h 20h Μνήμη δεδομένων W=00010101 TEMP=
Μνήμη δεδομένων 20h 21h 22h W=00010101 Μνήμη προγράμματος ALU End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ Μνήμη προγράμματος 22h 21h 20h Μνήμη δεδομένων W=00010101 TEMP=
End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ ALU End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ Μνήμη προγράμματος 22h 21h 00010101 20h Μνήμη δεδομένων W=00010101 TEMP=
End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ ALU End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ Μνήμη προγράμματος 22h 21h 00010101 20h Μνήμη δεδομένων W=00010101 TEMP=
End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ ALU End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ Μνήμη προγράμματος 22h 21h 00010101 20h Μνήμη δεδομένων W=00011000 TEMP=
End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ ALU End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ Μνήμη προγράμματος 22h 21h 00010101 20h Μνήμη δεδομένων W=00011000 TEMP=
End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ ALU End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ Μνήμη προγράμματος 22h 21h 00010101 20h Μνήμη δεδομένων W=00011000 TEMP=00010101
End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ ALU End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ Μνήμη προγράμματος 22h 21h 00010101 20h Μνήμη δεδομένων W=00101101 TEMP=00010101
End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ ALU End addwf 20h,1 movlw b'00011000' movwf 20h movlw b’00010101’ Μνήμη προγράμματος 22h 21h 00101101 20h Μνήμη δεδομένων W= 00101101 TEMP=00010101