23
Pertemuan 5 (SET INSTRUKSI ARM, MOTOROLA, DAN INTEL) 3.10 Instruksi Para desainer berusaha untuk membuat bahasa assembly ortogonal . 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 tersebut. Pada tingkat bit, orang menulis assembler jelas akan melihat bahwa "petunjuk" bisa menjadi salah satu dari beberapa-op kode yang berbeda. Benar-benar suatu kompromi yang bagus karena memberikan kenyamanan hampir sama dengan mesin benar-benar ortogonal, namun juga memberikan kebebasan CPU desainer untuk mengisi tabel op-code. Selain itu, banyak instruksi dan mode pengalamatan menambahkan kata-kata tambahan di belakang untuk alamat, lebih alamat-mode bit, dll 1 Group 4 PTIK 09

Pert.5 set instruksi arm,motorolla dan intel

Embed Size (px)

Citation preview

Page 1: Pert.5 set instruksi arm,motorolla dan intel

Pertemuan 5(SET INSTRUKSI ARM MOTOROLA DAN INTEL)

310 Instruksi

Para desainer berusaha untuk membuat bahasaassembly ortogonal Artinya instruksi dibagi menjadioperasi dan mode alamat dan hampir semua modealamat yang tersedia untuk hampir semua instruksiBanyak programmer tidak menyukai dekatortogonal sementara yang lain berterima kasih atasupaya tersebut Pada tingkat bit orang menulisassembler jelas akan melihat bahwa petunjuk bisamenjadi salah satu dari beberapa-op kode yang berbedaBenar-benar suatu kompromi yang bagus karenamemberikan kenyamanan hampir sama dengan mesinbenar-benar ortogonal namun juga memberikankebebasan CPU desainer untuk mengisi tabel op-codeSelain itu banyak instruksi dan mode pengalamatanmenambahkan kata-kata tambahan di belakang untukalamat lebih alamat-mode bit dll

1

Group 4 PTIK 09

311 Bahasa Assembly

Pembahasan bahasa assembly kali ini diterapkansecara umum pada bahasa assembly 68000 Karenainstruksi 68000 dapat menangani tiga ukuran operandyang berbeda maka instruksi assembler harusmengindikasikan ukuran yang dimaksud Hal inidilakukan dengan menambahkan indikator ukuran kemnemonic operasi Indikator ukuran adalah L untuklong word W untuk word B untuk byte Sehingga jikainstruksi add beroperasi pada operand long word makamnemonic operasinya ditulis sebagai ADDL pada saattidak ada indikasi ukuran ukuran operand dianggapsatu word Hal ini berarti bahwa instruksi ADDL padasaat tidak ada indikasi ukuran ukuran operanddianggap satu word Hal ini berarti bahwa instruksiADDW20 D1 dan ADD20 D1 adalah identik

2

Group 4 PTIK 09

312 Kontrol Aliran Program

Instruksi Branch diperlukan untukmengmplementasikan struktur program sepertistatement if dan loop Secara umum suatuinstruksi branch menguji kondisi branch dankemudian tergantung pada hasiltersebut menyebabkan eksekusi dilanjutkan padasalah satu dari jalur yang ada

3

Group 4 PTIK 09

313 Operasi IO

Processor 68000 mensyaratkan semuastatus dan buffer data dalam antar mukaperangkat IOmenjadi addressable seperti lokasimemori

4

Group 4 PTIK 09

314 Stack dan Subroutine

Suatu stack dapat diimplementasikan menggunakan registeralamat apapun sebagai pointer Mode pengalamatanautoincrement dan autodecrement memfasilitasi proses ini Saturegister spesifik register A7 ditunjuk sebagai pointer stackprosesor dan stack yang ditunjuk register ini disebut stackprosessor Ini adalah stack yang digunakan dalam semuaoperasi stack yang dilakukan processor secaraotomatis sebagaimana dalam kasus linkage subroutine

Instruksi Branch-to-Subroutine (BSR) digunakan untukmemanggil subroutine Instruksi tersebut diimplementasikandengan cara yang sama seperti instruksi branch yang lain tetapijuga menyebabkan isi program counter di-push ke stack Branchtargetnya adalah instruksi pertama dalam subroutine tersebutPada saat subroutine tersebut diselesaikan Instruksi Return-from-Subroutine (RTS) digunakan untuk kembali ke callingprogram

5

Group 4 PTIK 09

315 Instruksi Logika

Kelompok perintah ini dipakai untukmelakukan operasi logika mikrokontroler MCS51operasi logika yang bisa dilakukan adalah operasiAND (kode operasi ANL) operasi OR (kode operasiORL) dan operasi Exclusive-OR (kode operasi XRL)Data yang dipakai dalam operasi ini bisa berupadata yang berada dalam Akumulator atau datayang berada dalam memori-data hal ini sedikitberlainan dengan operasi aritmatik yang harusmelihatkan Akumulator secara aktip Hasil operasiditampung di sumber data yang pertama

6

Group 4 PTIK 09

316 Contoh Program

Pada bagian ini kita menggunakan versiprogram 68000 untuk operasi dot product bytesorting dan linked-list

7

Group 4 PTIK 09

BAGIAN III CONTOH IA-32 PENTIUM

Intel cooperation menggunakan nama umumIntel Architecture (IA) untuk prosesor dalam merekproduknya Kita akan mendeskripsikan prosesor IAyang beroperasi dengan alamat memori 32-bit danoperand-32 bit Prosesor IA-32 pertama kali adalah80386 (tahun 1985) 80486 (tahun 1989) Pentium(tahun 1993) dan Pentium 4 (tahun 2000) telahdiimplementasikan

