Instruksi Perpindahan Data Miscellaneous

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

Flags.
PERTEMUAN KE 5 OPERASI LOMPAT/JUMP.
Aplikasi dari program Mikroprosesor
Bhakti Yudho Suprapto, MT
Arsitektur Komputer “Mode Pengalamatan”
Turbo Assembly Masukan dari Keyboard.
REGISTER Oleh : Oman Somantri, S.Kom
Programmable Peripheral Interface (PPI) 8255
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
PENDAHULUAN Dalam bab ini, kita akan mengembangkan pengetahuan mengenai dasar I/O dan antar muka periferal yang dapat diprogram denagn memelajari sebuah.
Pemrograman Mikroprosesor
Instruksi Logika Dasar
Mode Pengalamatan Mengatasi keterbatasan format instruksi
Procedure. Procedure???? Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure suatu program yang besar bisa diselesaikan dengan.
ARSITEKTUR SET INSTRUKSI
Instruksi Pengatur Program
LOKASI DAN OPERASI MEMORI
JWASM Mencetak angka.
BAHASA RAKITAN BAGIAN 3.
REGISTER.
Mode Pengalamatan.
Pertemuan 1 Mengapa Belajar Bahasa Rakitan ??
ORGANISASI & ARSITEKTUR KOMPUTER 2 STRUKTUR & FUNGSI CPU IBP WIDJA, MT
Mode Pengalamatan Memori
SISTEM BILANGAN DAN REGISTER
Program Bahasa Rakitan dengan DEBUG.COM
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.
INSTRUKSI LOGIKA DASAR
Register.
Pertemuan 8 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.
Program Bahasa Rakitan dengan DEBUG.COM
BIOS, DOS, dan String.
Aplikasi dari program Mikroprosesor
1. Mikroprosesor Intel Pertama adalah : a c
SISTEM PENGOLAHAN DATA KOMPUTER
Mode Pengalamatan Mengatasi keterbatasan format instruksi
Pertemuan 3 (Bahasa Assembly)
Stack Segment & Bahasa Assembly
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
Matakuliah : H0182/Pemrograman Sistem Tahun : 2006 Versi : 01
SAP-3.
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
Triyogatama Wahyu Widodo
Matakuliah : H0162/ Mikroprosesor Tahun : 2006 Versi : 1/0
REGISTER.
ORGANISASI & ARSITEKTUR KOMPUTER 2 SET INSTRUKSI IBP WIDJA, MT
Sistem Bilangan & REGISTER
Mata Kuliah : Bahasa Rakitan
Pengenalan Assembler.
Instruksi-instruksi pada 8086
Instruksi-instruksi pada 8086
FLOW CONTROL INSTRUTIONS
BAB III REGISTER 8088 Mikroprosesor 8088 berorientasi pada register
SUPLEMEN MASA DEPAN KULIAH ORGANISASI DAN ARSITEKTUR KOMPUTER
Pertemuan 6 Instruksi Bahasa Rakitan 8088
Model Hipotesis SAP-2 Abdillah, S.Si, MIT.
OPERASI PADA STRING.
SISTEM PENGOLAHAN DATA KOMPUTER
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
Andang, Elektronika Komputer Digital
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
CHAP 6 SET INSTRUKSI MEMORI
Karakteristik Set Instruksi 14 JP. Karakteristik Set Instruksi Pengertian Set Instruksi Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan.
Transcript presentasi:

Instruksi Perpindahan Data Miscellaneous Tak perlu bingung dengan istilah miscellaneous : instruksi ini digunakan dalam program. Instiuksi transfer data yang dijelaskan pada bagian ini adalah XCHG, LAHF, SAHF, XLAT, IN, OUT, BSWAP, MOVSX, MOVZX, dan CMOV. Karena tidak digunakan sesering instruksi MOV, instruksi miscellaneous ini dikelompokkan tersendiri dan dijelaskan pada bagian ini. NEXT

XCHG Instruksi XCHG (exchange) menukar isi suatu register dengan isi register atau lokasi memori yang lain. Instruksi XCHG tidak dapat menukar register segmen atau memori-ke-memori data. Pertukaran ini dapat berukuran byte, word, atau doubleword (80386 ke atas), dan dapat menggunakan setiap mode pengalamatan seperti yang didiskusikan pada Bab 3, kecuali pengalamatan immediate. Tabel 4-16 mernperlihatkan beberapa contoh instruksi XCHG. LAHF dan SAHF Instruksi LAHF dan SAHF jarang digunakan karena instruksi tersebut dirancang sebagai instruksi penghubung. Instruksi ini memungkinkan perangkat lunak 8085 (mikroprosesor 8-bit awal) diterjemahkan ke dalam perangkat lunak 8086 dengan menggunakan sebuah program penerjemah. Karena perangkat lunak yang membutuhkan terjemahan telah berakhir beberapa tahun yang lalu, instruksi tersebut hanya mempunyai sedikit aplikasi saat ini. Instruksi LAHF mentransfer delapan bit paling kanan register flag ke dalam register AH. Instruksi SAHF mentransfer register AH ke dalam delapan bit paling kanan register flag. NEXT

