pertemuan 5-motorola-680001
TRANSCRIPT
ORGANISASI KOMPUTER
MATA KULIAH
PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO
FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR
MOTOROLA 68000
2013
CREATED BY FRANS RUMENGAN D
1129040049
PTIK 02 2011
Set Instruksi (bahasa Inggris Instruction Set atau Instruction Set
Architecture (ISA)) didefinisikan sebagai suatu aspek dalam
arsitektur komputer yang dapat dilihat oleh para pemrogram
Secara umum ISA ini mencakup jenis data yang didukung jenis
instruksi yang dipakai jenis register mode pengalamatan arsitektur
memori penanganan interupsi eksepsi dan operasi IO
eksternalnya (jika ada)
Para desainer berusaha untuk membuat bahasa assembly Artinya instruksi
dibagi menjadi operasi dan mode alamat dan hampir semua mode alamat
yang tersedia untuk hampir semua instruksi Banyak programmer tidak
menyukai dekat ortogonal sementara yang lain berterima kasih atas upaya
tersebutPada tingkat bit orang menulis assembler jelas akan melihat bahwa
petunjuk bisa menjadi salah satu dari beberapa-op kode yang berbeda
Dengan hanya 56 instruksi instruksi minimal ukuran sangat besar untuk
hari tersebut pada 16 bit Selain itu banyak instruksi dan mode pengalamatan
menambahkan kata-kata tambahan di belakang untuk alamat lebih alamat-
mode bit dll
Pembahasan bahasa assembly kali ini diterapkan secara umum pada
bahasa assembly 68000 Karena instruksi 68000 dapat menangani tiga ukuran
operand yang berbeda maka instruksi assembler harus mengindikasikan ukuran
yang dimaksud Hal ini dilakukan dengan menambahkan indikator ukuran ke
mnemonic operasi Indikator ukuran adalah L untuk long word W untuk word B
untuk byte
Sehingga jika instruksi add beroperasi pada operand long word maka
mnemonic operasinya ditulis sebagai ADDL pada saat tidak ada indikasi ukuran
ukuran operand dianggap satu word Hal ini berarti bahwa instruksi ADDL pada
saat tidak ada indikasi ukuran ukuran operand dianggap satu word Hal
iniberarti bahwa instruksi ADDW20 D1 dan ADD20 D1 adalah identik
Instruksi Branch diperlukan untuk mengmplementasikan struktur program
seperti statement if dan loop Secara umum suatu instruksi branch menguji
kondisi branch dan kemudian tergantung pada hasil tersebut
menyebabkan eksekusi dilanjutkan pada salah satu dari jalur yang ada
Processor 68000 mensyaratkan semua status dan buffer data dalam antar
muka perangkat IOmenjadi addressable seperti lokasi memori
Suatu stack dapat diimplementasikan menggunakan register alamat
apapun sebagai pointer Mode pengalamatan autoincrement dan
autodecrement memfasilitasi proses ini Satu register spesifik register A7
ditunjuk sebagai pointer stack prosesor dan stack yang ditunjuk register ini
disebut stack prosessor Ini adalah stack yang digunakan dalam semua
operasi stack yang dilakukan processor secara otomatis sebagaimana
dalam kasus linkage subroutine
Instruksi Branch-to-Subroutine (BSR) digunakan untuk memanggil
subroutine Instruksi tersebut diimplementasikan dengan cara yang sama
seperti instruksi branch yang lain tetapi juga menyebabkan isi program counter
di-push ke stack Branch targetnya adalah instruksi pertama dalam subroutine
tersebut Pada saat subroutine tersebut diselesaikan Instruksi Return-from-
Subroutine (RTS) digunakan untuk kembali ke calling program
Kelompok perintah ini dipakai untuk melakukan operasi logika
mikrokontroler MCS51 operasi logika yang bisa dilakukan adalah operasi
AND (kode operasi ANL) operasi OR (kode operasi ORL) dan operasi
Exclusive-OR (kode operasi XRL) Data yang dipakai dalam operasi ini bisa
berupa data yang berada dalam Akumulator atau data yang berada dalam
memori-data hal ini sedikit berlainan dengan operasi aritmatik yang harus
melihatkan Akumulator secara aktip Hasil operasi ditampung di sumber
data yang pertama
Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot
product byte sorting dan linked-list yang dideskripsikan pada Bab 2
Intel cooperation menggunakan nama umum Intel Architecture (IA)
untuk prosesor dalam merek produknya Kita akan mendeskripsikan
prosesor IA yang beroperasi dengan alamat memori 32-bit dan operand-32
bit Prosesor IA-32 pertama kali adalah 80386 (tahun 1985) 80486 (tahun
1989) Pentium (tahun 1993) dan Pentium 4 (tahun 2000) telah
diimplementasikan
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
CREATED BY FRANS RUMENGAN D
1129040049
PTIK 02 2011
Set Instruksi (bahasa Inggris Instruction Set atau Instruction Set
Architecture (ISA)) didefinisikan sebagai suatu aspek dalam
arsitektur komputer yang dapat dilihat oleh para pemrogram
Secara umum ISA ini mencakup jenis data yang didukung jenis
instruksi yang dipakai jenis register mode pengalamatan arsitektur
memori penanganan interupsi eksepsi dan operasi IO
eksternalnya (jika ada)
Para desainer berusaha untuk membuat bahasa assembly Artinya instruksi
dibagi menjadi operasi dan mode alamat dan hampir semua mode alamat
yang tersedia untuk hampir semua instruksi Banyak programmer tidak
menyukai dekat ortogonal sementara yang lain berterima kasih atas upaya
tersebutPada tingkat bit orang menulis assembler jelas akan melihat bahwa
petunjuk bisa menjadi salah satu dari beberapa-op kode yang berbeda
Dengan hanya 56 instruksi instruksi minimal ukuran sangat besar untuk
hari tersebut pada 16 bit Selain itu banyak instruksi dan mode pengalamatan
menambahkan kata-kata tambahan di belakang untuk alamat lebih alamat-
mode bit dll
Pembahasan bahasa assembly kali ini diterapkan secara umum pada
bahasa assembly 68000 Karena instruksi 68000 dapat menangani tiga ukuran
operand yang berbeda maka instruksi assembler harus mengindikasikan ukuran
yang dimaksud Hal ini dilakukan dengan menambahkan indikator ukuran ke
mnemonic operasi Indikator ukuran adalah L untuk long word W untuk word B
untuk byte
Sehingga jika instruksi add beroperasi pada operand long word maka
mnemonic operasinya ditulis sebagai ADDL pada saat tidak ada indikasi ukuran
ukuran operand dianggap satu word Hal ini berarti bahwa instruksi ADDL pada
saat tidak ada indikasi ukuran ukuran operand dianggap satu word Hal
iniberarti bahwa instruksi ADDW20 D1 dan ADD20 D1 adalah identik
Instruksi Branch diperlukan untuk mengmplementasikan struktur program
seperti statement if dan loop Secara umum suatu instruksi branch menguji
kondisi branch dan kemudian tergantung pada hasil tersebut
menyebabkan eksekusi dilanjutkan pada salah satu dari jalur yang ada
Processor 68000 mensyaratkan semua status dan buffer data dalam antar
muka perangkat IOmenjadi addressable seperti lokasi memori
Suatu stack dapat diimplementasikan menggunakan register alamat
apapun sebagai pointer Mode pengalamatan autoincrement dan
autodecrement memfasilitasi proses ini Satu register spesifik register A7
ditunjuk sebagai pointer stack prosesor dan stack yang ditunjuk register ini
disebut stack prosessor Ini adalah stack yang digunakan dalam semua
operasi stack yang dilakukan processor secara otomatis sebagaimana
dalam kasus linkage subroutine
Instruksi Branch-to-Subroutine (BSR) digunakan untuk memanggil
subroutine Instruksi tersebut diimplementasikan dengan cara yang sama
seperti instruksi branch yang lain tetapi juga menyebabkan isi program counter
di-push ke stack Branch targetnya adalah instruksi pertama dalam subroutine
tersebut Pada saat subroutine tersebut diselesaikan Instruksi Return-from-
Subroutine (RTS) digunakan untuk kembali ke calling program
Kelompok perintah ini dipakai untuk melakukan operasi logika
mikrokontroler MCS51 operasi logika yang bisa dilakukan adalah operasi
AND (kode operasi ANL) operasi OR (kode operasi ORL) dan operasi
Exclusive-OR (kode operasi XRL) Data yang dipakai dalam operasi ini bisa
berupa data yang berada dalam Akumulator atau data yang berada dalam
memori-data hal ini sedikit berlainan dengan operasi aritmatik yang harus
melihatkan Akumulator secara aktip Hasil operasi ditampung di sumber
data yang pertama
Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot
product byte sorting dan linked-list yang dideskripsikan pada Bab 2
Intel cooperation menggunakan nama umum Intel Architecture (IA)
untuk prosesor dalam merek produknya Kita akan mendeskripsikan
prosesor IA yang beroperasi dengan alamat memori 32-bit dan operand-32
bit Prosesor IA-32 pertama kali adalah 80386 (tahun 1985) 80486 (tahun
1989) Pentium (tahun 1993) dan Pentium 4 (tahun 2000) telah
diimplementasikan
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Set Instruksi (bahasa Inggris Instruction Set atau Instruction Set
Architecture (ISA)) didefinisikan sebagai suatu aspek dalam
arsitektur komputer yang dapat dilihat oleh para pemrogram
Secara umum ISA ini mencakup jenis data yang didukung jenis
instruksi yang dipakai jenis register mode pengalamatan arsitektur
memori penanganan interupsi eksepsi dan operasi IO
eksternalnya (jika ada)
Para desainer berusaha untuk membuat bahasa assembly Artinya instruksi
dibagi menjadi operasi dan mode alamat dan hampir semua mode alamat
yang tersedia untuk hampir semua instruksi Banyak programmer tidak
menyukai dekat ortogonal sementara yang lain berterima kasih atas upaya
tersebutPada tingkat bit orang menulis assembler jelas akan melihat bahwa
petunjuk bisa menjadi salah satu dari beberapa-op kode yang berbeda
Dengan hanya 56 instruksi instruksi minimal ukuran sangat besar untuk
hari tersebut pada 16 bit Selain itu banyak instruksi dan mode pengalamatan
menambahkan kata-kata tambahan di belakang untuk alamat lebih alamat-
mode bit dll
Pembahasan bahasa assembly kali ini diterapkan secara umum pada
bahasa assembly 68000 Karena instruksi 68000 dapat menangani tiga ukuran
operand yang berbeda maka instruksi assembler harus mengindikasikan ukuran
yang dimaksud Hal ini dilakukan dengan menambahkan indikator ukuran ke
mnemonic operasi Indikator ukuran adalah L untuk long word W untuk word B
untuk byte
Sehingga jika instruksi add beroperasi pada operand long word maka
mnemonic operasinya ditulis sebagai ADDL pada saat tidak ada indikasi ukuran
ukuran operand dianggap satu word Hal ini berarti bahwa instruksi ADDL pada
saat tidak ada indikasi ukuran ukuran operand dianggap satu word Hal
iniberarti bahwa instruksi ADDW20 D1 dan ADD20 D1 adalah identik
Instruksi Branch diperlukan untuk mengmplementasikan struktur program
seperti statement if dan loop Secara umum suatu instruksi branch menguji
kondisi branch dan kemudian tergantung pada hasil tersebut
menyebabkan eksekusi dilanjutkan pada salah satu dari jalur yang ada
Processor 68000 mensyaratkan semua status dan buffer data dalam antar
muka perangkat IOmenjadi addressable seperti lokasi memori
Suatu stack dapat diimplementasikan menggunakan register alamat
apapun sebagai pointer Mode pengalamatan autoincrement dan
autodecrement memfasilitasi proses ini Satu register spesifik register A7
ditunjuk sebagai pointer stack prosesor dan stack yang ditunjuk register ini
disebut stack prosessor Ini adalah stack yang digunakan dalam semua
operasi stack yang dilakukan processor secara otomatis sebagaimana
dalam kasus linkage subroutine
Instruksi Branch-to-Subroutine (BSR) digunakan untuk memanggil
subroutine Instruksi tersebut diimplementasikan dengan cara yang sama
seperti instruksi branch yang lain tetapi juga menyebabkan isi program counter
di-push ke stack Branch targetnya adalah instruksi pertama dalam subroutine
tersebut Pada saat subroutine tersebut diselesaikan Instruksi Return-from-
Subroutine (RTS) digunakan untuk kembali ke calling program
Kelompok perintah ini dipakai untuk melakukan operasi logika
mikrokontroler MCS51 operasi logika yang bisa dilakukan adalah operasi
AND (kode operasi ANL) operasi OR (kode operasi ORL) dan operasi
Exclusive-OR (kode operasi XRL) Data yang dipakai dalam operasi ini bisa
berupa data yang berada dalam Akumulator atau data yang berada dalam
memori-data hal ini sedikit berlainan dengan operasi aritmatik yang harus
melihatkan Akumulator secara aktip Hasil operasi ditampung di sumber
data yang pertama
Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot
product byte sorting dan linked-list yang dideskripsikan pada Bab 2
Intel cooperation menggunakan nama umum Intel Architecture (IA)
untuk prosesor dalam merek produknya Kita akan mendeskripsikan
prosesor IA yang beroperasi dengan alamat memori 32-bit dan operand-32
bit Prosesor IA-32 pertama kali adalah 80386 (tahun 1985) 80486 (tahun
1989) Pentium (tahun 1993) dan Pentium 4 (tahun 2000) telah
diimplementasikan
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Para desainer berusaha untuk membuat bahasa assembly Artinya instruksi
dibagi menjadi operasi dan mode alamat dan hampir semua mode alamat
yang tersedia untuk hampir semua instruksi Banyak programmer tidak
menyukai dekat ortogonal sementara yang lain berterima kasih atas upaya
tersebutPada tingkat bit orang menulis assembler jelas akan melihat bahwa
petunjuk bisa menjadi salah satu dari beberapa-op kode yang berbeda
Dengan hanya 56 instruksi instruksi minimal ukuran sangat besar untuk
hari tersebut pada 16 bit Selain itu banyak instruksi dan mode pengalamatan
menambahkan kata-kata tambahan di belakang untuk alamat lebih alamat-
mode bit dll
Pembahasan bahasa assembly kali ini diterapkan secara umum pada
bahasa assembly 68000 Karena instruksi 68000 dapat menangani tiga ukuran
operand yang berbeda maka instruksi assembler harus mengindikasikan ukuran
yang dimaksud Hal ini dilakukan dengan menambahkan indikator ukuran ke
mnemonic operasi Indikator ukuran adalah L untuk long word W untuk word B
untuk byte
Sehingga jika instruksi add beroperasi pada operand long word maka
mnemonic operasinya ditulis sebagai ADDL pada saat tidak ada indikasi ukuran
ukuran operand dianggap satu word Hal ini berarti bahwa instruksi ADDL pada
saat tidak ada indikasi ukuran ukuran operand dianggap satu word Hal
iniberarti bahwa instruksi ADDW20 D1 dan ADD20 D1 adalah identik
Instruksi Branch diperlukan untuk mengmplementasikan struktur program
seperti statement if dan loop Secara umum suatu instruksi branch menguji
kondisi branch dan kemudian tergantung pada hasil tersebut
menyebabkan eksekusi dilanjutkan pada salah satu dari jalur yang ada
Processor 68000 mensyaratkan semua status dan buffer data dalam antar
muka perangkat IOmenjadi addressable seperti lokasi memori
Suatu stack dapat diimplementasikan menggunakan register alamat
apapun sebagai pointer Mode pengalamatan autoincrement dan
autodecrement memfasilitasi proses ini Satu register spesifik register A7
ditunjuk sebagai pointer stack prosesor dan stack yang ditunjuk register ini
disebut stack prosessor Ini adalah stack yang digunakan dalam semua
operasi stack yang dilakukan processor secara otomatis sebagaimana
dalam kasus linkage subroutine
Instruksi Branch-to-Subroutine (BSR) digunakan untuk memanggil
subroutine Instruksi tersebut diimplementasikan dengan cara yang sama
seperti instruksi branch yang lain tetapi juga menyebabkan isi program counter
di-push ke stack Branch targetnya adalah instruksi pertama dalam subroutine
tersebut Pada saat subroutine tersebut diselesaikan Instruksi Return-from-
Subroutine (RTS) digunakan untuk kembali ke calling program
Kelompok perintah ini dipakai untuk melakukan operasi logika
mikrokontroler MCS51 operasi logika yang bisa dilakukan adalah operasi
AND (kode operasi ANL) operasi OR (kode operasi ORL) dan operasi
Exclusive-OR (kode operasi XRL) Data yang dipakai dalam operasi ini bisa
berupa data yang berada dalam Akumulator atau data yang berada dalam
memori-data hal ini sedikit berlainan dengan operasi aritmatik yang harus
melihatkan Akumulator secara aktip Hasil operasi ditampung di sumber
data yang pertama
Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot
product byte sorting dan linked-list yang dideskripsikan pada Bab 2
Intel cooperation menggunakan nama umum Intel Architecture (IA)
untuk prosesor dalam merek produknya Kita akan mendeskripsikan
prosesor IA yang beroperasi dengan alamat memori 32-bit dan operand-32
bit Prosesor IA-32 pertama kali adalah 80386 (tahun 1985) 80486 (tahun
1989) Pentium (tahun 1993) dan Pentium 4 (tahun 2000) telah
diimplementasikan
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Pembahasan bahasa assembly kali ini diterapkan secara umum pada
bahasa assembly 68000 Karena instruksi 68000 dapat menangani tiga ukuran
operand yang berbeda maka instruksi assembler harus mengindikasikan ukuran
yang dimaksud Hal ini dilakukan dengan menambahkan indikator ukuran ke
mnemonic operasi Indikator ukuran adalah L untuk long word W untuk word B
untuk byte
Sehingga jika instruksi add beroperasi pada operand long word maka
mnemonic operasinya ditulis sebagai ADDL pada saat tidak ada indikasi ukuran
ukuran operand dianggap satu word Hal ini berarti bahwa instruksi ADDL pada
saat tidak ada indikasi ukuran ukuran operand dianggap satu word Hal
iniberarti bahwa instruksi ADDW20 D1 dan ADD20 D1 adalah identik
Instruksi Branch diperlukan untuk mengmplementasikan struktur program
seperti statement if dan loop Secara umum suatu instruksi branch menguji
kondisi branch dan kemudian tergantung pada hasil tersebut
menyebabkan eksekusi dilanjutkan pada salah satu dari jalur yang ada
Processor 68000 mensyaratkan semua status dan buffer data dalam antar
muka perangkat IOmenjadi addressable seperti lokasi memori
Suatu stack dapat diimplementasikan menggunakan register alamat
apapun sebagai pointer Mode pengalamatan autoincrement dan
autodecrement memfasilitasi proses ini Satu register spesifik register A7
ditunjuk sebagai pointer stack prosesor dan stack yang ditunjuk register ini
disebut stack prosessor Ini adalah stack yang digunakan dalam semua
operasi stack yang dilakukan processor secara otomatis sebagaimana
dalam kasus linkage subroutine
Instruksi Branch-to-Subroutine (BSR) digunakan untuk memanggil
subroutine Instruksi tersebut diimplementasikan dengan cara yang sama
seperti instruksi branch yang lain tetapi juga menyebabkan isi program counter
di-push ke stack Branch targetnya adalah instruksi pertama dalam subroutine
tersebut Pada saat subroutine tersebut diselesaikan Instruksi Return-from-
Subroutine (RTS) digunakan untuk kembali ke calling program
Kelompok perintah ini dipakai untuk melakukan operasi logika
mikrokontroler MCS51 operasi logika yang bisa dilakukan adalah operasi
AND (kode operasi ANL) operasi OR (kode operasi ORL) dan operasi
Exclusive-OR (kode operasi XRL) Data yang dipakai dalam operasi ini bisa
berupa data yang berada dalam Akumulator atau data yang berada dalam
memori-data hal ini sedikit berlainan dengan operasi aritmatik yang harus
melihatkan Akumulator secara aktip Hasil operasi ditampung di sumber
data yang pertama
Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot
product byte sorting dan linked-list yang dideskripsikan pada Bab 2
Intel cooperation menggunakan nama umum Intel Architecture (IA)
untuk prosesor dalam merek produknya Kita akan mendeskripsikan
prosesor IA yang beroperasi dengan alamat memori 32-bit dan operand-32
bit Prosesor IA-32 pertama kali adalah 80386 (tahun 1985) 80486 (tahun
1989) Pentium (tahun 1993) dan Pentium 4 (tahun 2000) telah
diimplementasikan
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Instruksi Branch diperlukan untuk mengmplementasikan struktur program
seperti statement if dan loop Secara umum suatu instruksi branch menguji
kondisi branch dan kemudian tergantung pada hasil tersebut
menyebabkan eksekusi dilanjutkan pada salah satu dari jalur yang ada
Processor 68000 mensyaratkan semua status dan buffer data dalam antar
muka perangkat IOmenjadi addressable seperti lokasi memori
Suatu stack dapat diimplementasikan menggunakan register alamat
apapun sebagai pointer Mode pengalamatan autoincrement dan
autodecrement memfasilitasi proses ini Satu register spesifik register A7
ditunjuk sebagai pointer stack prosesor dan stack yang ditunjuk register ini
disebut stack prosessor Ini adalah stack yang digunakan dalam semua
operasi stack yang dilakukan processor secara otomatis sebagaimana
dalam kasus linkage subroutine
Instruksi Branch-to-Subroutine (BSR) digunakan untuk memanggil
subroutine Instruksi tersebut diimplementasikan dengan cara yang sama
seperti instruksi branch yang lain tetapi juga menyebabkan isi program counter
di-push ke stack Branch targetnya adalah instruksi pertama dalam subroutine
tersebut Pada saat subroutine tersebut diselesaikan Instruksi Return-from-
Subroutine (RTS) digunakan untuk kembali ke calling program
Kelompok perintah ini dipakai untuk melakukan operasi logika
mikrokontroler MCS51 operasi logika yang bisa dilakukan adalah operasi
AND (kode operasi ANL) operasi OR (kode operasi ORL) dan operasi
Exclusive-OR (kode operasi XRL) Data yang dipakai dalam operasi ini bisa
berupa data yang berada dalam Akumulator atau data yang berada dalam
memori-data hal ini sedikit berlainan dengan operasi aritmatik yang harus
melihatkan Akumulator secara aktip Hasil operasi ditampung di sumber
data yang pertama
Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot
product byte sorting dan linked-list yang dideskripsikan pada Bab 2
Intel cooperation menggunakan nama umum Intel Architecture (IA)
untuk prosesor dalam merek produknya Kita akan mendeskripsikan
prosesor IA yang beroperasi dengan alamat memori 32-bit dan operand-32
bit Prosesor IA-32 pertama kali adalah 80386 (tahun 1985) 80486 (tahun
1989) Pentium (tahun 1993) dan Pentium 4 (tahun 2000) telah
diimplementasikan
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Processor 68000 mensyaratkan semua status dan buffer data dalam antar
muka perangkat IOmenjadi addressable seperti lokasi memori
Suatu stack dapat diimplementasikan menggunakan register alamat
apapun sebagai pointer Mode pengalamatan autoincrement dan
autodecrement memfasilitasi proses ini Satu register spesifik register A7
ditunjuk sebagai pointer stack prosesor dan stack yang ditunjuk register ini
disebut stack prosessor Ini adalah stack yang digunakan dalam semua
operasi stack yang dilakukan processor secara otomatis sebagaimana
dalam kasus linkage subroutine
Instruksi Branch-to-Subroutine (BSR) digunakan untuk memanggil
subroutine Instruksi tersebut diimplementasikan dengan cara yang sama
seperti instruksi branch yang lain tetapi juga menyebabkan isi program counter
di-push ke stack Branch targetnya adalah instruksi pertama dalam subroutine
tersebut Pada saat subroutine tersebut diselesaikan Instruksi Return-from-
Subroutine (RTS) digunakan untuk kembali ke calling program
Kelompok perintah ini dipakai untuk melakukan operasi logika
mikrokontroler MCS51 operasi logika yang bisa dilakukan adalah operasi
AND (kode operasi ANL) operasi OR (kode operasi ORL) dan operasi
Exclusive-OR (kode operasi XRL) Data yang dipakai dalam operasi ini bisa
berupa data yang berada dalam Akumulator atau data yang berada dalam
memori-data hal ini sedikit berlainan dengan operasi aritmatik yang harus
melihatkan Akumulator secara aktip Hasil operasi ditampung di sumber
data yang pertama
Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot
product byte sorting dan linked-list yang dideskripsikan pada Bab 2
Intel cooperation menggunakan nama umum Intel Architecture (IA)
untuk prosesor dalam merek produknya Kita akan mendeskripsikan
prosesor IA yang beroperasi dengan alamat memori 32-bit dan operand-32
bit Prosesor IA-32 pertama kali adalah 80386 (tahun 1985) 80486 (tahun
1989) Pentium (tahun 1993) dan Pentium 4 (tahun 2000) telah
diimplementasikan
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Suatu stack dapat diimplementasikan menggunakan register alamat
apapun sebagai pointer Mode pengalamatan autoincrement dan
autodecrement memfasilitasi proses ini Satu register spesifik register A7
ditunjuk sebagai pointer stack prosesor dan stack yang ditunjuk register ini
disebut stack prosessor Ini adalah stack yang digunakan dalam semua
operasi stack yang dilakukan processor secara otomatis sebagaimana
dalam kasus linkage subroutine
Instruksi Branch-to-Subroutine (BSR) digunakan untuk memanggil
subroutine Instruksi tersebut diimplementasikan dengan cara yang sama
seperti instruksi branch yang lain tetapi juga menyebabkan isi program counter
di-push ke stack Branch targetnya adalah instruksi pertama dalam subroutine
tersebut Pada saat subroutine tersebut diselesaikan Instruksi Return-from-
Subroutine (RTS) digunakan untuk kembali ke calling program
Kelompok perintah ini dipakai untuk melakukan operasi logika
mikrokontroler MCS51 operasi logika yang bisa dilakukan adalah operasi
AND (kode operasi ANL) operasi OR (kode operasi ORL) dan operasi
Exclusive-OR (kode operasi XRL) Data yang dipakai dalam operasi ini bisa
berupa data yang berada dalam Akumulator atau data yang berada dalam
memori-data hal ini sedikit berlainan dengan operasi aritmatik yang harus
melihatkan Akumulator secara aktip Hasil operasi ditampung di sumber
data yang pertama
Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot
product byte sorting dan linked-list yang dideskripsikan pada Bab 2
Intel cooperation menggunakan nama umum Intel Architecture (IA)
untuk prosesor dalam merek produknya Kita akan mendeskripsikan
prosesor IA yang beroperasi dengan alamat memori 32-bit dan operand-32
bit Prosesor IA-32 pertama kali adalah 80386 (tahun 1985) 80486 (tahun
1989) Pentium (tahun 1993) dan Pentium 4 (tahun 2000) telah
diimplementasikan
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Instruksi Branch-to-Subroutine (BSR) digunakan untuk memanggil
subroutine Instruksi tersebut diimplementasikan dengan cara yang sama
seperti instruksi branch yang lain tetapi juga menyebabkan isi program counter
di-push ke stack Branch targetnya adalah instruksi pertama dalam subroutine
tersebut Pada saat subroutine tersebut diselesaikan Instruksi Return-from-
Subroutine (RTS) digunakan untuk kembali ke calling program
Kelompok perintah ini dipakai untuk melakukan operasi logika
mikrokontroler MCS51 operasi logika yang bisa dilakukan adalah operasi
AND (kode operasi ANL) operasi OR (kode operasi ORL) dan operasi
Exclusive-OR (kode operasi XRL) Data yang dipakai dalam operasi ini bisa
berupa data yang berada dalam Akumulator atau data yang berada dalam
memori-data hal ini sedikit berlainan dengan operasi aritmatik yang harus
melihatkan Akumulator secara aktip Hasil operasi ditampung di sumber
data yang pertama
Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot
product byte sorting dan linked-list yang dideskripsikan pada Bab 2
Intel cooperation menggunakan nama umum Intel Architecture (IA)
untuk prosesor dalam merek produknya Kita akan mendeskripsikan
prosesor IA yang beroperasi dengan alamat memori 32-bit dan operand-32
bit Prosesor IA-32 pertama kali adalah 80386 (tahun 1985) 80486 (tahun
1989) Pentium (tahun 1993) dan Pentium 4 (tahun 2000) telah
diimplementasikan
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Kelompok perintah ini dipakai untuk melakukan operasi logika
mikrokontroler MCS51 operasi logika yang bisa dilakukan adalah operasi
AND (kode operasi ANL) operasi OR (kode operasi ORL) dan operasi
Exclusive-OR (kode operasi XRL) Data yang dipakai dalam operasi ini bisa
berupa data yang berada dalam Akumulator atau data yang berada dalam
memori-data hal ini sedikit berlainan dengan operasi aritmatik yang harus
melihatkan Akumulator secara aktip Hasil operasi ditampung di sumber
data yang pertama
Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot
product byte sorting dan linked-list yang dideskripsikan pada Bab 2
Intel cooperation menggunakan nama umum Intel Architecture (IA)
untuk prosesor dalam merek produknya Kita akan mendeskripsikan
prosesor IA yang beroperasi dengan alamat memori 32-bit dan operand-32
bit Prosesor IA-32 pertama kali adalah 80386 (tahun 1985) 80486 (tahun
1989) Pentium (tahun 1993) dan Pentium 4 (tahun 2000) telah
diimplementasikan
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot
product byte sorting dan linked-list yang dideskripsikan pada Bab 2
Intel cooperation menggunakan nama umum Intel Architecture (IA)
untuk prosesor dalam merek produknya Kita akan mendeskripsikan
prosesor IA yang beroperasi dengan alamat memori 32-bit dan operand-32
bit Prosesor IA-32 pertama kali adalah 80386 (tahun 1985) 80486 (tahun
1989) Pentium (tahun 1993) dan Pentium 4 (tahun 2000) telah
diimplementasikan
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Intel cooperation menggunakan nama umum Intel Architecture (IA)
untuk prosesor dalam merek produknya Kita akan mendeskripsikan
prosesor IA yang beroperasi dengan alamat memori 32-bit dan operand-32
bit Prosesor IA-32 pertama kali adalah 80386 (tahun 1985) 80486 (tahun
1989) Pentium (tahun 1993) dan Pentium 4 (tahun 2000) telah
diimplementasikan
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Dalam arsitektur IA-32 memori adalah byte addressable menggunakan alamat 32-bit dan instruksi beroperasi pada operand data 8-32 bit Ukuran operand ini diebut byte dan doubleword dalam istilah intel Operand 16-bit disebut word pada processor Intel i6-bit awal Digunaka pengalamatan little-edian operand multiple-byte dapat mulai dari tiap lokasi alamat byte
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Delapan register 32-bit berlabel R0 hingga R7 adalah general-pupose
register yang dapat digunakan untuk menyimpan operand data atau
informasi pengalamatan Delapan general-pupose register menjadi tiga tipe
yang berbeda register data untuk operand penyimpan dan register pointer
dan index untuk menyimpan alamat dan index alamat digunakan untuk
metapkan affective address suatu operand memori
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Arsitektur IA-32 memi bliki set mode pengalamatan yang besar dan
fleksibel Mode tersebut didesain untuk mengakses item data individu atau
item data yang merupakan anggota dari list yang berurutan mulai pada
alamat memori terentu Set lengkap mode pengalamatan IA-32
didefeniskan sebagai berikut
- - Mode Immediate - operandnya disertakan dalam instruksi Operand
tersebut adalah bilangan 8-bit atau 32-bit bertanda dengan panjang
ditetapkan oleh suatu bit dalam OP code instruksi
- - Mode Direct - alamat memori operand dinyatakan dengan nilai 32-bit
dalam instruksi terebut
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
- Mode Register - operand disertakan dalam salah satu dari delapan
general-purpose register yang ditetapkan dalam instruksi
- Mode Register Indirect - alamat memori operand disertakan dalam
salah satu dari delapan general-purpose register yang ditetapkan
dalam instruksi
- Mode Base with displacement - displacement 8-bit atau 32-bit
bertanda dan salah satu dari delapan general-purpose register untuk
digunakan sebagai base register ditetapkan dalam instruksi
- Mode Index with diplecement - diplecement bertanda 32-bit salah satu
dari delapan general-purpose register untuk digunakan sebagai index
register dan faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
- Mode Base with index - dua dari delapan genera-purpose register dan
faktor skala 1 2 4 atau 8 ditetapkan dalam instruksi
- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit
bertanda dua dari delapan register general-purpose dan faktor skala 1 2
4 atau8 ditetapkan dalam instruksi
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Set instruksi IA-32 adalah eksensif Instruksi tersebut di-encode
dalam format instruksi variabl-length yang tidak memilik layout regular
sepenuhnya Kebanyakaninstruksi IA-32 memilki satu atau dua operand
Dalam satu atau dua operand hanya satu operand yang berada dalam
memori Operand lain harus berada dalam registerprosesor Selain instruksi
untu memindahkan data antara memori dan register prosesor dan
melakukan operasi aritmatika set instruksi menyertakan sejumlah operasi
logika da pergeserarotasi yang berbeda pada data
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code
mode pengalamatan dan label alamat instruksi yang diilustrasikan oleh
program Assembler directive diperluka untuk mendefinisikan area data
suatu program dan untuk mendefinisikan hubungan antara nama simbolik
lokasi data dan nilai alamat fisik aktual
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi
dari straight-line sequencing Panggilan ke subroutine dan kembali dari
subroutine tersebut memutuskan straight-line sequencing juga gangguan
instruksi branch baik conditional maupun unconditional dapat
menyebabkan suatu break
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika
AND OR dan XOR Operasi tersebut dijalankan bitwise pada dua
operand dan hasilnya ditempatkan pada lokasi destinasi
Operasi Logika
Operasi Pergeseran dan Rotasi
Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah
posisi bit ditetapkan dengan count tertentu Terdapat empat instruksi
shift yaitu SHL SHR SAL SAR
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Memory-Mapped IO
Regiser buffer perangkat inputoutput merupakan yang paling umum
diakses dalam computer modern oleh metode memory-mapped IO
instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke
perangkat IO dan untuk mentransfer informasi status dan data ke dan
dari perangkat
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
IO Terisolasi
Set instruksi IA-32 juga memiliki dua instruksi dengan OP
code IN dan OUT yang hanya digunakan untuk tujuan IO alamat
yang dinyatakan dalam instruksi tersebut berada dalam ruang
alamat yang terpisah dari ruang alamat memori yang digunakan oleh
instruksi lainpengaturan ini diebut isolated IO utuk membedakanya
dari memori-mapped IO dimana lokasi addressable dalam
perangkat IO berada dalam ruang alamat yang sama dengan lokasi
memori
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Transfer Blok Arsitektur IA-32 juga memiliki dua blok instruksi transfer IO
REPINSD dan REPOUTS Instruksi tersebut mentransfer suatu blok
item data secara serialsatu item pada satu waktu antara memori
dan perangkat IO
Subroutine Pada suatu program seringkali perlu untuk melakukan subtask tertentu
berulangkali pada nilai data yang berbeda Subtask semacam itu
biasanya disebut subroutine Misalnya suatu subroutine dapat
mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan
meningkat atau menurun Sangat dimungkinkan untuk menyertakan
blok instruksi yang terdiri dari subroutine pada setiap tempat yang
memerlukan program tersebut
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Akan tetapi untuk menghemat ruang hanya satu copy dari
instruksi yang merupakan subroutine ditempatkan dalam memori tiap
program yang perlu menggunakan subroutine tersebut hanya perlu
branch ke lokasi mulainya Pada saat sualu program branch ke suatu
subroutine kita katakan program tersebut memanggil subroutine
Instruksi yang melakukan operasi branch ini disebut instruksi Call Setelah
subroutine dieksekusi calling program hams mcresume eksekusi
melanjutkan dengan segera setelah instruksi yang memanggil subroutine
tersebut Subroutine kembali ke program yang memanggilnya dengan
mengeksekusi instruksi Return
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
Cara computer memungkinkan call dan return dari subroutine
disebut metode linkage subroutine Metode linkage subroutine yang paling
sederhana adalah untuk menyimpan return address dalam lokasi tertentu
yang dapat berupa suatu register yang didedikasikan untuk fungsi ini
Register semacam itu disebut link register Pada saat subroutine
menyelesaikan tugasnya instruksi Return kembali ke calling program
dengan branching secara tidak langsung melalui link register
Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi
berikut
Menyimpan isi PC dalam link register
Branch ke alamat target yang ditetapkan oleh instruksi
Branch ke alamat yang terdapat dalam link register
SEMOGA BERMANFAAT
SEMOGA BERMANFAAT