Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Instruksi Logika Dasar

Presentasi serupa


Presentasi berjudul: "Instruksi Logika Dasar"— Transcript presentasi:

1 Instruksi Logika Dasar
Instruksi logika dasar meliputi AND, OR, Eksklusif-OR, dan NOT. Instruksi lainnya, yaitu TEST juga akan dijelaskan pada bagian ini karena operasi instruksi TEST merupakan bentuk khusus dari instruksi AND Selain itu, dipaparkan instruksi NEG yang mirip dengan NOT. Operasi logika menyediakan kontrol bit biner pada perangkat lunak tingkat rendah (low-level software). Instruksi logika memungkinkan bit untuk diset, clear, atau dikomplemen. Perangkat lunak tingkat rendah terdapat pada bahasa mesin atau bahasa assembly, dan sering digunakan untuk mengontrol peranti 1/0 dalam sebuah sistem. Semua instruksi logika mempengaruhi bit flag. Operasi logika selalu membersihkan flag carry dan overflow, sementara flag yang lain berubah untuk mencerminkan kondisi hasil. Ketika data biner dimanipulasi dalam register atau lokasi memori, posisi bit paling kanan selalu diberi nomor 0. Nomor posisi bit meningkat dari bit 0 di kiri, hingga bit 7 untuk satu byte data, dan sampai bit 15 untuk satu word data. Data doubleword (32-bit) menggunakan posisi bit 31 sebagai bit paling kiri. NEXT

2 AND Operasi AND membersihkan perkalian logika, seperti yang diilustrasikan dengan tabel kebenaran pada Gambar 5-3. Di sini, dua bit A dan B di-AND untuk memperoleh hasil X. Seperti yang ditandakan oleh tabel kebenaran, X berlogika 1 hanya jika A dan B berlogika 1. Bagi semua kombinasi rnasukan lain untuk A dan B, X berlogika 0. Penting untuk diingat bahwa 0 AND ada pun selalu 0, dan 1 AND 1 selalu 1. Contoh 5-26 0000 BB MOV BX,3135H ;load ASCII E3 OFOF AND BX,OFOFH ;mask BX

3 Bahasa Assembly Operasi
Tabel 5-14 Instruksi AND Bahasa Assembly Operasi AND AL,BL AL = AL AND BL AND CX,DX CX = CX AND DX AND ECX, EDI ECX = ECX AND EDI AND CL, 33 H CL = CL AND 33H AND DI,4FFFH DI = DI AND 4F FFH AND ESI,34H ESI = ESI AND 34H AND AX,[DI] AX di-AND dengan isi lokasi memori segmen data berukuran word yang dialamati oleh DI AND AX,[DI] Isi byte dari lokasi memori segmen data yang dialamati oleh penjumlahan ARRAY plus SI di-AND-kan dengan AL; hasil dipindahkan dalam memori AND [EAX],CL CL di-AND dengan isi lokasi memori segmen data berukuran byte yang dialamati oleh EAX; hasil dipindahkan dalam memori

4 OR Operasi OR melakukan penjumlahan logika dan sering disebut fungsi inklusif-OR. Fungsi OR menghasilkan keluaran berlogika I jika salah satu masuknya adalah 1. Keluaran akan memperlihatkan 0 hanya ketika semua masukannya adalah 0. Tabel kebenaran untuk fungsi OR terilliat pada Gambar 5-5. Di sini, masukan A dan B di-OR bersama untuk menghasilkan keluaran X. Penting untuk diingat bahwa I yang di-OR dengan apa pun akan menghasilkan I.

5 Gambar 5-5 (a) Tabel kebenaran Operasi OR dan
(b) simbol gate OR

6 Ekskfusif-OR Instruksi Eksklusif-OR (XOR) berbeda dengan Inklusif-OR (OR). Perbedaannya adalah jika kondisi 1,1 pada fungsi OR menghasilkan 1 maka kondisi 1,1 pada operasi Eksklusif­OR menghasilkan 0. Operasi Eksklusif-OR mengabaikan kondisi ini, sedangkan Inklusif­OR memasukkannya. Gambar 5-7 (a) Tabel kebenaran Untuk operasi Eksklusif-OR dan (b) simbol gate Eksklusif-OR

7 Tabel 5-16 Instruksi Eksklusif-OR
Bahasa Assembly Operasi XOR CH,DL CH = CH XOR CL XOR SI,BX S1 = S1 XOR BX XOR EBX,EDI EBX = EBX XOR EDI XOR AH,OEEHX AH = AH XOR OEEH OR DI,0DDH DI = DI XOR ODDH XOR ESI,100 ESI = ESI XOR 100 XOR DX,[SI] DX di-Eksklusif-OR dengan isi lokasi memori segmen data berukuran word yang dialamati oleh SI XOR DATES[DI + 2],AL ALdi-Eksklusil-OR dengan isi lokasi memori segmen data berukuran byte yang dialamati oleh penjumlahan DATES, DI , dan 2