XLAT Instruksi XLAT (translate) mengubah isi register AL ke dalam suatu bilangan yang disimpan dalam suatu label memori. Instruksi ini melakukan teknik lookup tabel langsung yang sering digunakan untuk mengonversi satu kode ke kode yang lain. Instruksi XLAT pertama kali menjumlahkan isi AL dengan BL untuk membentuk suatu alamat memori yang terletak dalam segmen data. Instruksi ini kemudian menyalin isi alamat tersebut ke dalam AL. Instruksi ini merupakan satu-satunya instruksi yang menjumlahkan bilangan 8-bit dengan bilangan 16-bit. IN dan OUT Tabel 4-17 merupakan daftar bentuk instruksi IN dan OUT yang menjalankan operasi I/O. Perhatikan bahwa isi AL, AX, atau EAX hanya ditransfer antara peranti I/O dan mikroprosesor. Instruksi IN mentransfer data dan peranti I/O eksternal ke AL, AX, atau EAX; instruksi OUT mentransfer data dan AL, AX, atau EAX ke peranti I/O eksternal, (Perhatikan, hanya versi 80386 ke atas yang memunyai EAX). MOVSX dan MOVZX Instruksi MOVSX (move and sign extended) dan MOVZX (move and zero-extend) terdapat dalam set instruksi 80386-Pentium 4. Instruksi ini memindahkan data, dan pada waktu yang bersamaan menambahkan tanda atau not pada data tersebut. Tabel 4-18 mengilustrasikan instruksi ini dengan beberapa contoh pada masing-masing instruksi mi. NEXT

BSWAP Instruksi BSWAP (byte swap) hanya terdapat pada 80486 dan semua versi mikroprosesor Pentium. Instruksi ini mengambil isi register 32-bit dan menukar byte pertama dengan keempat, dan byte kedua dengan ketiga. Sebagai contoh, instruksi BSWAP EAX dengan isi EAX = 001 12233H menukar byte dalam EAX, sehingga EAX = 33221 100H. Perhatikan bahwa urutan keempat byte tersebut dibalik dengan instruksi 1. lnstruksi in digunakan untuk mengubah data dan bentuk big endian ke bentuk little endian, dan sebaliknya. CMOV Kelas instruksi CMOV (conditional move) merupakan instruksi baru pada set instruksi Pentium Pro dan Pentium II. Terdapat beberapa variasi dan instruksi CMOV. Tabel 4-19 memuat daftar variasi instruksi CMOV. Instruksi ini memindahkan data hanya jika kondisinya terpenuhi (true). Sebagai contoh, instruksi CMOVZ memindahkan data hanya jika hasil dan beberapa instruksi sebelumnya bernilai nol Register tujuan dibatasi hanya pada register 16-bit atau 32-bit, tetapi register asal dapat berupa register 16-bit atau 32-bit, atau lokasi memori. NEXT

GAMBAR 4-18 Sinyal-sinyal yang terdapat pada sistem berbasis mikroprosessor pada instruksi OUT 19H,AX. NEXT

TABEL 4-19 Instruksi perpindahan bersyarat Bahasa Assembly Kondisi yang dites Operasi CMOVB C = 1 Memindahkan jika di bawah CMOVAE C = 0 Memindahkan jika di atas CMOVBE Z = 1 atau C =0 Memindahkan jika di bawah atau sama CMOVA Z =0 dan C =0 Memindahkan jika di atas CMOVE atau CMOVZ Z = 1 Memindahkan jika sama atau lakukan set jika nol CMOVNE atau MOVNZ Z =0 Memindahkan jika tidak sama atau takukan set jika tidak nol CMOVL S<>O Memindahkan jika lebih kecil CMOVLE Z = 1 atau S = 0 Memindahkan jika lebih kecil atau sama CMOVG Z =0 dan S = 0 Memindahkan jika Iebih besar CMOVGE S =0 Memindahkan jika lebih besar atau sama CMOVS S = 1 Memindahkan jika ada sign (negatif) CMOVNS S = 0 Memindahkan jika tak ada srgn (positif) CMOVC C = 1 Memindahkan jika carry CMOVNC C =0 Memindahkan jika tak ada carry CMOVO 0= 1 Mpmindahkan Jika overflow CMOVNO 0=0 M~mindahkan jika tak ada overflow CMOVP atau CMOVPE P = 1 Meniindahkan jika ada paritas atau lakukan set jika paritas genap CMOVNP atau CMOVPO P =0 Memindahkan jika tak ada paritas atau lakukan set jika angka paritas ganjil NEXT

