Instruksi Logika Dasar

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

Pemograman DEBUG.
Manipulasi Bit dan Logika
Bus 3-State Sistem bus dapat dibangun dari gerbang 3-keadaan
Praktikum Organisasi Komputer (Bahasa Assembly)
BAB IV MODE PENGALAMATAN
Bhakti Yudho Suprapto, MT
Arsitektur & Organisasi
Turbo Assembly Masukan dari Keyboard.
REGISTER Oleh : Oman Somantri, S.Kom
PENDAHULUAN Dalam bab ini, kita akan mengembangkan pengetahuan mengenai dasar I/O dan antar muka periferal yang dapat diprogram denagn memelajari sebuah.
Dasar pemrograman Mikroprosesor 8086
Mikroprosesor 8086 dan 8088.
ARSITEKTUR SET INSTRUKSI
Instruksi Aritmatika dan Logika
Mode Pengalamatan Mengatasi keterbatasan format instruksi
ORGANISASI KOMPUTER Mode Pengalamatan 10-Apr-17.
ARSITEKTUR SET INSTRUKSI
Instruksi Pengatur Program
Johannes Simatupang, MKom, Cobit5-F NIDN :
REGISTER.
POINTER & MANIPULASI BIT DAN LOGIKA
FAKULTAS ILMU KOMPUTER UNIVERSITAS PUTRA INDONESIA”YPTK” PADANG
Mode Pengalamatan.
Mode Pengalamatan Memori
EE-2623 Mikroprosesor & Antarmuka
SISTEM BILANGAN DAN REGISTER
Pointer. Karakteristik Operasi Assembly  Lebar data tujuan dan asal harus sama! Lebar data tidak sama => invalid opcode  Operasi 8bit disimpan pada.
MODE DAN FORMAT PENGALAMATAN.
Instruksi Perpindahan Data
Arsitektur Perangkat Lunak 8086
Pertemuan 4 (Set Instruksi ARM)
lnstruksi Aritmetika dan Logika
PENDAHULUAN Pembuatan perangkat lunak yang efisien untuk mikroprosesor membutuhkan pengenalan yang menyeluruh mengenai mode pengalamatan yang digunakan.
Pertemuan 6 Operator & prioritas operator .:: Erna Sri Hartatik ::.
INSTRUKSI LOGIKA DASAR
Arsitektur Mikroprosessor 8086
Register.
Pertemuan 7 Instruksi Bahasa Rakitan 8088
1 Pertemuan 3 Komponen Sistem Komputer dan Register pada prosesor 8088 Matakuliah: T0483 / Bahasa Rakitan Tahun: 2005 Versi: versi 1.0 / revisi 1.0.
Pengenalan Assembler.
ARSITEKTUR SET INSTRUKSI
SISTEM PENGOLAHAN DATA KOMPUTER
Mode Pengalamatan Mengatasi keterbatasan format instruksi
Pertemuan 3 (Bahasa Assembly)
Matakuliah : T0483 / Bahasa Rakitan Tahun : 2005 Versi : 1.0
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
MODE PENGALAMATAN DAN SET INSTRUKSI
Model Hipotesis SAP-3 Abdillah, S.Si, MIT.
SAP-2.
Operasi String.
Instruksi Perpindahan Data Miscellaneous
ARSITEKTUR SET INSTRUKSI
REGISTER.
Sistem Bilangan & REGISTER
Pengenalan Assembler.
PEMROGRAMAN PASCAL ELEMEN PEMROGRAMAN PASCAL.
BAB III REGISTER 8088 Mikroprosesor 8088 berorientasi pada register
Transfer Register dan Mikrooperasi
OPERASI PADA LAYAR.
OPERASI PADA STRING.
Matakuliah : T0483 / Bahasa Rakitan Tahun : 2005 Versi : 1.0
SISTEM PENGOLAHAN DATA KOMPUTER
ARSITEKTUR SET INSTRUKSI
OPERASI LOGIKA Mulyono.
ARSITEKTUR SET INSTRUKSI
Manipulasi Bit dan Logika
ARSITEKTUR SET INSTRUKSI
Karakteristik Set Instruksi 14 JP. Karakteristik Set Instruksi Pengertian Set Instruksi Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan.
Dasar Pemrograman Pertemuan 6 Operator & prioritas operator.:: Erna Sri Hartatik ::.
Transcript presentasi:

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

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 3135 MOV BX,3135H ;load ASCII 0003 81 E3 OFOF AND BX,OFOFH ;mask BX

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

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.

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

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

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

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

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

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.

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

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.

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

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 8086-80286 atau lebih lebar dari 32-bit pada 80386 sampai Pentium 4. Empat instruksi perputaran terlihat pada Gambar 5-10.

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

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).

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

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

TUTUP Terima Kasih