Pert.5 set instruksi arm,motorolla dan intel

829 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
829
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pert.5 set instruksi arm,motorolla dan intel

  1. 1. Pertemuan 5 (SET INSTRUKSI ARM, MOTOROLA, DAN INTEL) 13.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, dllGroup 4 PTIK 09
  2. 2. 3.11 Bahasa Assembly 2 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 ADD.L pada saattidak ada indikasi ukuran, ukuran operand dianggapsatu word. Hal ini berarti bahwa instruksi ADD.L. padasaat tidak ada indikasi ukuran, ukuran operanddianggap satu word. Hal ini berarti bahwa instruksiADD.W#20, D1 dan ADD#20, D1 adalah identik.Group 4 PTIK 09
  3. 3. 3.12 Kontrol Aliran Program 3 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.Group 4 PTIK 09
  4. 4. 3.13 Operasi I/O 4 Processor 68000 mensyaratkan semuastatus dan buffer data dalam antar mukaperangkat I/Omenjadi addressable seperti lokasimemori.Group 4 PTIK 09
  5. 5. 3.14 Stack dan Subroutine 5 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 tersebut.Pada saat subroutine tersebut diselesaikan, Instruksi Return-from-Subroutine (RTS) digunakan untuk kembali ke callingprogram.Group 4 PTIK 09
  6. 6. 3.15 Instruksi Logika 6 Kelompok perintah ini dipakai untukmelakukan operasi logika mikrokontroler MCS51,operasi 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.Group 4 PTIK 09
  7. 7. 3.16 Contoh Program 7 Pada bagian ini, kita menggunakan versiprogram 68000 untuk operasi dot product, bytesorting, dan linked-listGroup 4 PTIK 09
  8. 8. BAGIAN III CONTOH IA-32 PENTIUM 8 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.Group 4 PTIK 09
  9. 9. 3.17 Register dan Pengalamatan 9 Dalam arsitektur IA-32 memori adalah byteaddressable menggunakan alamat 32-bit, daninstruksi beroperasi pada operand data 8-32 bit.Ukuran 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.Group 4 PTIK 09
  10. 10. 3.17.1 Struktur Register IA-32 10 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.Group 4 PTIK 09
  11. 11. 3.17.2 Mode Pengalamatan IA-32 11 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:Group 4 PTIK 09
  12. 12. 12 - Mode Immediate - operandnya disertakan dalaminstruksi. Operand tersebut adalah bilangan 8-bit atau 32-bit bertanda, dengan panjang ditetapkan oleh suatu bit dalam OP code instruksi.- Mode Direct - alamat memori operand dinyatakandengan nilai 32-bit dalam instruksi terebut.Group 4 PTIK 09
  13. 13. 13- Mode Register - operand disertakan dalam salah satu dari delapan general-purpose register yang ditetapkan dalam instruksi.- Mode Register Indirect - alamat memori operand disertakan dalam salah satu dari delapan general- purpose register yang ditetapkan dalam instruksi.Group 4 PTIK 09
  14. 14. 14- Mode Base with displacement - displacement 8- bit atau 32-bit bertanda dan salah satu dari delapan general-purpose register untuk digunakan sebagai base register ditetapkan dalam instruksi.- Mode Index with diplecement - diplecement bertanda 32-bit, salah satu dari delapan general- purpose register untuk digunakan sebagai index register, dan faktor skala 1, 2, 4, atau 8 ditetapkan dalam instruksi.Group 4 PTIK 09
  15. 15. 15- Mode Base with index - dua dari delapan genera- purpose register dan faktor skala 1, 2, 4, atau 8 ditetapkan dalam instruksi.- Mode Base with index and diplecement - diplecement 8-bit atau 32-bit bertanda, dua dari delapan register general-purpose dan faktor skala 1, 2, 4, atau8 ditetapkan dalam instruksi.Group 4 PTIK 09
  16. 16. 3.18 Instruksi IA-32 16 Set instruksi IA-32 adalah eksensif. Instruksi tersebut di-encode dalam format instruksi variabl- length yang tidak memilik layout regular sepenuhnya. Kebanyakaninstruksi IA-32 memilki satu atau dua operand. Dalam satu atau dua operand, hanya satu operand yang berada dalam memori. Operand lain harus berada dalam registerprosesor. Selain instruksi untu memindahkan data antara memori dan register prosesor, dan melakukan operasi aritmatika, set instruksi menyertakan sejumlah operasi logika da pergesera/rotasi yang berbeda pada data.Group 4 PTIK 09
  17. 17. 3.19 Bahasa Assembly 17 Aspek dasar bahasa assembly IA-32 untuk menetapkan OP code, mode pengalamatan, dan label alamat instruksi yang diilustrasikan oleh program. Assembler directive diperluka untuk mendefinisikan area data suatu program dan untuk mendefinisikan hubungan antara nama simbolik lokasi data dan nilai alamat fisik aktual.Group 4 PTIK 09
  18. 18. 3.20 Kontrol Aliran Program 18 Terdapat dua cara utama untuk menvariasi aliran eksekusi instruksi dari straight- line sequencing. Panggilan ke subroutine dan kembali dari subroutine tersebut memutuskan straight-line sequencing, juga gangguan instruksi branch, baik conditional maupun unconditional, dapat menyebabkan suatu break.Group 4 PTIK 09
  19. 19. 3.21 Instruksi Logic dan Shift/Rotate 193.21.1 Operasi Logika Arsitektur IA-32memiliki instruksi yang menjalankan operasi logika AND, OR, dan XOR. Operasi tersebut dijalankan bitwise pada dua operand, dan hasilnya ditempatkan pada lokasi destinasi. 3.21.2 Operasi Pergeseran dan Rotasi Suatu operand dapat digeser ke kiri atau ke kanan dengan sejumlah posisi bit ditetapkan dengan count tertentu. Terdapat empat instruksi shift yaitu: SHL, SHR, SAL, SAR.Group 4 PTIK 09
  20. 20. 3.22 Operasi I/O 203.22.1 Memory-Mapped I/O Regiser buffer perangkat input/output merupakan yang paling umum diakses dalam computer modern oleh metode memory-mapped I/O. instruksi Move IA-32 dapat digunakan untuk mentransfer directive ke perangkat I/O, dan untuk mentransfer informasi status dan data ke dan dari perangkat.Group 4 PTIK 09
  21. 21. 3.22.2 I/O Terisolasi 21 Set instruksi IA-32 juga memiliki dua instruksi, dengan OP code IN dan OUT, yang hanya digunakan untuk tujuan I/O. alamat yang dinyatakan dalam instruksi tersebut berada dalam ruang alamat yang terpisah dari ruang alamat memori yang digunakan oleh instruksi lain.pengaturan ini diebut isolated I/O utuk membedakanya dari memori-mapped I/O dimana lokasi addressable dalam perangkat I/O berada dalam ruang alamat yang sama dengan lokasi memori.Group 4 PTIK 09
  22. 22. 3.22.3 Transfer Blok 22 Arsitektur IA-32 juga memiliki dua blok instruksi transfer I/O ; REPINSD dan REPOUTS. Instruksi tersebut mentransfer suatu blok item data secara serial,satu item pada satu waktu, antara memori dan perangkat I/O.Group 4 PTIK 09
  23. 23. 3.23 Subroutine 23 Pada suatu program, seringkali perlu untuk melakukansubtask tertentu berulangkali pada nilai data yang berbeda.Subtask 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 tersebut.Akan 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.Group 4 PTIK 09

×