8

Group 4 PTIK 09

317 Register dan Pengalamatan

Dalam arsitektur IA-32 memori adalah byteaddressable menggunakan alamat 32-bit daninstruksi beroperasi pada operand data 8-32 bitUkuran operand ini diebut byte dan doubleworddalam istilah intel Operand 16-bit disebut wordpada processor Intel i6-bit awal Digunakapengalamatan little-edian operand multiple-bytedapat mulai dari tiap lokasi alamat byte

9

Group 4 PTIK 09

3171 Struktur Register IA-32

Delapan register 32-bit berlabel R0 hingga R7adalah general-pupose register yang dapatdigunakan untuk menyimpan operand data atauinformasi pengalamatan Delapan general-puposeregister menjadi tiga tipe yang berbeda registerdata untuk operand penyimpan dan registerpointer dan index untuk menyimpan alamat danindex alamat digunakan untuk metapkan affectiveaddress suatu operand memori

10

Group 4 PTIK 09

3172 Mode Pengalamatan IA-32

Arsitektur IA-32 memi bliki set modepengalamatan yang besar dan fleksibel Modetersebut didesain untuk mengakses item dataindividu atau item data yang merupakan anggotadari list yang berurutan mulai pada alamat memoriterentu Set lengkap mode pengalamatan IA-32didefeniskan sebagai berikut

11

Group 4 PTIK 09

- Mode Immediate - operandnya disertakandalaminstruksi Operand tersebut adalahbilangan 8-bit atau 32-bit bertanda denganpanjang ditetapkan oleh suatu bit dalam OPcode instruksi

- Mode Direct - alamat memori operanddinyatakandengan nilai 32-bit dalam instruksiterebut

12

Group 4 PTIK 09

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 2: Pert.5 set instruksi arm,motorolla dan intel

311 Bahasa Assembly

Pembahasan bahasa assembly kali ini diterapkansecara umum pada bahasa assembly 68000 Karenainstruksi 68000 dapat menangani tiga ukuran operandyang berbeda maka instruksi assembler harusmengindikasikan ukuran yang dimaksud Hal inidilakukan dengan menambahkan indikator ukuran kemnemonic operasi Indikator ukuran adalah L untuklong word W untuk word B untuk byte Sehingga jikainstruksi add beroperasi pada operand long word makamnemonic operasinya ditulis sebagai ADDL pada saattidak ada indikasi ukuran ukuran operand dianggapsatu word Hal ini berarti bahwa instruksi ADDL padasaat tidak ada indikasi ukuran ukuran operanddianggap satu word Hal ini berarti bahwa instruksiADDW20 D1 dan ADD20 D1 adalah identik

2

Group 4 PTIK 09

312 Kontrol Aliran Program

Instruksi Branch diperlukan untukmengmplementasikan struktur program sepertistatement if dan loop Secara umum suatuinstruksi branch menguji kondisi branch dankemudian tergantung pada hasiltersebut menyebabkan eksekusi dilanjutkan padasalah satu dari jalur yang ada

3

Group 4 PTIK 09

313 Operasi IO

Processor 68000 mensyaratkan semuastatus dan buffer data dalam antar mukaperangkat IOmenjadi addressable seperti lokasimemori

4

Group 4 PTIK 09

314 Stack dan Subroutine

Suatu stack dapat diimplementasikan menggunakan registeralamat apapun sebagai pointer Mode pengalamatanautoincrement dan autodecrement memfasilitasi proses ini Saturegister spesifik register A7 ditunjuk sebagai pointer stackprosesor dan stack yang ditunjuk register ini disebut stackprosessor Ini adalah stack yang digunakan dalam semuaoperasi stack yang dilakukan processor secaraotomatis sebagaimana dalam kasus linkage subroutine

Instruksi Branch-to-Subroutine (BSR) digunakan untukmemanggil subroutine Instruksi tersebut diimplementasikandengan cara yang sama seperti instruksi branch yang lain tetapijuga menyebabkan isi program counter di-push ke stack Branchtargetnya adalah instruksi pertama dalam subroutine tersebutPada saat subroutine tersebut diselesaikan Instruksi Return-from-Subroutine (RTS) digunakan untuk kembali ke callingprogram

5

Group 4 PTIK 09

315 Instruksi Logika

Kelompok perintah ini dipakai untukmelakukan operasi logika mikrokontroler MCS51operasi logika yang bisa dilakukan adalah operasiAND (kode operasi ANL) operasi OR (kode operasiORL) dan operasi Exclusive-OR (kode operasi XRL)Data yang dipakai dalam operasi ini bisa berupadata yang berada dalam Akumulator atau datayang berada dalam memori-data hal ini sedikitberlainan dengan operasi aritmatik yang harusmelihatkan Akumulator secara aktip Hasil operasiditampung di sumber data yang pertama

6

Group 4 PTIK 09

316 Contoh Program

Pada bagian ini kita menggunakan versiprogram 68000 untuk operasi dot product bytesorting dan linked-list

7

Group 4 PTIK 09

BAGIAN III CONTOH IA-32 PENTIUM

Intel cooperation menggunakan nama umumIntel Architecture (IA) untuk prosesor dalam merekproduknya Kita akan mendeskripsikan prosesor IAyang beroperasi dengan alamat memori 32-bit danoperand-32 bit Prosesor IA-32 pertama kali adalah80386 (tahun 1985) 80486 (tahun 1989) Pentium(tahun 1993) dan Pentium 4 (tahun 2000) telahdiimplementasikan