SEGMENT OVERRIDE PREFIX Segment override prefix, yang dapat ditambahkan di hampir semua instruksi pada berbagai mode pengalamatan memori, membuka peluang bagi programer untuk berpindah dan segmen default. Segment override prefix merupakan byte tambahan yang melampiri bagian depan instruksi untuk memilih suatu register segmen altematif. Instruksi yang tidak bisa diawali (diberi prefiks) adalah instruksi jump dan call yang harus menggunakan register segmen kode untuk pembuatan alamat. Segment override juga digunakan untuk memilih segmen FS dan GS pada mikroprosesor 80386 sampai Pentium 4. NEXT

yang termasuk segment override prefix TABEL 4-20 Instruksi yang termasuk segment override prefix Bahasa Assembly Segmen yang Diakses Segmen Default MOV AX,DS:[BP] Data Stack MOV AX,ES:[BP) Ekstra Stack MOV AX,SS:[DI] Stack Data MOV AX,CS:LIST Kode Data MOV AX,ES:[SI] Ekstra Data LODS ES:DATA1 Data Ekstra MOV EAX,FS:DATA2 Data FS MOV BLGS:[ECX] Data GS NEXT

DETAIL ASSEMBLER Assembler untuk mikroprosesor dapat digunakan dengan dua cara: (1) dengan model yang unik untuk assembler tertentu, dan (2) dengan definisi segmen-penuh (full-segmen definitions) yang memungkinkan pengaturan menyeluruh terhadap proses assembly dan bersifat universal untuk semua assembler. Bagian teks ini mempresentasikan kedua metode 1111, dan menjelaskan bagaimana mengatur ruang memori program dengan menggunakan assembler. Bagian ini juga menerangkan tujuan dan manfaat beberapa direktif penting yang digunakan assembler tersebut. Lampiran A menyediakan penjelasan tambahan mengenai assembler. NEXT

Program Sampel Contoh 4-20 menunjukkan sebuah program sampel, menggunakan definisi segmen-penuh, yang membaca karakter dari keyboard dan menampilkannya pada layar CRT. Meskipun tidak begitu penting, program ini mengilustrasikan sebuah program yang dapat dikerjakan secara penuh yang berfungsi pada komputer yang menggunakan DOS, dari yang paling awal yaitu sistem berbasis 8088 hingga sistem berbasis Pentium 4 terakhir. Program inijuga mengilustrasikan penggunaan beberapa fungsi panggilan DOS. (Lampiran A berisi daftar fungsi panggilan DOS beserta parameternya). Fungsi panggilan BIOS memungkinkan penggunaan keyboard, printer, disk drive dan perangkat lain yang terdapat pada sistem komputer Anda. NEXT

;An example program that reads a key and displays it. CONTOH 4-20 ;An example program that reads a key and displays it. ;Note that an @ key ends the program. ; 0000 CODE_SEG SEGMEN 'CODE' ASSUME CS:CODE_SEG 0000 MAIN PROC FAR 0000 B4 06 mov AH,6 ;readkey 0002 B2 FF MOV DL,OFPH 0004 CD 21 INT 21H 0006 74 F8 JE MAIN ;if no key 0008 3C 40 Cmp AL,,@, ;test for @ OOOA 74 08 JE MAIN1 ;if @ OOOC B4 06 M0V AH,6 ;display key OOOE BA DO MOV DL,AL 0010 CD 21 INT 21H 0012 EB EC JMP MAIN ;repeat 0014 MAIN1: 0014 B4 4C MOV AH,4CH ;exit to DOS 0016 CD 21 INT 21H 0018 MAIN ENDP 0018 CODE_SEG ENDS END MAIN NEXT

Buatlah tabel instruksi yang termasuk segment override prefix!   Soal Apa yang dimaksud dengan instruksi perpindahan data, XCHG, LAHF dan SAHF, XLAT, IN dan OUT, MOVSX dan MOVZX, BSWAP serta CMOV! Gambarkan sinyal-sinyal yang terdapat pada sistem berbasis mikroprosesor pada instruksi OUT 19H,AX! Buatlah tabel instruksi yang termasuk segment override prefix! Buatlah contoh untuk menunjukkan sebuah program sampel, menggunakan definisi segmen-penuh, yang membaca karakter dari keyboard dan menampilkannya pada layar CRT!   NEXT

TUTUP Terima Kasih