Wednesday, 21 March 2012

Set Instruksi Mikroprosesor 8086 & 8088



Berikut ini penjelasan tentang instruksi yang digunakan pada bahasa rakitan 8086 dan 8088 atau sejenisnya :



1. AAA (ASCII adjust for edition) Pengaturan ASCII bagi penambahan

2. AAD (ASCII adjust for division) Pengaturan ASCII bagi pembagian

3. AAM (ASCII adjust for multipy) Pengaturan ASCII bagi perkalian

4. AAS (ASCII adjust for substraction) Pengaturan ASCII bagi pengurangan

5. ADC (add with carry) T ambahkan dengan carry

6. ADD (addition) Penambahan

7. AND (logic AND) Logik AND

8. CALL (CALL subroutine) Subrutin panggil

9. CBW (Convert byte to word) Konversikan byte ke kata

10. CLC (Clear Carry) Kosongkan corry flag

11. CLD (Clear directon flag) Kosongkan flag arah

12. CLI (Clear interrupt enable) Kosongkan flag penggerak interupsi

13. DAS (decimal adjust for substraction) Pengaturan decimal bagi pengurangan

14. DEC (decrement) Penurunan operand tujuan dengan 1

15. DIV (divide) Pembagian tak bertanda

16. ESC (escape) Escape digunakan sehubungan dengan suatu co-procesor external

17. HLT (halt) HLT menghentikan prosesor sampai saluran reset diaktifkan

18. IDIV (Integer division) Pembagian kilat

19. IMUL (Integer multiply) Perkalian kilat

20. IN (Input) IN (masukan) mentransfer data dari port yang disperifikasikan ke dalam register AC atau AX

21. INC (Increment) INC menaikkan operand tujuan dalam 1

22. INT (Interupt) INT (Interupsi) mengawali suatu prosedur interupsi dengan jenis yang dispesifikasikan oleh instruksi yang bersangkutan

23. INTO (Interupt on overflow) Instrupsi bila ada overflow INTO digunakan untuk membangkitkan suatu interupsi perangkat lunak yang bergantumg pada status flag OF

24. IRET (Interupt return) IRET digunakan untuk kembali dari suatu interupsi dan mendapatkan kembali IP,CS dan flag-flag dari stack

25. JA (Jump on above) Digunakan jika operand pertama lebih besar daripada operand kedua

26. JNBE (Jump) Digunakan jika pada saat pembandingan operand 1, tidak lebih kecil atausama dengan operand 2

27. JAE (Jump on above or equal) Digunakan pada saat pembandingan operand 1 lebih besar atau sama dengan operand 2

28. JNB (Jump not below) Digunakan pada saat pembandingan operand 1 tidak lebih kecil dari operand 2

29. JB (Jump on below) Digunakan pada saat operand 1 lebih kecil dari operand 2

30. JNAE (Jump on not above or equal) Digunakan pada saat operand 1 tidak lebih besar atau sama dengan operand 2

31. JBE (Jump on below or equal) Digunakan pada saat operand 1 lebih kecil atau sama dengan operand 2

32. JNA (Jump on not above) Digunakan pada saat operand 1 tidak lebih besar dari operand 2

33. JC (Jump on carry) Digunakan pada saat akan diprogram CF=1

34. JCXZ (Jump if CX=0) Digunakan bila isi register CX=0

35. JE (Jump on equal) Digunakan pada saat pembandingan kedua operand sama

36. JZ (Jump on zero) Digunakan pada saat akan diproses ZF=1

37. JG (Jump on greather than) Digunakan pada saat pembandingan operand 1 menunjukkan lebih besar dari operand 2

38. JNLE (Jump on greather or equal) Digunakan pada saat operand 1tidak lebih kecil atau sama dengan operand 2

39. JGE (Jump on greather or equal) Digunakan pada saat operand 1 lebih besar atau sama dengan operand 2

40. JNL (Jump on less) Digunakan pada saat operand 1 tidak lebih kecil dari operand 2

41. JL (Jump on less) Digunakan pada saat operand 1 lebih kecil dari operand 2

42. JNGE (Jump on not greather or equal) Digunakan pada saat operand 1 tidak lebih besar atau sama dengan operand 2

43. JLE (Jump on less or equal) Digunakan pada saat operand 1 lebih kecil atau sama dengan operand 2

44. JNG (Jump on not greather than) Digunakan pada saat operand 1 tidak lebih besar daripada operand 2

45. JMP (Unconditional jump) Lompatan tidak bersyarat

46. JNC (Jump on not carry) Digunakan pada saat diproses CF=O

47. JNE (Jump on not equal) Digunakan pada saat operand 1 tidak sama dari operand 2