8

Group 4 PTIK 09

317 Register dan Pengalamatan

Dalam arsitektur IA-32 memori adalah byteaddressable menggunakan alamat 32-bit daninstruksi beroperasi pada operand data 8-32 bitUkuran operand ini diebut byte dan doubleworddalam istilah intel Operand 16-bit disebut wordpada processor Intel i6-bit awal Digunakapengalamatan little-edian operand multiple-bytedapat mulai dari tiap lokasi alamat byte

9

Group 4 PTIK 09

3171 Struktur Register IA-32

Delapan register 32-bit berlabel R0 hingga R7adalah general-pupose register yang dapatdigunakan untuk menyimpan operand data atauinformasi pengalamatan Delapan general-puposeregister menjadi tiga tipe yang berbeda registerdata untuk operand penyimpan dan registerpointer dan index untuk menyimpan alamat danindex alamat digunakan untuk metapkan affectiveaddress suatu operand memori

10

Group 4 PTIK 09

3172 Mode Pengalamatan IA-32

Arsitektur IA-32 memi bliki set modepengalamatan yang besar dan fleksibel Modetersebut didesain untuk mengakses item dataindividu atau item data yang merupakan anggotadari list yang berurutan mulai pada alamat memoriterentu Set lengkap mode pengalamatan IA-32didefeniskan sebagai berikut

11

Group 4 PTIK 09

- Mode Immediate - operandnya disertakandalaminstruksi Operand tersebut adalahbilangan 8-bit atau 32-bit bertanda denganpanjang ditetapkan oleh suatu bit dalam OPcode instruksi

- Mode Direct - alamat memori operanddinyatakandengan nilai 32-bit dalam instruksiterebut

12

Group 4 PTIK 09

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 3: Pert.5 set instruksi arm,motorolla dan intel

312 Kontrol Aliran Program

Instruksi Branch diperlukan untukmengmplementasikan struktur program sepertistatement if dan loop Secara umum suatuinstruksi branch menguji kondisi branch dankemudian tergantung pada hasiltersebut menyebabkan eksekusi dilanjutkan padasalah satu dari jalur yang ada

3

Group 4 PTIK 09

313 Operasi IO

Processor 68000 mensyaratkan semuastatus dan buffer data dalam antar mukaperangkat IOmenjadi addressable seperti lokasimemori

4

Group 4 PTIK 09

314 Stack dan Subroutine

Suatu stack dapat diimplementasikan menggunakan registeralamat apapun sebagai pointer Mode pengalamatanautoincrement dan autodecrement memfasilitasi proses ini Saturegister spesifik register A7 ditunjuk sebagai pointer stackprosesor dan stack yang ditunjuk register ini disebut stackprosessor Ini adalah stack yang digunakan dalam semuaoperasi stack yang dilakukan processor secaraotomatis sebagaimana dalam kasus linkage subroutine

Instruksi Branch-to-Subroutine (BSR) digunakan untukmemanggil subroutine Instruksi tersebut diimplementasikandengan cara yang sama seperti instruksi branch yang lain tetapijuga menyebabkan isi program counter di-push ke stack Branchtargetnya adalah instruksi pertama dalam subroutine tersebutPada saat subroutine tersebut diselesaikan Instruksi Return-from-Subroutine (RTS) digunakan untuk kembali ke callingprogram

5

Group 4 PTIK 09

315 Instruksi Logika

Kelompok perintah ini dipakai untukmelakukan operasi logika mikrokontroler MCS51operasi logika yang bisa dilakukan adalah operasiAND (kode operasi ANL) operasi OR (kode operasiORL) dan operasi Exclusive-OR (kode operasi XRL)Data yang dipakai dalam operasi ini bisa berupadata yang berada dalam Akumulator atau datayang berada dalam memori-data hal ini sedikitberlainan dengan operasi aritmatik yang harusmelihatkan Akumulator secara aktip Hasil operasiditampung di sumber data yang pertama

6

Group 4 PTIK 09

316 Contoh Program

Pada bagian ini kita menggunakan versiprogram 68000 untuk operasi dot product bytesorting dan linked-list

7

Group 4 PTIK 09

BAGIAN III CONTOH IA-32 PENTIUM

Intel cooperation menggunakan nama umumIntel Architecture (IA) untuk prosesor dalam merekproduknya Kita akan mendeskripsikan prosesor IAyang beroperasi dengan alamat memori 32-bit danoperand-32 bit Prosesor IA-32 pertama kali adalah80386 (tahun 1985) 80486 (tahun 1989) Pentium(tahun 1993) dan Pentium 4 (tahun 2000) telahdiimplementasikan

8

Group 4 PTIK 09

317 Register dan Pengalamatan

Dalam arsitektur IA-32 memori adalah byteaddressable menggunakan alamat 32-bit daninstruksi beroperasi pada operand data 8-32 bitUkuran operand ini diebut byte dan doubleworddalam istilah intel Operand 16-bit disebut wordpada processor Intel i6-bit awal Digunakapengalamatan little-edian operand multiple-bytedapat mulai dari tiap lokasi alamat byte

9

Group 4 PTIK 09

3171 Struktur Register IA-32

