1 / 26

INSTRUKSI LOGIKA DASAR

INSTRUKSI LOGIKA DASAR. Instruksi logika dasar meliputi AND, OR, XOR (Exclusive-OR), dan NOT. Instruksi logika lainnya adalah TEST, yang akan dijelaskan pada subbab berikutnya karena instruksi operand TEST merupakan bentuk spesial dari instruksi AND.

Download Presentation

INSTRUKSI LOGIKA DASAR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INSTRUKSI LOGIKA DASAR • Instruksilogikadasarmeliputi AND, OR, XOR (Exclusive-OR), dan NOT. • Instruksilogikalainnyaadalah TEST, yang akandijelaskanpadasubbabberikutnyakarenainstruksi operand TEST merupakanbentukspesialdariinstruksi AND. • Jugaakandijelaskan, instruksi NEG, yang hampirserupadenganinstruksi NOT • Semuainstruksilogikaberpengaruhpada bit flag. operasilogikaselalumenghapus flag carry dan overflow, padasaat flag yang lainnyaberubahuntukmenggambarkankondisihasil.

  2. AND • Operasi AND membentukperkalianlogika, sepertidijelaskanpadatabelkebenaranpadaGambar 5-3. • Di sini 2 bit, A dan B, di-AND-kanhasilnya X. Sepertidiindikasikanolehtabelkebenaran, nilai X akan 1 kalaunilai A dan B = 1. • Untukkombinasi input A dan B yang lain, nilai X akan 0.

  3. OR • Operasi OR membentuklogikapenambahandankadangdisebutdenganfungsi Inclusive-OR. • Fungsi OR menghasilkan 1 jikasalahsatu input lainnya 1. • Logika 0 tampiljikasemuainputnya 0.

  4. Exclusive-OR (XOR) • Instruksi exclusive-OR berbedadari OR. • Perbedaannyaadalahkondisi 1,1 padafungsioRmenghasilkan 1; kondisi 1,1 pada exclusive-oRmenghasilkan 0.

  5. lnstruksi Test dan Test Bit • Instruksi TEST hampirsamadenganoperasi AND. • Bedanyainstruksi AND mengubah operand tujuan, sedanginstruksi TEST tidak. • Instruksi TEST hanyaberpengaruhpadakondisi register flag, yang menandakanhasilpengetesan. • Instruksi TEST menggunakan model pengalamatan yang samadenganinstruksi AND.

  6. Instruksi TEST memilikifungsi yang samadenganinstruksi CMP. Perbedaannyaadalahbahwainstruksi TEST biasanyamengetes bit tunggal (atau bit ganda), sedangkan • instruksi CMP mengetesseluruh data byte atau word. • Flag zero (Z) berlogika 1 (menandakanhasilnya zero) jika bit yang ditesbernilai zero, dan Z = O (menandakanhasiltidak zero) jika bit yang ditestidak zero. • Biasanyainstruksi TEST diikutiolehinstruksi JZ (iump • Jika zero) atau JNZ jump jikatidak zero).

  7. Test bit • Mikroprosesor 80386 sampai Pentium II berisiinstruksitestambahanuntukmengetesposisi bit singel. Tabel 5-18 menunjukkan 4 instruksites bit yang berbeda, yang tersediapadaprosesortersebut

  8. NOT dan NEG • Inverslogikaataukomplemen 1 (NOT) daninversitandaaritmatikaataukomplemen 2 (NEG) • Instruksi NOT menginverskanseluruh bit dalam byte, word ataudoubleword. • Instruksi NEG mengkomplemenduakansuatubilangan, yang berartibahwatandaaritmetikabilanganbisaberubahdaripositifkenegatifatausebaliknya. • Instruksi NOT dianggapsebagaiinstruksilogika, sedang NEG dianggapsebagaioperasiaritmetika

  9. INSTRUKSI SHIFT DAN ROTATE • Instruksi shift dan rotate memanipulasibilanganpadatingkat-tingkat bit biner, seperti yang dilakukandenganmenggunakaninstruksi AND, OR, Exclusive-OR, dan NOT. • Instruksi shift dan rotate banyakditemukanpada software aplikasitingkatrendahuntukmengontrolperalatan I/O. • Mikroprosesormemiliki set instruksilengkapuntuk shift dan rotate yang digunakanuntukpergeserandanpemutaran data memoriatau register.

  10. Penggeseran (Shift) • Instruksi shift memposisikanataumemindahkanbilanganke-kananataukiridari register ataulokasimemori. • Instruksiinijugamelakukaninstruksiaritmetikasederhanasepertiperkaliandenganpangkatdari 2+n (geserkekiri) danpembagiandenganpangkat 2-n (geserkekanan). • Set instruksi yang dimilikimikroprosesorberisi 4 instruksipenggeseran yang berbeda; 2 instruksimerupakanpenggeseranlogikadan 2 instruksipenggeseranaritmetika.

  11. Shift PresisiGanda (hanyauntuk 80386-Pentium II). • Prosesor 80386 danversidiatasnyaberisiinstruksi 2 penggeseranpresisiganda SHLD (geserkekiri) dan SHRD (geserkekanan). Tiapinstruksiberisi 3 operand, bukannya 2, sepertiditemukandenganinstruksipenggeseran yang lain. • Keduainstruksitersebutbekerjapada format register 16- atau 32-bit ataudengansatu 16- atau 32-bit lokasimemoridansebuah register.

  12. Rotate (Pemutaran) • Instruksi rotate memutarposisi data binerdenganmemutarinformasidalam register ataulokasimemoribaikapakahdarisatuujungkelainnyaataumelalui flag carrynya.

  13. lnstruksi Scan bit • Meskipuninstruksi scan bit tidakmenggeserataumerotasibilangan, program men-scan bilanganuntukmencari bit 1. • Instruksi bit scan BSF (bit scan forward) dan BSR (bit scan reverse) dapatditemukandalamprosesor 80386 sampai Pentium II. • Keduabentuk scan tersebutmelakukanpencarianbilangansampaimenemukan bit 1 yang pertama. • Instruksi BSF melakukan scanning bilangandari bit paling kirike bit paling kanan, daninstruksi BSR melakukan scanning bilangandari bit paling kananke bit paling kiri. • Jikaditemukan bit l-selamaproses scanning, bit flag zero berubahke 1 danposisi bit 1 yang ditemukandipindahkanke operand tujuan. • Jikatidakada bit 1 yang ditemukan (misalnyabilangantersebutbernilai 0 semuanya), bit flag zero diclearkanke 0. Iniartinyahasilnyatidaknoljikatidakada bit 1 yang ditemukan.

  14. PERBANDINGAN STRING (STRING COMPARISONS) • instruksi string sangatlahbergunakarenamemungkinkansetiapprogrameruntukmemanipulasisejumlahbesarblok data secaragampang. • bahastentanginstruksi string tambahan, yang memungkinkanbagianmemoriuntukditesterhadapsuatukonstantaatauterhadapsatubagiandarimemori. Untukitudigunakaninstruksi SCAS (string scan) atau CMPS (compare string).

  15. SCAS • Instruksi scan string (SCAS) membandingkanisi register AL dengansatu byte blokmemori, register AX dengansatu word blokmemori, atau EAX (80386-PentiumPro) dengansatudoublewordblokmemori. • Instruksi SCAS mengurangi AL, AX dan EAX denganmemoritanpamempengaruhiisi register maupunmemori. • Opcode yang digunakanuntukperbandingan byte adalah SCASB; untukperbandingan word opcodenya SCASW danuntukdoublewordopcodenya SCASD. • Dalamsemuakasus, isiekstrasegmenlokasimemori yang dialamatkanoleh DI dibandingkandengan AL, AX dan EAX. • Untukmengingatkanbahwasegmen default (ES) tidakdapatdiubahdenganpenumpukanprefikssegmen.

  16. CMPS • Instruksiperbandingan string (CMPS) selalumembandingkanduabagian data memoridalam byte (CMPSB), word (CMPSW), ataudoubleword (CMPSD). • Catatbahwaperbandinganddublewordhanyadilakukanpadaprosesor 80386 sampai Pentium pro. • Isi data segmen yang dialamatkanoleh SI dibandingkandenganisilokasimemorisegmenekstra yang dialamatkanoleh DI. Instruksi CMPS biasanyamenggunakanprefiksperulangan REPE (repeat while equal) atau REPNE (repeat while not equal). • Alternatifperulanganlainnyaadalah REPZ (repeat while zero) dan REPNZ (repeat while not zero), tapibiasanyadalampemrogramandigunakaninstruksi REPE dan REPNE.

  17. TugasBab 5 • Latihan No: 4, 5, 11, 29, 35, 40, 51

More Related