48. JNO (Jump on not zero) Digunakan pada saat diproses ZF=0

49. JNO (Jump on not overflow) Digunakan bila tidak ada overflow (OF=O)

50. JNS (Jump on not sign) Digunakan pada saat diproses SF=O

51. ZNP (Jump on not pority) Digunakan bila tidak ada pointer

52. JPO (Jump on poity odd) Digunakan bila pointer ganjil

53. JO (Jump on overflow) Digunakan pada saat ada overflow

54. JP (Jump on Pority equal) Digunakan bila pointer genap

55. JS (Jump on sign) Digunakan pada saat diproses ZF=1

56. LAHF (Load AH from flag) LAHF me-load bit 7,6,4,2 & 0 pada register AH masing-masing dengan isi flag SF.ZF,AF & CF

57. LDS (Load pointer using DS) Muatkan peminjak dengan menggunakan DS

58. LEA (Load effective address) LEA mentransfer opsan sumber 16 bit dalam memori ke tujuan 16 bit

59. LES (Load pointer using ES) Muatkan pointer dengan menggunakan ES

60. LOCK (Lock bas) Digunakan dalam penerapan pemakaian sumber bersama, untuk memastikan bahwa memori tidak diakses secara serentak oleh lebih dari satu proses

61. LODS (Load string) Muatkan string byte atau kata

62. LOOP Loop jika EX bukan 0

63. LOOPE dan LOOPZ -Loop bila sama

-Loop bila 0

64. LOOPNE/LOOPNZ -Loop bila tidak sama (ZF=0)

-Loop bila tidak nol (ZF=O)

65. MOVE Pindahkan byte atau kata memindahkan data 8 bit atau 16 bit

66. MOUS (Move string) Pindahkan data string 8 bit atau 16 bit

67. MUL (Multifly) Digunakan untuk mengalihkan isi bertandapada akumulator dengan suatu operand sumber yang dispesifikasikan

68. NEG (Negate) Mengurangkan suatu operand tujuan dari 0 & menyimpan hasil komplemen keduanya dalam tujuan

69. NOP (Logic NOT) NOP tidak membe rikan dampak tertentu (tidak ada operasi)

70. NOT (Logic OR) Operasi logic OR

71. OR (Logic OR) Operasi logic OR

72. OUT (Output) Digunakan untuk mentransfer data dari AL atau AX ke point (pangkalan)

73. POP (POP from stack) Keluaran data dari stack dari AL atau AX ke point (pangkalan)

74. POPF (POP flag) Keluarkan ke flag dan stack

75. POSH (Push to stack) Dorong sumber ke stack

76. PUSHF (Push flag) Dorong flag ke stack

77. RCL (Rotate lift with carry) Putar ke kirin dengan carry 1

78. RCR (Rotate right with carry) Putar ke kanan dengan carry 1

79. REP Ulangi

80. REE Ulangi jika sama

81. REPZ Ulangi jika nol

82. REPNE Ulangi jika tidak sama

83. REPNZ Ulangi jika tidak nol

84. RET (Return from subroutine) Digunakan untuk kembali ke subrutin

85. ROL (Rotate left) Rotasi (putar) ke kiri 1

86. ROR (Rotate right) Rotasi (putar) ke kanan 1

87. SAHF (store AH in flags register) Simpan AH dalam reegister flag

88. SAL/SHL (Shift left arithmetic/logical) Geser aritmatik/logika ke kiri 1

89. SAR/SHR (Shift right arithmetic/logical) Geser aritmatik/logika ke kanan 1

90. SBB (Substract with borrow) Kurangkan dengan borrow

91. SCAS (Scan string) Digunakan untuk mengurangkan string tujuan yang dialamatkan a/n regiser DI,dari AX atau AL

92. STC (Set carry flag) Menset carry flag (CF)

93. STD (Set direction flag) Menset flag arah (DF)

94. STI (Set interrupt enable flag) Menset flag penggerak interupsi (IF)

95. STOS (Substract) Memindahkan operand sumber yang terkandung dalam AX atau AL ke suatu tujuan yang dialamatkan oleh DI

96. SUB (Substract) Mengurangkan sumber dari operand tujuan dan hasilnya ditepatkan dalm tujuan

97. TEST (Logical comporison) Menguji operand-operand atau logic perbandingan

98. WAIT Menunggu sampai saluran test aktif

99. XCHG (Exchange) Pertukaran dan sumber

100. XLAT (Translate) Digunakan untuk menerjemahkan se-byte dalam register AL ke dalam suatu byte yang diambil dari tabel terjemahan

101. XOR (Logic exclusive OR) Operasi exclusive OR

No comments:

Post a Comment