Delapan register 32-bit berlabel R0 hingga R7adalah general-pupose register yang dapatdigunakan untuk menyimpan operand data atauinformasi pengalamatan Delapan general-puposeregister menjadi tiga tipe yang berbeda registerdata untuk operand penyimpan dan registerpointer dan index untuk menyimpan alamat danindex alamat digunakan untuk metapkan affectiveaddress suatu operand memori

10

Group 4 PTIK 09

3172 Mode Pengalamatan IA-32

Arsitektur IA-32 memi bliki set modepengalamatan yang besar dan fleksibel Modetersebut didesain untuk mengakses item dataindividu atau item data yang merupakan anggotadari list yang berurutan mulai pada alamat memoriterentu Set lengkap mode pengalamatan IA-32didefeniskan sebagai berikut

11

Group 4 PTIK 09

- Mode Immediate - operandnya disertakandalaminstruksi Operand tersebut adalahbilangan 8-bit atau 32-bit bertanda denganpanjang ditetapkan oleh suatu bit dalam OPcode instruksi

- Mode Direct - alamat memori operanddinyatakandengan nilai 32-bit dalam instruksiterebut

12

Group 4 PTIK 09

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 4: Pert.5 set instruksi arm,motorolla dan intel

313 Operasi IO

Processor 68000 mensyaratkan semuastatus dan buffer data dalam antar mukaperangkat IOmenjadi addressable seperti lokasimemori

4

Group 4 PTIK 09

314 Stack dan Subroutine

Suatu stack dapat diimplementasikan menggunakan registeralamat apapun sebagai pointer Mode pengalamatanautoincrement dan autodecrement memfasilitasi proses ini Saturegister spesifik register A7 ditunjuk sebagai pointer stackprosesor dan stack yang ditunjuk register ini disebut stackprosessor Ini adalah stack yang digunakan dalam semuaoperasi stack yang dilakukan processor secaraotomatis sebagaimana dalam kasus linkage subroutine

Instruksi Branch-to-Subroutine (BSR) digunakan untukmemanggil subroutine Instruksi tersebut diimplementasikandengan cara yang sama seperti instruksi branch yang lain tetapijuga menyebabkan isi program counter di-push ke stack Branchtargetnya adalah instruksi pertama dalam subroutine tersebutPada saat subroutine tersebut diselesaikan Instruksi Return-from-Subroutine (RTS) digunakan untuk kembali ke callingprogram

5

Group 4 PTIK 09

315 Instruksi Logika

Kelompok perintah ini dipakai untukmelakukan operasi logika mikrokontroler MCS51operasi logika yang bisa dilakukan adalah operasiAND (kode operasi ANL) operasi OR (kode operasiORL) dan operasi Exclusive-OR (kode operasi XRL)Data yang dipakai dalam operasi ini bisa berupadata yang berada dalam Akumulator atau datayang berada dalam memori-data hal ini sedikitberlainan dengan operasi aritmatik yang harusmelihatkan Akumulator secara aktip Hasil operasiditampung di sumber data yang pertama

6

Group 4 PTIK 09

316 Contoh Program

Pada bagian ini kita menggunakan versiprogram 68000 untuk operasi dot product bytesorting dan linked-list

7

Group 4 PTIK 09

BAGIAN III CONTOH IA-32 PENTIUM

Intel cooperation menggunakan nama umumIntel Architecture (IA) untuk prosesor dalam merekproduknya Kita akan mendeskripsikan prosesor IAyang beroperasi dengan alamat memori 32-bit danoperand-32 bit Prosesor IA-32 pertama kali adalah80386 (tahun 1985) 80486 (tahun 1989) Pentium(tahun 1993) dan Pentium 4 (tahun 2000) telahdiimplementasikan

8

Group 4 PTIK 09

317 Register dan Pengalamatan

Dalam arsitektur IA-32 memori adalah byteaddressable menggunakan alamat 32-bit daninstruksi beroperasi pada operand data 8-32 bitUkuran operand ini diebut byte dan doubleworddalam istilah intel Operand 16-bit disebut wordpada processor Intel i6-bit awal Digunakapengalamatan little-edian operand multiple-bytedapat mulai dari tiap lokasi alamat byte

9

Group 4 PTIK 09

3171 Struktur Register IA-32

Delapan register 32-bit berlabel R0 hingga R7adalah general-pupose register yang dapatdigunakan untuk menyimpan operand data atauinformasi pengalamatan Delapan general-puposeregister menjadi tiga tipe yang berbeda registerdata untuk operand penyimpan dan registerpointer dan index untuk menyimpan alamat danindex alamat digunakan untuk metapkan affectiveaddress suatu operand memori

10

Group 4 PTIK 09

3172 Mode Pengalamatan IA-32

Arsitektur IA-32 memi bliki set modepengalamatan yang besar dan fleksibel Modetersebut didesain untuk mengakses item dataindividu atau item data yang merupakan anggotadari list yang berurutan mulai pada alamat memoriterentu Set lengkap mode pengalamatan IA-32didefeniskan sebagai berikut

11

Group 4 PTIK 09

- Mode Immediate - operandnya disertakandalaminstruksi Operand tersebut adalahbilangan 8-bit atau 32-bit bertanda denganpanjang ditetapkan oleh suatu bit dalam OPcode instruksi

- Mode Direct - alamat memori operanddinyatakandengan nilai 32-bit dalam instruksiterebut

12

Group 4 PTIK 09

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 5: Pert.5 set instruksi arm,motorolla dan intel

314 Stack dan Subroutine

