set instruksi mikroprosesor intel 8085

Upload: r-muh-farhan

Post on 03-Mar-2016

39 views

Category:

Documents


1 download

DESCRIPTION

Mikroprocessor

TRANSCRIPT

  • 1. MOV Move register to register or memory

    MOV reg1 , reg2 Menyalin data 8 bit pada dari reg1 ke reg2 Contoh :

    MOV A,B A B

    MOV C,M C M

    S Z - Ac - Pe - Cy

    2. MVI Move Immediate to register or memory

    MVI reg , XX Mengisi register degan konstanta 8 bit Contoh :

    MVI B,24 B 24

    MVI D,21 D 21

    S Z - Ac - Pe - Cy

    3. LXI Load Register Pair with Immediate Data

    LXI reg_pair , XXXX Mengisi pasangan regiater dengan konstanta 16 bit Contoh :

    LXI D,2490 DE 2490

    LXI H,2104 HL 2104

    S Z - Ac - Pe - Cy

    4. LDA Load Accumulator Directly from Memory

    LDA addr Menyalin data 8 bit dari alamat memori ke reg A (Akumulator) Contoh :

    LDA 9091 A [9091]

    LDA 8572 A 8572

    S Z - Ac - Pe - Cy

    5. STA Store Accumulator Directly in Memory

    STA addr Menyalin isi reg A ke alamat memori Contoh :

    STA 7216

    S Z - Ac - Pe - Cy

  • [7216] A STA 9215

    [9215] A 6. LHLD

    Load H & L Register Directly from Memory

    LHLD addr Menyalin data 16 bit pada alamat memori addr dan addr+1 ke pasangan register HL Contoh :

    LHLD 8888 L [8888] H [8889]

    LHLD 9998 L [9998] H [9999]

    S Z - Ac - Pe - Cy

    7. SHLD Store H & L Register Directly in Memory

    SHLD addr Menyalin isi pasangan reg HL ke alamat memori addr dan addr+1 Contoh :

    SHLD 7777 [7777] L [7778] H

    SHLD ABCD [ABCD] L [ABCE] H

    S Z - Ac - Pe - Cy

    8. LDAX Load Accumulator from Address in Register Pair

    LDAX reg_pair Menyalin data 8 bit pada alamt memori yang ditunjukan oleh pasangan register. Contoh :

    LDAX B A [BC]

    LDAX D A [DE]

    S Z - Ac - Pe - Cy

    9. STAX Store Accumulator in Address in Register Pair

    STAX reg_pair Menyalin isi reg A (akumulator) ke alamat memori yang ditunjukan oleh pasangan reg. Contoh :

    S Z - Ac - Pe - Cy

  • STAX B [BC] A

    STAX H [HL] A

    10. XCHG Exchange H & L with D & E

    XCHG Menukar isi data antara pasangan reg DE dan HL Contoh :

    XCHG DE HL

    S Z - Ac - Pe - Cy

    1. ADD Add to Accumulator

    ADD reg Menambahkan isi reg A (akiumulator) dengan isi register lain Contoh :

    ADD B A A+B

    ADD M A A+M

    S Z - Ac - Pe - Cy

    2. ADI Add Immediate Data to Accumulator

    ADI XX Menambahkan isi reg A dengan konstanta 8 bit Contoh :

    ADI 22 A A+22

    ADI 45 A A+45

    S Z - Ac - Pe - Cy

    3. ADC Add to Accumulator using Carry Flag

    ADC reg Menambahkan isi reg A dengan isi register lain dan carry Contoh :

    ADC B A A+B+Cy

    ADC L A A+L

    S Z - Ac - Pe - Cy

  • 4. ACI Add Immediate Data to Accumulator using Carry Flag

    ACI XX Menambahlkan isi reg A dengan konstanta 8 bit dan carry Contoh :

    ACI 95 A A+95+Cy

    ACI DB A A+DB+Cy

    S Z - Ac - Pe - Cy

    5. SUB Subtract from Accumulator

    SUB reg Mengurangkan isi reg A dengan isi register lain Contoh :

    SUB D A A D

    SUB L A A L

    S Z - Ac - Pe - Cy

    6. SUI Subtract Immediate Data from Accumulator

    SUI XX Mengurangkan isi reg A dengan isi register lain

    SUI 88 A A 88

    SUI AB A A AB

    S Z - Ac - Pe - Cy

    7. SBB Subtract from Accumulator using Borrow (carry) Flag

    SBB reg Mengurangkan isi reg A dengan isi register lain dan carry

    SBB C A A C Cy

    SBB H A A H Cy

    S Z - Ac - Pe - Cy

    8. SBI Subtract Immediate from Accumulator using Borrow (carry) Flag

    SBI XX Mengurangkan isi reg A dengan konstanta 8 bit dan carry

    SBI 89 A A 89 Cy

    SBI AF A A AF Cy

    S Z - Ac - Pe - Cy

    9. INR Increment Specified Byte by

    INR reg Menambahkan isi register dengan 1

    S Z - Ac - Pe - Cy

  • One Contoh :

    INR B B B + 1

    INR D D D - 1

    10. DCR Decrement Specified Byte by One

    DCR reg Mengurangkan isi register dengan 1 Contoh :

    DCR C C C 1

    DCR E E E 1

    S Z - Ac - Pe - Cy

    11. INX Increment Register Pair by One

    INX reg_pair Menambahkan isi pasangan register dengan 1 Contoh :

    INX B BC BC + 1

    INX D DE DE + 1

    S Z - Ac - Pe - Cy

    12. DCX Decrement Register Pair by One

    DCX reg_pair Mengurangkan isi pasangan register dengan 1 Contoh :

    DCX B BC BC 1

    DCX H HL HL 1

    S Z - Ac - Pe - Cy

    13. DAD Double Register Add; Add Content of Register Pair to H & L Register Pair

    DAD reg_pair Menambhakan isi pasangan register HL dengan pasangan register lain Contoh :

    DAD B HL HL + BC

    DAD H HL HL + HL

    S Z - Ac - Pe - Cy

  • 14. DAA Decimal Adjust Accumulator

    DAA Memberikan factor koreksi pada penjuumlahan biner Contoh :

    DAA A BCD

    MVI A, 09 ADI 1 DAA A 09 A 09 + 01 A 0A ;sebelum diberi factor koreksi A 10 ; setelah diberi factor koreksi

    S Z - Ac - Pe - Cy

    15. CMP Compare with Register

    CMP reg Membandingkan isi register A dengan register lain. Operasi perbandingan dilakukan dengan metode : A reg Instruksi ini tidak merubah isi register. Contoh :

    CMP B A B

    CMP D A D

    S Z - Ac - Pe - Cy

    16. CPI Compare Immediate

    CPI XX Membandingkan isi register A dengan konstanta. Contoh :

    CPI 89 A 89

    CPI AD

    S Z - Ac - Pe - Cy

  • A AD

    17. ANA AND Accumulator

    ANA reg Melakukan operasi AND antara register A dan register lain. A . reg Contoh :

    ANA B A A . B

    ANA D A A .D

    S Z - Ac - Pe - Cy

    18. ANI AND Immediate

    ANI XX Melakukan operasi AND antara register A dan konstanta A . XX Contoh :

    ANI 90 A A . 90

    ANI BB A A . BB

    S Z - Ac - Pe - Cy

    19. XRA XOR Accumulator

    XRA reg Melakukan operasi XOR antara register A dengan register lain.

    A reg Contoh :

    XRA C

    A A C XRA E

    A A E

    S Z - Ac - Pe - Cy

    20. XRI XOR Immediate

    XRI XX Melakukan operasi XOR antara register A dengan konstanta

    A XX Contoh :

    XRI 98

    A A 98 XRI DB

    A A 98

    S Z - Ac - Pe - Cy

  • 21. ORA OR Accumulator

    ORA reg Melakukan operasi OR antara akumulator dan register Contoh :

    ORA D A A + D

    ORA M A A + M

    S Z - Ac - Pe - Cy

    22. ORI OR Immediate

    ORI XX Melakukan operasi OR antara akumulator dan konstanta Contoh :

    ORI 47 A A + 47

    ORI B3 A A + B3

    S Z - Ac - Pe - Cy

    23. CMA Complement Accumulator

    CMA Melakukan operasi NOT pada register A Contoh :

    CMA A NOT A

    S Z - Ac - Pe - Cy

    24. CMC Complement Carry

    CMC Melakukan operasi NOT pada flag carry Contoh :

    CMC Cy NOT Cy

    S Z - Ac - Pe - Cy

    25. STC Set Carry

    STC Mengatur nilai dari Carry Flag Cy = 1

    S Z - Ac - Pe - Cy

    1. RAR Rotate Accumulator Right

    RAR Memutar isi akumulator ke kanan melalui carry flag

    h g f e d c b a Cy

    Setelah dilakukan operasi RAR

    S Z - Ac - Pe - Cy

  • menjadi

    Cy h g f e d c b a

    Cy = a dan data pada MSB adalah data pada Cy

    2. RAL Rotate Accumulator Left

    RAL Memutar isi akumulator ke kiri melalui carry flag

    h g f e d c b a Cy

    Setelah dilakukan operasi RAR menjadi

    g f e d c b a cy h

    Cy = a dan data pada LSB adalah data pada Cy

    S Z - Ac - Pe - Cy

    3. RRC Rotate Right Through Carry

    RRC Memutar isi akumulator ke kanan, bit LSB di salin ke carry

    S Z - Ac - Pe - Cy

    4. RLC Rotate Left Through Carry

    RLC Memutar isi akumulator ke kanan, bit MSB di salin ke carry

    S Z - Ac - Pe - Cy

    1. JMP Jump unconditional

    JMP addr Lompat tanpa syarat ke alamat memori dari addr Contoh :

    JMP 830A Loncat ke alamat 830A

    S Z - Ac - Pe - Cy

    2. JZ Jump If Zero

    JZ addr Lompat ke alamat memori dari addr, jika Zero Flag = 1 Contoh :

    S Z - Ac - Pe - Cy

  • JZ 803A Jika Z = 1 maka lompat ke alamat 803A, jika Z = 0 akan meneruskan instruksi selanjutnya

    3. JNZ Jump If No Zero

    JNZ addr Lompat ke alamat memori dari addr, jika Zero Flag = 0 Contoh :

    JNZ 803A Jika Z = 0 maka lompat ke alamat 803A, jika Z = 1 akan meneruskan instruksi selanjutnya

    S Z - Ac - Pe - Cy

    4. JC Jump If Carry

    JC addr Lompat ke alamat dari memori addr, jika Carry Flag = 1 Contoh :

    JC 803A Jika Cy = 1 maka akan lompat ke alamat 803A, jika Cy = 0 akan meneruskan instruksi selanjutnya

    S Z - Ac - Pe - Cy

    5. JNC Jump If No Carry

    JNC addr Lompat ke alamat dari memori addr, jika Carry Flag = 0 Contoh :

    JNC 803A Jika Cy = 0 maka akan lompat ke alamat 803A, jika Cy = 1 akan meneruskan instruksi selanjutnya

    S Z - Ac - Pe - Cy

    6. JPE Jump If Parity Even

    JPE addr Lompat ke alamat dari memori addr, jika Parity Even Flag = 1 Contoh :

    JPE 803A Jika PE = 1 maka akan lompat

    S Z - Ac - Pe - Cy

  • ke alamat 803A, jika PE = 0 maka akan meneruskan instruksi selanjutnya

    7. JPO Jump If Parity Odd

    JPO addr Lompat ke alamat memori addr, jika Parity Even Flag = 0 Contoh :

    JPO 803A Jika PE = 0 maka akan lompat ke alamat 803A, jika PE = 0 maka akan meneruskan instruksi selanjutnya

    S Z - Ac - Pe - Cy

    8. JM Jump If Minus

    JM addr Lompat ke alamat memori addr, jika Sign Bit = 1 Contoh :

    JM 803A Jika S= 1 maka akan lompat ke alamat 803A, jika S = 0 maka akan meneruskan instruksi selanjutnya

    S Z - Ac - Pe - Cy

    9. JP Jump If Positive

    JP addr Lompat ke alamat memori addr, jika Sign Bit = 0 Contoh :

    JP 803A Jika S= 0 maka akan loncat ke alamat 803A, jika S = 1 maka akan meneruskan instruksi selanjutnya

    S Z - Ac - Pe - Cy

    10. CALL Call unconditional

    CALL addr Memanggil sub rutin dari alamat addr, tanpa syarat

    S Z - Ac - Pe - Cy

    11. CZ Call if Zero

    CZ addr Memanggil sub rutin dari alamat addr, jika Z = 1

    S Z - Ac - Pe - Cy

    12. CNZ Call If No Zero

    CNZ addr Memanggil sub rutin dari alamat addr, jika Z =0

    S Z - Ac - Pe - Cy

  • 13. CC Call If Carry

    CC addr Memanggil program sub rutin dari alamat addr, jika Cy = 1

    S Z - Ac - Pe - Cy

    14. CNC Call If No Carry

    CNC addr Memanggil program sub rutin dari alamat addr, jika Cy = 0

    S Z - Ac - Pe - Cy

    15. CPE Call If Parity Even

    CPE addr Memanggil program sub rutin dari alamat addr, jika PE = 1

    S Z - Ac - Pe - Cy

    16. CPO Call If Parity Odd

    CPO addr Memanggil program sub rutin dari alamat addr, jika PE= 0

    S Z - Ac - Pe - Cy

    17. CM Call If Minus

    CM addr Memanggil program sub rutin dari alamat addr, jika S = 1

    S Z - Ac - Pe - Cy

    18. CP Call If Positive

    CP addr Memanggil program sub rutin dari alamat addr, jika S = 0

    S Z - Ac - Pe - Cy

    19. RET Return

    RET Mengakhiri program sub rutin dan melanjutkan kembali program utama

    S Z - Ac - Pe - Cy

    20. RZ Return If Zero

    RZ Mengakhiri program sub rutin dan melanjutkan kembali program utama, jika Z = 1

    S Z - Ac - Pe - Cy

    21. RNZ Return If No Zero

    RNZ Mengakhiri program sub rutin dan melanjutkan kembali program utama, jika Z = 0

    S Z - Ac - Pe - Cy

    22. RM Return If Minus

    RM Mengakhiri program sub rutin dan melanjutkan kembali program utama, jika S = 1

    S Z - Ac - Pe - Cy

    23. RP Return If Positive

    RP Mengakhiri program sub rutin dan melanjutkan kembali program utama, jika S = 0

    S Z - Ac - Pe - Cy

    24. RPE Return If Parity Even

    RPE Mengakhiri program sub rutin dan melanjutkan kembali program utama, jika PE = 1

    S Z - Ac - Pe - Cy

    25. RPO Return If Parity Odd

    RPO Mengakhiri program sub rutin dan melanjutkan kembali program utama, jika PE = 0

    S Z - Ac - Pe - Cy

    26. RC RC Mengakhiri program sub rutin dan

  • Return If Carry melanjutkan kembali program utama, Jika Cy = 1

    27. RNC Return If No Carry

    RNC Mengakhiri program sub rutin dan melanjutkan kembali program utama, jika Cy = 0

    S Z - Ac - Pe - Cy

    1. EI Enable Interrupt

    EI Mengaktifkan interrupt S Z - Ac - Pe - Cy

    2. DI Disable Interrupt

    DI Me non-aktifkan interrupt S Z - Ac - Pe - Cy

    3. HLT Halt

    HLT Program menunggu interupsi S Z - Ac - Pe - Cy

    4. NOP No Operation

    NOP Prosesor tidak melakukan proses apapun

    S Z - Ac - Pe - Cy

    5. SIM Set Interrupt Maskable

    SIM Mengaktifkan penghalan interrupt S Z - Ac - Pe - Cy

    6. PCHL Copy H & L to P & C register

    PCHL Menyalin isi HL ke register PC S Z - Ac - Pe - Cy

    7. RST Restart

    RST n RESTART n S Z - Ac - Pe - Cy

    8. PUSH PUSH reg_pair Menyalin isi pasangan register ke TOS (Top Of Stack) Contoh : PUSH PSW TOS A & F PUSH B TOS BC

    S Z - Ac - Pe - Cy

    9. POP POP reg_pair Menyalin isi TOS ke pasangan register Contoh : POP PSW A & F TOS POP B

    S Z - Ac - Pe - Cy

  • BC TOS 10. XTHL

    Exchange HL with TOS XTHL Menukar isi register HL dengan

    TOS S Z - Ac - Pe - Cy

    11. SPHL SPHL Menyalin isi register HL ke register SP

    S Z - Ac - Pe - Cy

    12. IN IN port Membaca data dari alamat port Contoh : IN 51

    S Z - Ac - Pe - Cy

    13. OUT OUT port Mengirim data dari alamat port Contoh : OUT 50

    S Z - Ac - Pe - Cy