Transcript

ORGANISASI KOMPUTER

MATA KULIAH

PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO

FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR

2011

MOTOROLA 68000

BY AYU ANGGRIANI H_092904010 1

CREATED BY AYU ANGGRIANI H

092904010

PTIK A 2009

BY AYU ANGGRIANI H_092904010 2

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)

BY AYU ANGGRIANI H_092904010 3

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

BY AYU ANGGRIANI H_092904010 4

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

BY AYU ANGGRIANI H_092904010 5

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

BY AYU ANGGRIANI H_092904010 6

Processor 68000 mensyaratkan semua status dan buffer data dalam antar

muka perangkat IOmenjadi addressable seperti lokasi memori

BY AYU ANGGRIANI H_092904010 7

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

BY AYU ANGGRIANI H_092904010 8

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

BY AYU ANGGRIANI H_092904010 9

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

BY AYU ANGGRIANI H_092904010 10

Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot

product byte sorting dan linked-list yang dideskripsikan pada Bab 2

BY AYU ANGGRIANI H_092904010 11

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

BY AYU ANGGRIANI H_092904010 12

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

CREATED BY AYU ANGGRIANI H

092904010

PTIK A 2009

BY AYU ANGGRIANI H_092904010 2

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)

BY AYU ANGGRIANI H_092904010 3

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

BY AYU ANGGRIANI H_092904010 4

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

BY AYU ANGGRIANI H_092904010 5

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

BY AYU ANGGRIANI H_092904010 6

Processor 68000 mensyaratkan semua status dan buffer data dalam antar

muka perangkat IOmenjadi addressable seperti lokasi memori

BY AYU ANGGRIANI H_092904010 7

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

BY AYU ANGGRIANI H_092904010 8

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

BY AYU ANGGRIANI H_092904010 9

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

BY AYU ANGGRIANI H_092904010 10

Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot

product byte sorting dan linked-list yang dideskripsikan pada Bab 2

BY AYU ANGGRIANI H_092904010 11

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

BY AYU ANGGRIANI H_092904010 12

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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)

BY AYU ANGGRIANI H_092904010 3

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

BY AYU ANGGRIANI H_092904010 4

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

BY AYU ANGGRIANI H_092904010 5

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

BY AYU ANGGRIANI H_092904010 6

Processor 68000 mensyaratkan semua status dan buffer data dalam antar

muka perangkat IOmenjadi addressable seperti lokasi memori

BY AYU ANGGRIANI H_092904010 7

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

BY AYU ANGGRIANI H_092904010 8

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

BY AYU ANGGRIANI H_092904010 9

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

BY AYU ANGGRIANI H_092904010 10

Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot

product byte sorting dan linked-list yang dideskripsikan pada Bab 2

BY AYU ANGGRIANI H_092904010 11

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

BY AYU ANGGRIANI H_092904010 12

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 4

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

BY AYU ANGGRIANI H_092904010 5

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

BY AYU ANGGRIANI H_092904010 6

Processor 68000 mensyaratkan semua status dan buffer data dalam antar

muka perangkat IOmenjadi addressable seperti lokasi memori

BY AYU ANGGRIANI H_092904010 7

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

BY AYU ANGGRIANI H_092904010 8

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

BY AYU ANGGRIANI H_092904010 9

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

BY AYU ANGGRIANI H_092904010 10

Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot

product byte sorting dan linked-list yang dideskripsikan pada Bab 2

BY AYU ANGGRIANI H_092904010 11

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

BY AYU ANGGRIANI H_092904010 12

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 5

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

BY AYU ANGGRIANI H_092904010 6

Processor 68000 mensyaratkan semua status dan buffer data dalam antar

muka perangkat IOmenjadi addressable seperti lokasi memori

BY AYU ANGGRIANI H_092904010 7

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

BY AYU ANGGRIANI H_092904010 8

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

BY AYU ANGGRIANI H_092904010 9

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

BY AYU ANGGRIANI H_092904010 10

Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot

product byte sorting dan linked-list yang dideskripsikan pada Bab 2

BY AYU ANGGRIANI H_092904010 11

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

BY AYU ANGGRIANI H_092904010 12

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 6

Processor 68000 mensyaratkan semua status dan buffer data dalam antar

muka perangkat IOmenjadi addressable seperti lokasi memori

BY AYU ANGGRIANI H_092904010 7

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

BY AYU ANGGRIANI H_092904010 8

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

BY AYU ANGGRIANI H_092904010 9

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

BY AYU ANGGRIANI H_092904010 10

Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot

product byte sorting dan linked-list yang dideskripsikan pada Bab 2

BY AYU ANGGRIANI H_092904010 11

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

BY AYU ANGGRIANI H_092904010 12

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

Processor 68000 mensyaratkan semua status dan buffer data dalam antar

muka perangkat IOmenjadi addressable seperti lokasi memori

BY AYU ANGGRIANI H_092904010 7

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

BY AYU ANGGRIANI H_092904010 8

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

BY AYU ANGGRIANI H_092904010 9

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

BY AYU ANGGRIANI H_092904010 10

Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot

product byte sorting dan linked-list yang dideskripsikan pada Bab 2

BY AYU ANGGRIANI H_092904010 11

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

BY AYU ANGGRIANI H_092904010 12

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 8

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

BY AYU ANGGRIANI H_092904010 9

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

BY AYU ANGGRIANI H_092904010 10

Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot

product byte sorting dan linked-list yang dideskripsikan pada Bab 2

BY AYU ANGGRIANI H_092904010 11

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

BY AYU ANGGRIANI H_092904010 12

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 9

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

BY AYU ANGGRIANI H_092904010 10

Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot

product byte sorting dan linked-list yang dideskripsikan pada Bab 2

BY AYU ANGGRIANI H_092904010 11

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

BY AYU ANGGRIANI H_092904010 12

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 10

Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot

product byte sorting dan linked-list yang dideskripsikan pada Bab 2

BY AYU ANGGRIANI H_092904010 11

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

BY AYU ANGGRIANI H_092904010 12

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

Pada bagian ini kita menggunakan versi program 68000 untuk operasi dot

product byte sorting dan linked-list yang dideskripsikan pada Bab 2

BY AYU ANGGRIANI H_092904010 11

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

BY AYU ANGGRIANI H_092904010 12

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 12

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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 BY AYU ANGGRIANI H_092904010 13

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 14

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 15

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

- 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

BY AYU ANGGRIANI H_092904010 16

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

- 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

BY AYU ANGGRIANI H_092904010 17

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 18

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 19

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 20

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 21

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 22

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 23

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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 BY AYU ANGGRIANI H_092904010 24

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 25

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

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

BY AYU ANGGRIANI H_092904010 26

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27

SEMOGA BERMANFAAT

BY AYU ANGGRIANI H_092904010 27


Top Related