Suatu stack dapat diimplementasikan menggunakan registeralamat apapun sebagai pointer Mode pengalamatanautoincrement dan autodecrement memfasilitasi proses ini Saturegister spesifik register A7 ditunjuk sebagai pointer stackprosesor dan stack yang ditunjuk register ini disebut stackprosessor Ini adalah stack yang digunakan dalam semuaoperasi stack yang dilakukan processor secaraotomatis sebagaimana dalam kasus linkage subroutine

Instruksi Branch-to-Subroutine (BSR) digunakan untukmemanggil subroutine Instruksi tersebut diimplementasikandengan cara yang sama seperti instruksi branch yang lain tetapijuga menyebabkan isi program counter di-push ke stack Branchtargetnya adalah instruksi pertama dalam subroutine tersebutPada saat subroutine tersebut diselesaikan Instruksi Return-from-Subroutine (RTS) digunakan untuk kembali ke callingprogram

5

Group 4 PTIK 09

315 Instruksi Logika

Kelompok perintah ini dipakai untukmelakukan operasi logika mikrokontroler MCS51operasi logika yang bisa dilakukan adalah operasiAND (kode operasi ANL) operasi OR (kode operasiORL) dan operasi Exclusive-OR (kode operasi XRL)Data yang dipakai dalam operasi ini bisa berupadata yang berada dalam Akumulator atau datayang berada dalam memori-data hal ini sedikitberlainan dengan operasi aritmatik yang harusmelihatkan Akumulator secara aktip Hasil operasiditampung di sumber data yang pertama

6

Group 4 PTIK 09

316 Contoh Program

Pada bagian ini kita menggunakan versiprogram 68000 untuk operasi dot product bytesorting dan linked-list

7

Group 4 PTIK 09

BAGIAN III CONTOH IA-32 PENTIUM

Intel cooperation menggunakan nama umumIntel Architecture (IA) untuk prosesor dalam merekproduknya Kita akan mendeskripsikan prosesor IAyang beroperasi dengan alamat memori 32-bit danoperand-32 bit Prosesor IA-32 pertama kali adalah80386 (tahun 1985) 80486 (tahun 1989) Pentium(tahun 1993) dan Pentium 4 (tahun 2000) telahdiimplementasikan

8

Group 4 PTIK 09

317 Register dan Pengalamatan

Dalam arsitektur IA-32 memori adalah byteaddressable menggunakan alamat 32-bit daninstruksi beroperasi pada operand data 8-32 bitUkuran operand ini diebut byte dan doubleworddalam istilah intel Operand 16-bit disebut wordpada processor Intel i6-bit awal Digunakapengalamatan little-edian operand multiple-bytedapat mulai dari tiap lokasi alamat byte

9

Group 4 PTIK 09

3171 Struktur Register IA-32

Delapan register 32-bit berlabel R0 hingga R7adalah general-pupose register yang dapatdigunakan untuk menyimpan operand data atauinformasi pengalamatan Delapan general-puposeregister menjadi tiga tipe yang berbeda registerdata untuk operand penyimpan dan registerpointer dan index untuk menyimpan alamat danindex alamat digunakan untuk metapkan affectiveaddress suatu operand memori

10

Group 4 PTIK 09

3172 Mode Pengalamatan IA-32

Arsitektur IA-32 memi bliki set modepengalamatan yang besar dan fleksibel Modetersebut didesain untuk mengakses item dataindividu atau item data yang merupakan anggotadari list yang berurutan mulai pada alamat memoriterentu Set lengkap mode pengalamatan IA-32didefeniskan sebagai berikut

11

Group 4 PTIK 09

- Mode Immediate - operandnya disertakandalaminstruksi Operand tersebut adalahbilangan 8-bit atau 32-bit bertanda denganpanjang ditetapkan oleh suatu bit dalam OPcode instruksi

- Mode Direct - alamat memori operanddinyatakandengan nilai 32-bit dalam instruksiterebut

12

Group 4 PTIK 09

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 6: Pert.5 set instruksi arm,motorolla dan intel

315 Instruksi Logika

Kelompok perintah ini dipakai untukmelakukan operasi logika mikrokontroler MCS51operasi logika yang bisa dilakukan adalah operasiAND (kode operasi ANL) operasi OR (kode operasiORL) dan operasi Exclusive-OR (kode operasi XRL)Data yang dipakai dalam operasi ini bisa berupadata yang berada dalam Akumulator atau datayang berada dalam memori-data hal ini sedikitberlainan dengan operasi aritmatik yang harusmelihatkan Akumulator secara aktip Hasil operasiditampung di sumber data yang pertama

6

Group 4 PTIK 09

316 Contoh Program

Pada bagian ini kita menggunakan versiprogram 68000 untuk operasi dot product bytesorting dan linked-list

7

Group 4 PTIK 09

BAGIAN III CONTOH IA-32 PENTIUM

Intel cooperation menggunakan nama umumIntel Architecture (IA) untuk prosesor dalam merekproduknya Kita akan mendeskripsikan prosesor IAyang beroperasi dengan alamat memori 32-bit danoperand-32 bit Prosesor IA-32 pertama kali adalah80386 (tahun 1985) 80486 (tahun 1989) Pentium(tahun 1993) dan Pentium 4 (tahun 2000) telahdiimplementasikan

8

Group 4 PTIK 09

317 Register dan Pengalamatan