8 Instruksi Test dan Bit Test
Instruksi TEST melakukan operasi AND. Perbedaannya adalah bahwa instruksi AND mengubah operand tujuan, sedangkan instruksi TEST tidak. Instruksi TEST hanya memengaruhi kondisi register flag, yang menandakan hasil dari tes. Instruksi TEST menggunakan inode pengalamatan yang sama dengan instruksi AND. Tabel 5-17 berisi deftar beberapa instruksi TEST dan operasinya. Tabel 5-17 Instruksi TEST Bahasa Assembly Operasi TEST DL,DH DL di-AND dengan DH TEST CX,BX CX di-AND dengan BX TEST EDX,ECX EDX di-AND dengan ECX TEST AH,4 AH di-AND dengan 4 TEST EAX,256 EAX di-AND dengan 256

9 BTC Mengetes dan mengomplemen suatu bit dalam operand tujuan yang
Tabel 5-18 Instruksi bit tes Bahasa AssemblyOperasi BT Mengetes suatu bit dalam operand tujuan yang ditentukan oleh operand sumber BTC Mengetes dan mengomplemen suatu bit dalam operand tujuan yang ditentukan oleh operand sumber BTR Mengetes dan mereset suatu bit dalam operand tujuan yang ditentukan oleh operand sumber BTS Mengetes dan mengeset sualu bit dalam operand tujuan yang ditentukan oleh

10 NOT dan NEG Invers logika, atau komplemen satu (NOT); dan invers tanda aritinatika, atau komplemen dua (NEG) merupakan dua fungsi logika terakhir yang akan dijelaskan (kecuali shift dan rotate pada bagian selanjutnya). NOT dan NEG adalah dua dari sedikit instruksi yang hanya mempunyai satu operand. Tabel 5-19 berisi daftar beberapa variasi instruksi NOT dan NEG. Seperti kebanyakan instruksi lain, NOT dan NEG dapat menggunakan semua mode pengamatan, kecuali pengalamatan register segmen.

11 Tabel 5-19 Instruksi NOT dan NEG
Bahasa Assembly Operasi NOT CH CH dikomplemen satu NEG CH CH dikomplemen dua NEG AX AX dikomplemen dua NOT EBX EBX dikomplemen satu NEG ECX ECX dikomplemen dua NOT TEMP Isi lokasi memori segmen data TEMP dikomplemen satu NOT BYTE PTR[BX] Isi lokasi memori segmen data yang dialamati oleh BX dikomplemen satu

12 Pergeseran Instruksi pergeseran (shift) meletakkan atau memindahkan angka ke sebelah kiri ataU kanan dalam suatu register atau lokasi memori. Instruksi ini juga melaksanakan aritmatika sederhana seperti perkalian dengan pangkat 2+n (geser kiri – left shift) dan pembagiall dengan pangkat 2+n (geser kanan – right shift). Set instruksi mikroprosesor berisi empat instruksi pergeseran yang berbeda: dua adalah pergeseran logika dan dua yang lain adalah pergeseran aritmatika. Keempat operasi pergeseran tersebut terlihat pada Gambar 5-9.

13 Gambar 5-9 Instruksi pergeseran
yang menunjukkan operasi dan arah pergeseran Memori atau register target

14 Perputaran Instruksi perputaran menentukan posisi data biner dengan memutar informasi dalam suatu register atau lokasi memori, baik dari ujung ke ujung maupun melalui flag cairy. Instruksi ini sering digunakan untuk menggeser atau menempatkan posisi angka yang lebih lebar dari 16-bit pada mikroprosesor atau lebih lebar dari 32-bit pada sampai Pentium 4. Empat instruksi perputaran terlihat pada Gambar 5-10.

15 Memori atau register target
Gambar 5-10 Instruksi perputaran yang memperlihatkan aran dan operasi setiap perputaran Memori atau register target

16 PERBANDINGAN STRING Seperti yang diilustrasikan pada Bab 4, instruksi string merupakan sarana penting bagi programer untuk memanipulasi blok data besar dengan mudah. Manipulasi blok data dapat dilakukan dengan instruksi string MOVS, LODS, STOS, INS, dan OUTS. Pada bagian ini, akan dibahas instruksi string tambahan yang memungkinkan pengetesan bagian memori dibandingkan dengan konstanta, atau dengan bagian memori lain. Untuk mengerjakan tugas ini, gunakanlah instruksi SCAS (string scan) atau CMPS (string compare).

17 CONTOH 5-34 0000 BF 0011 R MOVDI,OFFSET BLOCK ; address data 0003 FC CLD ; auto-increment 0004 B MOVCX , ; load counter C0 XORAL , AL ; clear AL 0009 F2 / AE REPNESCASB ; search

18 Soal Buatlah tabel dari instruksi AND!
Soal Buatlah tabel dari instruksi AND! Buatlah tabel kebenaran dari gerbang Ekslusif-OR! Gambarkan instruksi pergeseran yang menunjukkan operasi dan arah pergeseran! Apa yang dimaksud dengan perbandingan string dan buatlah tabel dari perbandingan string tersebut! NEXT

19 TUTUP Terima Kasih


Download ppt "Instruksi Logika Dasar"

Presentasi serupa


Iklan oleh Google