Jumat, 03 Mei 2013

Instruksi Mikroprosesor


Secara umum instruksi mikroprosesor dikelompokkan menjadi (beserta contoh):
1.    Operasi transfer data, yaitu operasi pemindahan (pengkopian) data antara register, memori, dan port. Di antaranya:
                  MOV AX, BX           ; mengkopi isi BX ke AX
                  MOV BL, [437AH]  ; mengkopi data byte dari DS:437AH ke BL
                  IN AL, 34H               ; membaca input byte dari port 34H ke AL
                  OUT 220H, AX        ; menulis output word ke port 220H
                  PUSH CX                ; menyimpan register CX ke stack (SS:SP)

2.    Operasi aritmatika, yaitu operasi matematis antara register/memori (dilakukan ALU).
                  ADD DL, BL            ; menambahkan isi BL ke DL
                  SUB CX, 437AH     ; mengurangi isi CX dengan angka 437AH
                  MUL CX                   ; mengalikan AX dengan CX, hasil disimpan di AX

3.    Operasi bit, yaitu operasi logika antara register/memori (dilakukan ALU).
                  AND BH, CL           ; meng-AND-kan isi BH dengan CL
                  NOT DX                   ; menginvers isi register DX

4.    Operasi string, yaitu operasi yang melibatkan sekumpulan data yang berurutan dalam
       memori/port.
                  REP MOVSB          ; mengkopi isi byte dari DS:SI ke ES:DI sebanyak CX

5.    Operasi kontrol aliran program, untuk mengatur loop, lompatan, dan  perulangan.
                  CALL 2323H           ; memanggil subrutin di alamat CS:2323H
                  RET                         ; kembali ke pemanggil subrutin
                  JZ LBL1                   ; lompat ke instruksi yang diberi label LBL1 jika flag ZF bernilai 1 (set)

6.    Operasi kontrol prosesor, yang mengatur kerja mikroprosesor.
                  STI                           ; menset flag interupsi (TF), membolehkan interupsi
                  CLI                           ; mereset TF, menghambat interupsi