Dalam arsitektur IA-32 memori adalah byteaddressable menggunakan alamat 32-bit daninstruksi beroperasi pada operand data 8-32 bitUkuran operand ini diebut byte dan doubleworddalam istilah intel Operand 16-bit disebut wordpada processor Intel i6-bit awal Digunakapengalamatan little-edian operand multiple-bytedapat mulai dari tiap lokasi alamat byte

9

Group 4 PTIK 09

3171 Struktur Register IA-32

Delapan register 32-bit berlabel R0 hingga R7adalah general-pupose register yang dapatdigunakan untuk menyimpan operand data atauinformasi pengalamatan Delapan general-puposeregister menjadi tiga tipe yang berbeda registerdata untuk operand penyimpan dan registerpointer dan index untuk menyimpan alamat danindex alamat digunakan untuk metapkan affectiveaddress suatu operand memori

10

Group 4 PTIK 09

3172 Mode Pengalamatan IA-32

Arsitektur IA-32 memi bliki set modepengalamatan yang besar dan fleksibel Modetersebut didesain untuk mengakses item dataindividu atau item data yang merupakan anggotadari list yang berurutan mulai pada alamat memoriterentu Set lengkap mode pengalamatan IA-32didefeniskan sebagai berikut

11

Group 4 PTIK 09

- Mode Immediate - operandnya disertakandalaminstruksi Operand tersebut adalahbilangan 8-bit atau 32-bit bertanda denganpanjang ditetapkan oleh suatu bit dalam OPcode instruksi

- Mode Direct - alamat memori operanddinyatakandengan nilai 32-bit dalam instruksiterebut

12

Group 4 PTIK 09

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 7: Pert.5 set instruksi arm,motorolla dan intel

316 Contoh Program

Pada bagian ini kita menggunakan versiprogram 68000 untuk operasi dot product bytesorting dan linked-list

7

Group 4 PTIK 09

BAGIAN III CONTOH IA-32 PENTIUM

Intel cooperation menggunakan nama umumIntel Architecture (IA) untuk prosesor dalam merekproduknya Kita akan mendeskripsikan prosesor IAyang beroperasi dengan alamat memori 32-bit danoperand-32 bit Prosesor IA-32 pertama kali adalah80386 (tahun 1985) 80486 (tahun 1989) Pentium(tahun 1993) dan Pentium 4 (tahun 2000) telahdiimplementasikan

8

Group 4 PTIK 09

317 Register dan Pengalamatan

Dalam arsitektur IA-32 memori adalah byteaddressable menggunakan alamat 32-bit daninstruksi beroperasi pada operand data 8-32 bitUkuran operand ini diebut byte dan doubleworddalam istilah intel Operand 16-bit disebut wordpada processor Intel i6-bit awal Digunakapengalamatan little-edian operand multiple-bytedapat mulai dari tiap lokasi alamat byte

9

Group 4 PTIK 09

3171 Struktur Register IA-32

Delapan register 32-bit berlabel R0 hingga R7adalah general-pupose register yang dapatdigunakan untuk menyimpan operand data atauinformasi pengalamatan Delapan general-puposeregister menjadi tiga tipe yang berbeda registerdata untuk operand penyimpan dan registerpointer dan index untuk menyimpan alamat danindex alamat digunakan untuk metapkan affectiveaddress suatu operand memori

10

Group 4 PTIK 09

3172 Mode Pengalamatan IA-32

Arsitektur IA-32 memi bliki set modepengalamatan yang besar dan fleksibel Modetersebut didesain untuk mengakses item dataindividu atau item data yang merupakan anggotadari list yang berurutan mulai pada alamat memoriterentu Set lengkap mode pengalamatan IA-32didefeniskan sebagai berikut

11

Group 4 PTIK 09

- Mode Immediate - operandnya disertakandalaminstruksi Operand tersebut adalahbilangan 8-bit atau 32-bit bertanda denganpanjang ditetapkan oleh suatu bit dalam OPcode instruksi

- Mode Direct - alamat memori operanddinyatakandengan nilai 32-bit dalam instruksiterebut

12

Group 4 PTIK 09

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 8: Pert.5 set instruksi arm,motorolla dan intel

BAGIAN III CONTOH IA-32 PENTIUM

Intel cooperation menggunakan nama umumIntel Architecture (IA) untuk prosesor dalam merekproduknya Kita akan mendeskripsikan prosesor IAyang beroperasi dengan alamat memori 32-bit danoperand-32 bit Prosesor IA-32 pertama kali adalah80386 (tahun 1985) 80486 (tahun 1989) Pentium(tahun 1993) dan Pentium 4 (tahun 2000) telahdiimplementasikan

8

Group 4 PTIK 09

317 Register dan Pengalamatan

Dalam arsitektur IA-32 memori adalah byteaddressable menggunakan alamat 32-bit daninstruksi beroperasi pada operand data 8-32 bitUkuran operand ini diebut byte dan doubleworddalam istilah intel Operand 16-bit disebut wordpada processor Intel i6-bit awal Digunakapengalamatan little-edian operand multiple-bytedapat mulai dari tiap lokasi alamat byte

9

Group 4 PTIK 09

3171 Struktur Register IA-32

Delapan register 32-bit berlabel R0 hingga R7adalah general-pupose register yang dapatdigunakan untuk menyimpan operand data atauinformasi pengalamatan Delapan general-puposeregister menjadi tiga tipe yang berbeda registerdata untuk operand penyimpan dan registerpointer dan index untuk menyimpan alamat danindex alamat digunakan untuk metapkan affectiveaddress suatu operand memori

10

Group 4 PTIK 09

3172 Mode Pengalamatan IA-32

Arsitektur IA-32 memi bliki set modepengalamatan yang besar dan fleksibel Modetersebut didesain untuk mengakses item dataindividu atau item data yang merupakan anggotadari list yang berurutan mulai pada alamat memoriterentu Set lengkap mode pengalamatan IA-32didefeniskan sebagai berikut

11

Group 4 PTIK 09

- Mode Immediate - operandnya disertakandalaminstruksi Operand tersebut adalahbilangan 8-bit atau 32-bit bertanda denganpanjang ditetapkan oleh suatu bit dalam OPcode instruksi

- Mode Direct - alamat memori operanddinyatakandengan nilai 32-bit dalam instruksiterebut

12

Group 4 PTIK 09

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 9: Pert.5 set instruksi arm,motorolla dan intel

317 Register dan Pengalamatan

Dalam arsitektur IA-32 memori adalah byteaddressable menggunakan alamat 32-bit daninstruksi beroperasi pada operand data 8-32 bitUkuran operand ini diebut byte dan doubleworddalam istilah intel Operand 16-bit disebut wordpada processor Intel i6-bit awal Digunakapengalamatan little-edian operand multiple-bytedapat mulai dari tiap lokasi alamat byte

9

Group 4 PTIK 09

3171 Struktur Register IA-32

Delapan register 32-bit berlabel R0 hingga R7adalah general-pupose register yang dapatdigunakan untuk menyimpan operand data atauinformasi pengalamatan Delapan general-puposeregister menjadi tiga tipe yang berbeda registerdata untuk operand penyimpan dan registerpointer dan index untuk menyimpan alamat danindex alamat digunakan untuk metapkan affectiveaddress suatu operand memori

10

Group 4 PTIK 09

3172 Mode Pengalamatan IA-32

Arsitektur IA-32 memi bliki set modepengalamatan yang besar dan fleksibel Modetersebut didesain untuk mengakses item dataindividu atau item data yang merupakan anggotadari list yang berurutan mulai pada alamat memoriterentu Set lengkap mode pengalamatan IA-32didefeniskan sebagai berikut

11

Group 4 PTIK 09

- Mode Immediate - operandnya disertakandalaminstruksi Operand tersebut adalahbilangan 8-bit atau 32-bit bertanda denganpanjang ditetapkan oleh suatu bit dalam OPcode instruksi

- Mode Direct - alamat memori operanddinyatakandengan nilai 32-bit dalam instruksiterebut

12

Group 4 PTIK 09

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 10: Pert.5 set instruksi arm,motorolla dan intel

3171 Struktur Register IA-32

Delapan register 32-bit berlabel R0 hingga R7adalah general-pupose register yang dapatdigunakan untuk menyimpan operand data atauinformasi pengalamatan Delapan general-puposeregister menjadi tiga tipe yang berbeda registerdata untuk operand penyimpan dan registerpointer dan index untuk menyimpan alamat danindex alamat digunakan untuk metapkan affectiveaddress suatu operand memori

10

Group 4 PTIK 09

3172 Mode Pengalamatan IA-32

Arsitektur IA-32 memi bliki set modepengalamatan yang besar dan fleksibel Modetersebut didesain untuk mengakses item dataindividu atau item data yang merupakan anggotadari list yang berurutan mulai pada alamat memoriterentu Set lengkap mode pengalamatan IA-32didefeniskan sebagai berikut

11

Group 4 PTIK 09

- Mode Immediate - operandnya disertakandalaminstruksi Operand tersebut adalahbilangan 8-bit atau 32-bit bertanda denganpanjang ditetapkan oleh suatu bit dalam OPcode instruksi

- Mode Direct - alamat memori operanddinyatakandengan nilai 32-bit dalam instruksiterebut

12

Group 4 PTIK 09

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 11: Pert.5 set instruksi arm,motorolla dan intel

3172 Mode Pengalamatan IA-32

Arsitektur IA-32 memi bliki set modepengalamatan yang besar dan fleksibel Modetersebut didesain untuk mengakses item dataindividu atau item data yang merupakan anggotadari list yang berurutan mulai pada alamat memoriterentu Set lengkap mode pengalamatan IA-32didefeniskan sebagai berikut

11

Group 4 PTIK 09

- Mode Immediate - operandnya disertakandalaminstruksi Operand tersebut adalahbilangan 8-bit atau 32-bit bertanda denganpanjang ditetapkan oleh suatu bit dalam OPcode instruksi

- Mode Direct - alamat memori operanddinyatakandengan nilai 32-bit dalam instruksiterebut

12

Group 4 PTIK 09

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 12: Pert.5 set instruksi arm,motorolla dan intel

- Mode Immediate - operandnya disertakandalaminstruksi Operand tersebut adalahbilangan 8-bit atau 32-bit bertanda denganpanjang ditetapkan oleh suatu bit dalam OPcode instruksi

- Mode Direct - alamat memori operanddinyatakandengan nilai 32-bit dalam instruksiterebut

12

Group 4 PTIK 09

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 13: Pert.5 set instruksi arm,motorolla dan intel

- Mode Register - operand disertakan dalam salahsatu dari delapan general-purpose register yangditetapkan dalam instruksi

- Mode Register Indirect - alamat memori operanddisertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi

13

Group 4 PTIK 09

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 14: Pert.5 set instruksi arm,motorolla dan intel

- Mode Base with displacement - displacement 8-bit atau 32-bit bertanda dan salah satu daridelapan general-purpose register untukdigunakan sebagai base register ditetapkandalam instruksi

- Mode Index with diplecement - diplecementbertanda 32-bit salah satu dari delapan general-purpose register untuk digunakan sebagai indexregister dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

14

Group 4 PTIK 09

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 15: Pert.5 set instruksi arm,motorolla dan intel

- Mode Base with index - dua dari delapan genera-purpose register dan faktor skala 1 2 4 atau 8ditetapkan dalam instruksi

- Mode Base with index and diplecement -diplecement 8-bit atau 32-bit bertanda dua daridelapan register general-purpose dan faktor skala1 2 4 atau8 ditetapkan dalam instruksi

15

Group 4 PTIK 09

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 16: Pert.5 set instruksi arm,motorolla dan intel

318 Instruksi IA-32

Set instruksi IA-32 adalah eksensif Instruksitersebut di-encode dalam format instruksi variabl-length yang tidak memilik layout regularsepenuhnya Kebanyakaninstruksi IA-32 memilkisatu atau dua operand Dalam satu atau duaoperand hanya satu operand yang berada dalammemori Operand lain harus berada dalamregisterprosesor Selain instruksi untumemindahkan data antara memori dan registerprosesor dan melakukan operasi aritmatika setinstruksi menyertakan sejumlah operasi logika dapergeserarotasi yang berbeda pada data

16

Group 4 PTIK 09

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 17: Pert.5 set instruksi arm,motorolla dan intel

319 Bahasa Assembly

Aspek dasar bahasa assembly IA-32untuk menetapkan OP code modepengalamatan dan label alamat instruksi yangdiilustrasikan oleh program Assembler directivediperluka untuk mendefinisikan area data suatuprogram dan untuk mendefinisikan hubunganantara nama simbolik lokasi data dan nilai alamatfisik aktual

17

Group 4 PTIK 09

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 18: Pert.5 set instruksi arm,motorolla dan intel

320 Kontrol Aliran Program

Terdapat dua cara utama untukmenvariasi aliran eksekusi instruksi dari straight-line sequencing Panggilan ke subroutine dankembali dari subroutine tersebut memutuskanstraight-line sequencing juga gangguan instruksibranch baik conditional maupununconditional dapat menyebabkan suatu break

18

Group 4 PTIK 09

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 19: Pert.5 set instruksi arm,motorolla dan intel

321 Instruksi Logic dan ShiftRotate

3211 Operasi LogikaArsitektur IA-32memiliki instruksi yang

menjalankan operasi logika AND OR dan XOR Operasitersebut dijalankan bitwise pada dua operand danhasilnya ditempatkan pada lokasi destinasi

3212 Operasi Pergeseran dan RotasiSuatu operand dapat digeser ke kiri atau ke kanan

dengan sejumlah posisi bit ditetapkan dengan counttertentu Terdapat empat instruksi shift yaituSHL SHR SAL SAR

19

Group 4 PTIK 09

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 20: Pert.5 set instruksi arm,motorolla dan intel

322 Operasi IO

3221 Memory-Mapped IO

Regiser buffer perangkat inputoutputmerupakan yang paling umum diakses dalamcomputer modern oleh metode memory-mappedIO instruksi Move IA-32 dapat digunakan untukmentransfer directive ke perangkat IO dan untukmentransfer informasi status dan data ke dan dariperangkat

20

Group 4 PTIK 09

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 21: Pert.5 set instruksi arm,motorolla dan intel

3222 IO Terisolasi

Set instruksi IA-32 juga memiliki duainstruksi dengan OP code IN dan OUT yanghanya digunakan untuk tujuan IO alamat yangdinyatakan dalam instruksi tersebut berada dalamruang alamat yang terpisah dari ruang alamatmemori yang digunakan oleh instruksilainpengaturan ini diebut isolated IO utukmembedakanya dari memori-mapped IO dimanalokasi addressable dalam perangkat IO beradadalam ruang alamat yang sama dengan lokasimemori

21

Group 4 PTIK 09

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 22: Pert.5 set instruksi arm,motorolla dan intel

3223 Transfer Blok

Arsitektur IA-32 juga memiliki dua blokinstruksi transfer IO REPINSD dan REPOUTSInstruksi tersebut mentransfer suatu blok itemdata secara serialsatu item pada satuwaktu antara memori dan perangkat IO

22

Group 4 PTIK 09

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09

Page 23: Pert.5 set instruksi arm,motorolla dan intel

323 Subroutine

Pada suatu program seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbedaSubtask semacam itu biasanya disebut subroutine Misalnya suatusubroutine dapat mengevaluasi fungsi sinus atau mensortir suatulist nilai menjadi urutan meningkat atau menurun Sangatdimungkinkan untuk menyertakan blok instruksi yang terdiri darisubroutine pada setiap tempat yang memerlukan program tersebutAkan tetapi untuk menghemat ruang hanya satu copy dari instruksiyang merupakan subroutine ditempatkan dalam memori tiapprogram yang perlu menggunakan subroutine tersebut hanya perlubranch ke lokasi mulainya Pada saat sualu program branch kesuatu subroutine kita katakan program tersebut memanggilsubroutine Instruksi yang melakukan operasi branch ini disebutinstruksi Call Setelah subroutine dieksekusi calling program hamsmcresume eksekusi melanjutkan dengan segera setelah instruksiyang memanggil subroutine tersebut Subroutine kembali keprogram yang memanggilnya dengan mengeksekusi instruksiReturn

23

Group 4 PTIK 09