SlideShare a Scribd company logo
1 of 28
SET INSTRUKSI ARM, MOTOROLA
                       DAN INTEL




             JUMIATI    092904035



PRODI PENDIDIKAN INFORMATIKA DAN KOMPUTER
          JURUSAN TEKNIK ELEKTRO
              FAKULTAS TEKNIK
       UNIVERSITAS NEGERI MAKASSAR
                    2011
PENDAHULUAN
Advanced RISC Machines (ARM) limited telah
mendesain suatu famili mikroprosesor dan
melisensikan desain tersebut ke perusahaan lain
untuk fabrikasi chip yang penggunaannya dalam
produk komputer dan sistem uang embedded.
Perusahan ARM yang relatif baru, merupakan
perkembangan dari perusahan Acorn Computer
yang mengembangkan desain prosesor pada awal
tahun      1980-an.      Penggunaan     utama
mikroprosesor ARM adalah pada aplikasi
embedded yang berdaya rendah dan berbiaya
rendah,       seperti      misalnya     mobile
telephone,     modem      komunikasi,   sistem
manejemen mesin mobil, dan hand-held.
1. REGISTER, AKSES MEMORI, DAN TRANSFER DATA

 Dalam arsitektur ARM, memori adalah byte-
 addressble, menggunakan alamat 32-bit, dan
 register prosesor memiliki panjang 32-bit. Dua
 panjang operand digunakan dalam memindahkan
 data antara memori dan register prosessor : byte (8
 bit) dan word (32 bit). Alamat word harus di-
 align, yaitu harus merupakan kelipatan 4. Arsitektur
 ARM. Mendukung pengalamatan memori little-
 endian pilihannya ditetapkan oleh jalur kontrol
 input eksternal ke prosesor. Ada saat suatu byte di-
 load dari memori ke register prosesor atau
 disimpan dari register ke memori, selalu
 dialokasikan pada posisi byte register low-order.
A. Struktur Register

  Register prosesor yang digunakan oleh program aplikasi
  ditampilkan pada gambar 3.1 terdapat enam belas register
  32 bit berlabel R0 hingga R15 yang terdiri dari lima belas
  general-purpose register (R0 hingga R14) dan register
  program counter (PC), R15, yang terdiri dari 15. General
  purpose register dapat menyimpan alamat memori atau
  operand data. Current progarm status register (CPRS), atau
  cukup disebut register status, menyimpan condition code
  flag (N, Z, C, V), interupt disable flag, dan bit mode prosesor.
  Disini kita akan mengasumsikan bahw prosesor dalam mode
  user dan dieksekusi sebagai program aplikasi.terdapat 15
  general purpose register tambahn yang yang disebut register
  banked. Register tersebut menduplikasikan beberapa dari
  register R0 sampai R 14.register tersebut digunakan pada
  saat prosesor switch ke mode operasi supervisor atau
  interupt. Copy dari register status yang tersimpan juga
  tersedia dalam mode nonuser tersebut.
B. Instruksi Akses Memory Dan Mode Pengalamatan


     Eksekusi Conditional Instruksi yaitu Fitur yang
      membedakan dan agak tidak biasa dari prosesor ARM
      adalah semua instruksinya dieksekusi secara
      conditional, tergantung pada kondisi yang ditetapkan
      pada instruksi tersebut.

    Mode Pengalamatan Memori yaitu Metode dasar untuk
     mengalamati operand memori adalah membangkitkan
     effective address, EA, dari operan tersebut dengan
     menambahkan offset bertanda keisi base register Rn.
2. INSTRUKSI ARITMATIKA DAN LOGIKA



   Set instruksi ARM memiliki sejumlah instruksi untuk
   operand aritmatika dan logika pada operand yang
   berada dalam general-purpose register atau
   dinyatakan sebagai operand immediate dalam instruksi
   itu sendiri. Operand memori tidak diperbolehkan
   untuk instruksi ini. Terdapat instruksi untuk bentuk
   penambahan dan pengurangan yang berbeda, dan
   terdapat dua instruksi untuk perkalian. Terdapat
   instruksi untuk operand logika AND,OR,NOT,XOR, dan
   bit-clear. Instruksi seperti compare disediakan untuk
   men-set condition code flag berdasarkan hasil dari
   operasi aritmatika dan logika pada dua operand.
   Instruksi tersebut tidak menyimpan hasil akurat dalam
   register.
A. INSTRUKSI ARITMATIKA
Ekspresi bahasa assembly dasar untuk instruksi aritmatika adalah
         Opcode           Rd, Rn, Rm
Dimana operasi yang ditetapkan oleh OP code dilakukan menggunakan
   operand dalam general-purpose register Rn dan Rm. Hasilnya
   diletakkan dalam register Rd. Misalnya, instruksi
         ADD                       R0, R2, R4
Menjalankan operasi
R0  [R2] + [R4]
Dan instruksi
         SUB                       R0, R6, R5
Menjalankan operasi
         R0  [R6] – [R5]
Selain dimasukkan dalam register Rm, operand kedua dapat dinyatakan
   dalam mode immediate. Sehingga,
         ADD                       R0, R3, #17
Menjalankan operasi
         R0  [R3] + 17
Nilai immediate berada dalam field 8-bit dalam bit b7-0 dari instruksi
   tersebut.
NEXT
Operand kedua dapat digeser atau dirotasi sebelum digunakan dalam operasi
  tersebut. Pada saat diperlukan pergeseran atau rotasi, maka ditetapkan paling
  akhir dalam ekspresi bahasa assembly untuk instruksi tersebut. Instruksi
        ADD                                    R0, R1, R5, LSL#4
Beroperasi sebagai berikut: operand kedua yang berada dalam register R5, di geser
   ke kiri 4 posisi bit (setara dengan [R5]) X 16), dan kemudian ditambahkan ke isi
   register R1; jumlah tersebut diletakkan dalam register R0.
Tersedia dua versi instruksi multiply. Versi pertama mengalikan isi dua register dan
   menempatkan 32-bit low-order produk tersebut dalam register ketiga. Bit high-
   order produk tersebut, jika ada, dibuang. Misalnya, instruksi
        MUL                                    R0, R1, R2
Menjalankan operasi
                  R0  [R1] x [R2]
Versi kedua menempatkan register keempat yang isinya ditambahkan ke produk
   sebelum menyimpan hasil tersebut dalam register destinasi. Karenanya, instruksi
        MLA                                    R0 , R1, R2, R3
Menjalankan operasi
   R0  [R1] x [R2] + [R3]
G. OPERASI PERGESERAN OPERAND


  Kita memperhatikan sebelumnya bahwa salah
  satu fitur yang berbeda dari set instruksi ARM
  adalah semua instruksi dieksekusi secara
  CONDITIONAL. Fitur lain yang membedakan
  adalah operasi pergeseran dan rotasi yang
  digabungkan ke sebagian operasi instruksi. Pada
  sebagian besar set instruksi komputer yang
  lain, operasi pergeseran dilakukan menggunakan
  instruksi terpisah.
B. INSTRUKSI LOGIKA
Operasi logika AND, OR, XOR, dan Bit-clear diimplementasikan oleh instruksi OP
   code AND, ORR, EOR, dan BIC. Kode tersebut memiliki format yang sama
   dengan instruksi aritmatika. Instruksi
          AND                                     Rd, Rn, Rm
Menjalankan operasi
          Rd  [Rn] ^ [Rm]
Yang merupakan bitwise logical AND antara operand dalam register Rn dan Rm.
   Misalnya, jika register R0 berisi pola hexadesimal 02FA62CA dan R1 berisi pola
   0000FFFF, maka instruksi
          AND                                     R0, RO, R1
Akan menyebabkan pola 000062CA diletakkan dalam register R0.
Instruksi bit-clear (BIC) dihubungkan erat dengan instruksi AND. Instruksi ini
   mengkomplemen tiap bit dalam operand Rm sebelum meng-AND-kannya
   dengan bit dalam register Rn. Menggunakan pola bit R0 dan R1 yang sama
   dengan contoh diatas, instruksi
          BIC                                     R0, R0, R1
Menghasilkan pola 02FA0000 diletakkan dalam R0.
Instruksi move negative, dengan OP-code mnemonic MVN, mengkomplemen bit
   source operand dan meletakkan hasilnya dalam Rd. Jika isi R3 adalah pola
   hexadesimal 0F0F0F0F, maka instruksi
          MVN                                     R0, R3
Menempatkan hasil F0F0F0F0 dalam register R0.
3. INSTRUKSI BRANCH


  Instruksi branch CONDITIONAL berisi offset 24-
  bit, 2’-complement, bertanda yang ditambahkan
  ke isi ter-update Program Counter untuk
  menghasilkan alamat target branch. Format untuk
  istruksi branch ditampilkan pada Gambar
  3.6a, dan suatu contoh diberikan pada Gambar
  3.6b. Instruksi BEQ (Branch if Equal to 0)
  menyebabkan suatu branch kjika flag Z di set ke 1.
A. SETTING CONDITION CODE

beberapa instruksi, seperti compare, dinyatakan sebagai
  berikut
       CMP                   Rn, Rm
Yang menjalankan operasi
       [Rn] – [Rm]
Memiliki tujuan utama untuk men-set condition code flag
  berdasar pada hasil operasi pengurangan.
  Sebaliknya, instruksi aritmatika dan logika
  mempengaruhi condition code flag hanya jika ditetapkan
  untuk melakukannya oleh suatu bit dalam field OP-code.
  Hal ini diindikasikan dengan menambahkan akhiran S ke
  mnemonic OP-code bahasa assembly. Misalnya, instruksi
       ADDS R0, R1, R2
Men-set condition code flag, tetapi
       ADD                   R0, R1, R2
Tidak.
B. PROGRAM LOOP UNTUK PENAMBAHAN BILANGAN

Operasi load dan store dilakukan oleh
instruksi pertama, kedua, dan terakhir yang
digunakan oleh mode pengalamatan
relative. Ini mengasumsikan bahwa lokasi
memori N, pointer, dan SUM terdapat
dalam rentang yang terjangkau oleh offset
relatif terhadap PC. Lokasi memori pointer
berisi alamat NUM 1 dari bilangan pertama
yang akan ditambahkan, N berisi jumlah
entri didalam list dan SUM digunakan untuk
menyimpan jumlah tersebut.
4. BAHASA ASSEMBLY

Bahasa assembly ARM memiliki assembler directive
untuk                 menyiapkan              ruang
penyimpanan, menetapkan nilai numerik ke label
alamat dari simbol konstanta, menentukan dimana
program dan blok data akan ditempatkan dalam
memori, menetapkan akhir teks source program
fasilitas tersebut didekskripsikan secara umum.
Kita mengilustrasikan ARM directife yang
memaparkan source program lengkapuntuk
program pada gambar. Area directive yang
menggunakan         argumen      kode    atau   data
, mengindikasikan awal blok memori yang berisi
program instruksi atau data.
A. PSEUDO-INSTRUKTION

Cara alternative untuk me-load alamat NUM1 ke register R2,juga disediakan dalam bahasa assembly.
   Pseudo instruktion
           ADD Rd, ADDRESS
Me-load nilai 32- bit address ke Rd. Instruksi ini bukannya instruksi mesin sebenarnya assembler
   memilih instruksi mesin riil yang sesuia untuk mengimplementasikan psseudo-instruktion.
   Misalnya, kombinasi instruksi mesin
           LDR R2, POINTER
Dan directive declarasi data
           POINTER DCD NUM1
Yang digunakan dalam gambar adalah salah satu cara untuk mengimplementasikan pseudo-
   instruction
           ADR R2, NUM1
Cara yang lebih effesien untuk mengimplementasikan instruksi ADR dimungkinkan dalam contoh dan
   ini salah satu yang akan dipilih oleh assembler, pada saat nilai alamat di-load oleh instruksi ADR
   dalam 25 byte isi PC terbaru (R 15), instruksi
           ADD Rd, R15, #offset
Dapat digunakan untuk mengimplementasikan Adr pseudo-instruction. Jika hal ini dikerja dalam
   contoh program, maka tidak diperlukan lokasi POINTER. Assembler mengimplementasikan ADR
   pseudo-instruction dengan instruction mesin riil
           ADR R2, R15, #28
Karena NUM1 adalah28 byte diatas Pcter-update pada saat instruksi ADD dieksekusi.instruksi ini
   mengasumsikan bahwa area data segera dilanjutkan dalam instruksi STR. Hal ini tidak sepenuhnya
   benar karena instruksi untuk mengembalikan kontrol ke sistem operasi harus berada setelah
   instruksi STR, tetapi instruksi telah dihilangkan.
5. OPERASI INPUT/ OUTPUT

 Arsitektur ARM menggunakan memori mapped I/O sebagaimana yang
 didekskripsikan. Membaca karakter dari keyboard atau mengirim suatu
 karakter dilakukan menggunakan program –controlled I/O sebagaimana
 didekskripsikan pda bagian tersebut misalnya bit 3 pada tiap register
 status prangkat INSTATUS (keyboard ) dan OUTSTATUS (display)
 masing-masing berisi flag control sin dan sout. Juga asumsikan bahwa
 register keyboard dataIN dan display dataOUT berada pada alamat
 instatus +4 dan outstatus +4 tepat pada register status. Asumsika
 bahwa alamat instatus telah diload keregister R1.
 Rangkaian instruksi
 READWAIT              LDR                R3, [R1]
                                 TST               R3, #8
                                 BEQ               READWAIT
                                 LDRB              R3, [R1, #4]
 Dengan mengasumsikan outstatus alamat telah diload keregister
 R2, maka rangkaian instruksi
 WRITEWAIT LDR                   R4,,[R2]
                                 TST               R4, #8
                                 BEQ               WRITEWAIT
                                 STRB              R3, [R4, #4]
6. SUBROUTINE
 Instruksi branch and Link (BL) digunakan untuk
 memanggil       subroutine.  Instruksi   tersebut
 beroperasi dengan cara yang samadengan instruksi
 branch lainnya dengan satu langkah tambahan.
 Return address yang merupakan alamat instruksi
 beriktnya sehingga instruksi BL di-load keregister
 R4 yang bertindak sebagai link register.karena
 subroutine dapat di-nest, maka isi link register
 harus disimpan dalam stack oleh subroutine.
 Register R13 biasanya digunakan sebagai pointer
 untuk stack ini.
7. CONTOH PROGRAM

A. PROGRAM VECTOR DOT PRODUCT
    Dua instruksi pertama me-load alamat vector A dan B ke
    register R1 dan R2. Register tersebut adalah ADR pseudo-
    instruction yang dideksripsikan pada bagian 3.4 kjika
    AVEC dan BVEC mendekati program maka instruction Add
    yang menggunakan nilai terbaru PC dapat digunakan
    untuk membangkitkan alamat. Mode pengalamatan
    Relative digunakan untuk meng akses isi N dan
    DOTPROD,dan mode pengalamatan post-index with
    writeback digunakan dalam dua dua instruksi pertama
    dari loop. Instruksi Multiply-Accumulate (MLA)
    melakukan operasi aritmatika yang diperlukan. Instruksi
    ini mengalikan element vektor dalam R4 dan R5 dan
    mengakumulasikan produknya ke R0.
B. PROGRAM BYTE-SORTING

alamat LIST byte pertama di-load ke register R4 digunakan
dalam instruksi compare kedua hingga terakhir untuk
menetapkan kapan inner loop (berbasis pada index k) berakhir.
R5 berisi alamat LISH +1 dan digunakan pada instruksi compare
terkhir untuk menetapkan kapan outer loop (berbasis pada
index j) berakhir. Base register R2 digunakan untuk melewati
index j secara mundur dari akhir list dalam outer loop. Register
R3 melewati index k secara mundur melalui tiap sublist dalam
innerloop. Mode pengalamatan pre-indexed with writeback
digunakan untuk me-load byte LISH (j) ke register R0 dan untuk
me-load byte list (k) ke R1 masing-masing dalam outer loop dan
inner loop.
Fitur eksekusi CONDITIONAL dari set instruksi ARM digunakan
untuk memanfaatkan inner loop pada saat LIST (k) harus
dipertukarkan dengan LIST (j). Rangkaian tiga instruksi
STR, STR, MOV hanya dieksekusi jika list k lebih besar dari pada
list j, sebagaimana diindikasikan oleh akhiran GT.
C. SUBROUTINE PENYISIPAN DAN PENGHAPUSAN LINKED-
LISH
8. SUBROUTINE PENYISIPAN DAN PENGHAPUSAN LINKED-
LISH


 Prosesor 68000 dicirikan oleh 16-bit word lenght eksternal
 karena chip prosesornya memiliki 16 pin data untuk koneksi
 ke memori. Akan tetapi, data yang dimanipulasi didalam
 prosessor pada pada register yang berisi 32bit.
A. Struktur Register

 Struktur register 68000 yang ditunjukan pada
 gambar memiliki 8 register data dan 8 alamat
 register masing-masing memiliki panjang 32 bit.
 Register data berfungsi sebagai general purpose
 accumulator dan sebagai counter. Register alamat
 menyimpan informasi yang digunakan dalam
 menentukan alamat operand memori, informasi ini
 mungkin dinyatakan dalam ukuran long word atau
 word pada satu alamat suatu memori berada pada
 register alamat, register tersebut berfungsi sebagai
 pointer ke lokasi tersebut.
B. Pengalamatan

 Memori komputer 68000 disusun dalam 16 bit
 word dan merupakan byte addresseble. Dua
 word berurutan dapat diinterpresentasikan
 sebagai 32 bit long word tunggal alamat memori
 ditetapkan sebagaimana ditunjukkan suatu
 word harus di-align pada batas yang genap yaitu
 alamatnya        harus     berupa      bilangan
 genap.digunakan penetapan alamat bigendian.
 Byte yang berada dalam posisi high order pada
 suatu word memiliki alamat yang sama dengan
 word tersebut, sedangkan byte yang berada
 pada posisi low order memiliki alamat yang
 lebih tinggi selanjutnya.
Mode pengalamatan yang ada didefenisikan sebagai
berikut :
   Mode immadiate Operandnya dimuat dalam instruksi. Empat ukuran
    operand dapat ditetapkan
   Mode absolute Alamat absolut suatu operand ditetapkan dalam
    instruksi, setelah OP-code
   Mode register Operandnya berada dalam register prosesor yang
    ditetapkan dalam instruksi
   Mode register indirect Effective address operanya berada dalam
    registeralamat yang ditetapkan dalam instruksi
   Mode autoincrement Effective address operandnya berada dalam
    register alamat, an, yang ditetapkan dalam instruksi tersebut
   Mode auto decrement Isi suatu register alamat ditentukan oleh instruksi
   Mode basic index Offset bertanda 16-bit dan register alamat ditentukan
    oleh instruksi
   Mode full index Offset bertanda 8 bit, register alamat register dan data
    ditetapkan oleh instruksi
   Mode basic relative Merupakan mode yang sama dengan mode basic
    index kecuali program counter digunakan sebagai pengganti index
    register An.
   Mode full relative Merupakan mode yang sama dengan mode full index
    kecuili program counter digunakan sebagai pengganti index register An.
SEKIAN & TERIMA KASIH

More Related Content

What's hot

Catatan2 embedded sys, arduino, raspberry, iot, home automation
Catatan2 embedded sys, arduino, raspberry, iot, home automationCatatan2 embedded sys, arduino, raspberry, iot, home automation
Catatan2 embedded sys, arduino, raspberry, iot, home automationWawas P
 
Modul teknik digital dan logika
Modul teknik digital dan logikaModul teknik digital dan logika
Modul teknik digital dan logikaBambang Apriyanto
 
Edo A.G Kode Biner
Edo A.G   Kode BinerEdo A.G   Kode Biner
Edo A.G Kode BinerEdo A.G
 
Mode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain PengalamatanMode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain Pengalamatanlailalutfi
 
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOContext Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOahmad haidaroh
 
Makalah set instruksi
Makalah set instruksiMakalah set instruksi
Makalah set instruksiratna46
 
Sistem input output
Sistem input outputSistem input output
Sistem input outputAngling_seto
 
Mikroprosesor Zilog Z80
Mikroprosesor Zilog Z80Mikroprosesor Zilog Z80
Mikroprosesor Zilog Z80Habibullah Srg
 
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR KEN KEN
 
Mikrokontroler pertemuan 2
Mikrokontroler pertemuan 2Mikrokontroler pertemuan 2
Mikrokontroler pertemuan 2Rumah Belajar
 
Pertemuan 9.1 pengalamatan juga
Pertemuan 9.1 pengalamatan jugaPertemuan 9.1 pengalamatan juga
Pertemuan 9.1 pengalamatan jugaBuhori Muslim
 

What's hot (20)

Week 4-array dan string
Week 4-array dan stringWeek 4-array dan string
Week 4-array dan string
 
Catatan2 embedded sys, arduino, raspberry, iot, home automation
Catatan2 embedded sys, arduino, raspberry, iot, home automationCatatan2 embedded sys, arduino, raspberry, iot, home automation
Catatan2 embedded sys, arduino, raspberry, iot, home automation
 
Biseksi
BiseksiBiseksi
Biseksi
 
Bab 5 komputer sederhana sap-1
Bab 5   komputer sederhana sap-1Bab 5   komputer sederhana sap-1
Bab 5 komputer sederhana sap-1
 
Modul teknik digital dan logika
Modul teknik digital dan logikaModul teknik digital dan logika
Modul teknik digital dan logika
 
Ppt register
Ppt register Ppt register
Ppt register
 
Edo A.G Kode Biner
Edo A.G   Kode BinerEdo A.G   Kode Biner
Edo A.G Kode Biner
 
Mode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain PengalamatanMode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain Pengalamatan
 
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOContext Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
 
register
registerregister
register
 
Kinerja io bus
Kinerja io busKinerja io bus
Kinerja io bus
 
Bhs assembly
Bhs assemblyBhs assembly
Bhs assembly
 
Makalah set instruksi
Makalah set instruksiMakalah set instruksi
Makalah set instruksi
 
Sistem input output
Sistem input outputSistem input output
Sistem input output
 
Mikroprosesor Zilog Z80
Mikroprosesor Zilog Z80Mikroprosesor Zilog Z80
Mikroprosesor Zilog Z80
 
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
 
Mikrokontroler pertemuan 2
Mikrokontroler pertemuan 2Mikrokontroler pertemuan 2
Mikrokontroler pertemuan 2
 
Pertemuan 9.1 pengalamatan juga
Pertemuan 9.1 pengalamatan jugaPertemuan 9.1 pengalamatan juga
Pertemuan 9.1 pengalamatan juga
 
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
Interrupt
InterruptInterrupt
Interrupt
 

Similar to Pertemuan 4 set instruksi arm, motorola, dan intel

Pertemuan 4-set-instruksi-arm3
Pertemuan 4-set-instruksi-arm3Pertemuan 4-set-instruksi-arm3
Pertemuan 4-set-instruksi-arm3France Rhezhek
 
Pert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intelPert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intelIcal Militanmannojack
 
MODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIKMODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIKDidik Supriyono
 
Tradicanthya JG Tutkey UTS Mikrokontroler.pdf
Tradicanthya JG Tutkey UTS Mikrokontroler.pdfTradicanthya JG Tutkey UTS Mikrokontroler.pdf
Tradicanthya JG Tutkey UTS Mikrokontroler.pdfGheaTutkey1
 
Tradicanthya JG Tutkey UTS Mikrokontroler.docx
Tradicanthya JG Tutkey UTS Mikrokontroler.docxTradicanthya JG Tutkey UTS Mikrokontroler.docx
Tradicanthya JG Tutkey UTS Mikrokontroler.docxGheaTutkey1
 
Assembler (Modul 4).pdf
Assembler (Modul 4).pdfAssembler (Modul 4).pdf
Assembler (Modul 4).pdfDesaSumbung
 
Instruksi mesin agus budi raharjo
Instruksi mesin agus budi raharjoInstruksi mesin agus budi raharjo
Instruksi mesin agus budi raharjoBudi Raharjo
 
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23France Rhezhek
 
Pertemuan 9 pengalamatan
Pertemuan 9 pengalamatanPertemuan 9 pengalamatan
Pertemuan 9 pengalamatanBuhori Muslim
 
14684664 mikroprosesor
14684664 mikroprosesor14684664 mikroprosesor
14684664 mikroprosesorAbe Mubarok
 
Pertemuan 5-motorola-680001
Pertemuan 5-motorola-680001Pertemuan 5-motorola-680001
Pertemuan 5-motorola-680001France Rhezhek
 
Pert 6
Pert 6Pert 6
Pert 6Wanti
 
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdf
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdfMODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdf
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdfLalu Delsi Samsumar
 

Similar to Pertemuan 4 set instruksi arm, motorola, dan intel (20)

Pertemuan 4-set-instruksi-arm3
Pertemuan 4-set-instruksi-arm3Pertemuan 4-set-instruksi-arm3
Pertemuan 4-set-instruksi-arm3
 
Bahasa assembly
Bahasa assemblyBahasa assembly
Bahasa assembly
 
Resume komputer sap
Resume komputer sapResume komputer sap
Resume komputer sap
 
Pert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intelPert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intel
 
MODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIKMODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIK
 
Tradicanthya JG Tutkey UTS Mikrokontroler.pdf
Tradicanthya JG Tutkey UTS Mikrokontroler.pdfTradicanthya JG Tutkey UTS Mikrokontroler.pdf
Tradicanthya JG Tutkey UTS Mikrokontroler.pdf
 
Tradicanthya JG Tutkey UTS Mikrokontroler.docx
Tradicanthya JG Tutkey UTS Mikrokontroler.docxTradicanthya JG Tutkey UTS Mikrokontroler.docx
Tradicanthya JG Tutkey UTS Mikrokontroler.docx
 
07 modul bahan ajar 04 0
07 modul bahan ajar 04 007 modul bahan ajar 04 0
07 modul bahan ajar 04 0
 
Assembler (Modul 4).pdf
Assembler (Modul 4).pdfAssembler (Modul 4).pdf
Assembler (Modul 4).pdf
 
Instruksi mesin agus budi raharjo
Instruksi mesin agus budi raharjoInstruksi mesin agus budi raharjo
Instruksi mesin agus budi raharjo
 
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
 
Pertemuan 9 pengalamatan
Pertemuan 9 pengalamatanPertemuan 9 pengalamatan
Pertemuan 9 pengalamatan
 
14684664 mikroprosesor
14684664 mikroprosesor14684664 mikroprosesor
14684664 mikroprosesor
 
Mikroprosesor
MikroprosesorMikroprosesor
Mikroprosesor
 
Sismik
Sismik Sismik
Sismik
 
Pertemuan 5-motorola-680001
Pertemuan 5-motorola-680001Pertemuan 5-motorola-680001
Pertemuan 5-motorola-680001
 
Pert 6
Pert 6Pert 6
Pert 6
 
Sap 2
Sap 2Sap 2
Sap 2
 
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdf
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdfMODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdf
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdf
 
Modul praktikum instruksi dasar
Modul praktikum instruksi dasarModul praktikum instruksi dasar
Modul praktikum instruksi dasar
 

More from jumiathyasiz

Pertemuan 16 ipv4 & ipv6
Pertemuan 16 ipv4 & ipv6Pertemuan 16 ipv4 & ipv6
Pertemuan 16 ipv4 & ipv6jumiathyasiz
 
Pertemuan 15 ancaman sistem keamanan komputer
Pertemuan 15 ancaman sistem keamanan komputerPertemuan 15 ancaman sistem keamanan komputer
Pertemuan 15 ancaman sistem keamanan komputerjumiathyasiz
 
Pertemuan 14 cisco
Pertemuan 14 ciscoPertemuan 14 cisco
Pertemuan 14 ciscojumiathyasiz
 
Pertemuan 13 penanganan masalah jaringan
Pertemuan 13 penanganan masalah jaringanPertemuan 13 penanganan masalah jaringan
Pertemuan 13 penanganan masalah jaringanjumiathyasiz
 
Pertemuan 12 perawatan & pemeliharaan jaringan
Pertemuan 12 perawatan & pemeliharaan jaringanPertemuan 12 perawatan & pemeliharaan jaringan
Pertemuan 12 perawatan & pemeliharaan jaringanjumiathyasiz
 
Pertemuan 11 keamanan teknologi informasi
Pertemuan 11 keamanan teknologi informasiPertemuan 11 keamanan teknologi informasi
Pertemuan 11 keamanan teknologi informasijumiathyasiz
 
Pertemuan 10 keamanan jaringan dgn firewall
Pertemuan 10 keamanan jaringan dgn firewallPertemuan 10 keamanan jaringan dgn firewall
Pertemuan 10 keamanan jaringan dgn firewalljumiathyasiz
 
Pertemuan 9 keamanan jaringan
Pertemuan 9 keamanan jaringanPertemuan 9 keamanan jaringan
Pertemuan 9 keamanan jaringanjumiathyasiz
 
Pertemuan 8 mail server
Pertemuan 8 mail serverPertemuan 8 mail server
Pertemuan 8 mail serverjumiathyasiz
 
Pertemuan 6 domain name server
Pertemuan 6 domain name serverPertemuan 6 domain name server
Pertemuan 6 domain name serverjumiathyasiz
 
Pertemuan 4 jaringan nirkabel & serat optik
Pertemuan 4 jaringan nirkabel & serat optikPertemuan 4 jaringan nirkabel & serat optik
Pertemuan 4 jaringan nirkabel & serat optikjumiathyasiz
 
Pertemuan 3 wide are network
Pertemuan 3 wide are networkPertemuan 3 wide are network
Pertemuan 3 wide are networkjumiathyasiz
 
Pertemuan 2 instalasi jaringan
Pertemuan 2 instalasi jaringanPertemuan 2 instalasi jaringan
Pertemuan 2 instalasi jaringanjumiathyasiz
 
Pertemuan 1 jaringan komputer
Pertemuan 1 jaringan komputerPertemuan 1 jaringan komputer
Pertemuan 1 jaringan komputerjumiathyasiz
 
Pertemuan 13 famili power pc
Pertemuan 13 famili power pcPertemuan 13 famili power pc
Pertemuan 13 famili power pcjumiathyasiz
 
Pertemuan 12 famili arm
Pertemuan 12 famili armPertemuan 12 famili arm
Pertemuan 12 famili armjumiathyasiz
 
Pertemuan 11 periferal komputer
Pertemuan 11 periferal komputerPertemuan 11 periferal komputer
Pertemuan 11 periferal komputerjumiathyasiz
 
Pertemuan 9 pipelining
Pertemuan 9 pipeliningPertemuan 9 pipelining
Pertemuan 9 pipeliningjumiathyasiz
 

More from jumiathyasiz (20)

Pertemuan 16 ipv4 & ipv6
Pertemuan 16 ipv4 & ipv6Pertemuan 16 ipv4 & ipv6
Pertemuan 16 ipv4 & ipv6
 
Pertemuan 15 ancaman sistem keamanan komputer
Pertemuan 15 ancaman sistem keamanan komputerPertemuan 15 ancaman sistem keamanan komputer
Pertemuan 15 ancaman sistem keamanan komputer
 
Pertemuan 14 cisco
Pertemuan 14 ciscoPertemuan 14 cisco
Pertemuan 14 cisco
 
Pertemuan 13 penanganan masalah jaringan
Pertemuan 13 penanganan masalah jaringanPertemuan 13 penanganan masalah jaringan
Pertemuan 13 penanganan masalah jaringan
 
Pertemuan 12 perawatan & pemeliharaan jaringan
Pertemuan 12 perawatan & pemeliharaan jaringanPertemuan 12 perawatan & pemeliharaan jaringan
Pertemuan 12 perawatan & pemeliharaan jaringan
 
Pertemuan 11 keamanan teknologi informasi
Pertemuan 11 keamanan teknologi informasiPertemuan 11 keamanan teknologi informasi
Pertemuan 11 keamanan teknologi informasi
 
Pertemuan 10 keamanan jaringan dgn firewall
Pertemuan 10 keamanan jaringan dgn firewallPertemuan 10 keamanan jaringan dgn firewall
Pertemuan 10 keamanan jaringan dgn firewall
 
Pertemuan 9 keamanan jaringan
Pertemuan 9 keamanan jaringanPertemuan 9 keamanan jaringan
Pertemuan 9 keamanan jaringan
 
Pertemuan 8 mail server
Pertemuan 8 mail serverPertemuan 8 mail server
Pertemuan 8 mail server
 
Pertemuan 7 dhcp
Pertemuan 7 dhcpPertemuan 7 dhcp
Pertemuan 7 dhcp
 
Pertemuan 6 domain name server
Pertemuan 6 domain name serverPertemuan 6 domain name server
Pertemuan 6 domain name server
 
Pertemuan 5 tcp
Pertemuan 5 tcpPertemuan 5 tcp
Pertemuan 5 tcp
 
Pertemuan 4 jaringan nirkabel & serat optik
Pertemuan 4 jaringan nirkabel & serat optikPertemuan 4 jaringan nirkabel & serat optik
Pertemuan 4 jaringan nirkabel & serat optik
 
Pertemuan 3 wide are network
Pertemuan 3 wide are networkPertemuan 3 wide are network
Pertemuan 3 wide are network
 
Pertemuan 2 instalasi jaringan
Pertemuan 2 instalasi jaringanPertemuan 2 instalasi jaringan
Pertemuan 2 instalasi jaringan
 
Pertemuan 1 jaringan komputer
Pertemuan 1 jaringan komputerPertemuan 1 jaringan komputer
Pertemuan 1 jaringan komputer
 
Pertemuan 13 famili power pc
Pertemuan 13 famili power pcPertemuan 13 famili power pc
Pertemuan 13 famili power pc
 
Pertemuan 12 famili arm
Pertemuan 12 famili armPertemuan 12 famili arm
Pertemuan 12 famili arm
 
Pertemuan 11 periferal komputer
Pertemuan 11 periferal komputerPertemuan 11 periferal komputer
Pertemuan 11 periferal komputer
 
Pertemuan 9 pipelining
Pertemuan 9 pipeliningPertemuan 9 pipelining
Pertemuan 9 pipelining
 

Pertemuan 4 set instruksi arm, motorola, dan intel

  • 1. SET INSTRUKSI ARM, MOTOROLA DAN INTEL JUMIATI 092904035 PRODI PENDIDIKAN INFORMATIKA DAN KOMPUTER JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011
  • 2. PENDAHULUAN Advanced RISC Machines (ARM) limited telah mendesain suatu famili mikroprosesor dan melisensikan desain tersebut ke perusahaan lain untuk fabrikasi chip yang penggunaannya dalam produk komputer dan sistem uang embedded. Perusahan ARM yang relatif baru, merupakan perkembangan dari perusahan Acorn Computer yang mengembangkan desain prosesor pada awal tahun 1980-an. Penggunaan utama mikroprosesor ARM adalah pada aplikasi embedded yang berdaya rendah dan berbiaya rendah, seperti misalnya mobile telephone, modem komunikasi, sistem manejemen mesin mobil, dan hand-held.
  • 3. 1. REGISTER, AKSES MEMORI, DAN TRANSFER DATA Dalam arsitektur ARM, memori adalah byte- addressble, menggunakan alamat 32-bit, dan register prosesor memiliki panjang 32-bit. Dua panjang operand digunakan dalam memindahkan data antara memori dan register prosessor : byte (8 bit) dan word (32 bit). Alamat word harus di- align, yaitu harus merupakan kelipatan 4. Arsitektur ARM. Mendukung pengalamatan memori little- endian pilihannya ditetapkan oleh jalur kontrol input eksternal ke prosesor. Ada saat suatu byte di- load dari memori ke register prosesor atau disimpan dari register ke memori, selalu dialokasikan pada posisi byte register low-order.
  • 4. A. Struktur Register Register prosesor yang digunakan oleh program aplikasi ditampilkan pada gambar 3.1 terdapat enam belas register 32 bit berlabel R0 hingga R15 yang terdiri dari lima belas general-purpose register (R0 hingga R14) dan register program counter (PC), R15, yang terdiri dari 15. General purpose register dapat menyimpan alamat memori atau operand data. Current progarm status register (CPRS), atau cukup disebut register status, menyimpan condition code flag (N, Z, C, V), interupt disable flag, dan bit mode prosesor. Disini kita akan mengasumsikan bahw prosesor dalam mode user dan dieksekusi sebagai program aplikasi.terdapat 15 general purpose register tambahn yang yang disebut register banked. Register tersebut menduplikasikan beberapa dari register R0 sampai R 14.register tersebut digunakan pada saat prosesor switch ke mode operasi supervisor atau interupt. Copy dari register status yang tersimpan juga tersedia dalam mode nonuser tersebut.
  • 5.
  • 6. B. Instruksi Akses Memory Dan Mode Pengalamatan  Eksekusi Conditional Instruksi yaitu Fitur yang membedakan dan agak tidak biasa dari prosesor ARM adalah semua instruksinya dieksekusi secara conditional, tergantung pada kondisi yang ditetapkan pada instruksi tersebut.  Mode Pengalamatan Memori yaitu Metode dasar untuk mengalamati operand memori adalah membangkitkan effective address, EA, dari operan tersebut dengan menambahkan offset bertanda keisi base register Rn.
  • 7. 2. INSTRUKSI ARITMATIKA DAN LOGIKA Set instruksi ARM memiliki sejumlah instruksi untuk operand aritmatika dan logika pada operand yang berada dalam general-purpose register atau dinyatakan sebagai operand immediate dalam instruksi itu sendiri. Operand memori tidak diperbolehkan untuk instruksi ini. Terdapat instruksi untuk bentuk penambahan dan pengurangan yang berbeda, dan terdapat dua instruksi untuk perkalian. Terdapat instruksi untuk operand logika AND,OR,NOT,XOR, dan bit-clear. Instruksi seperti compare disediakan untuk men-set condition code flag berdasarkan hasil dari operasi aritmatika dan logika pada dua operand. Instruksi tersebut tidak menyimpan hasil akurat dalam register.
  • 8. A. INSTRUKSI ARITMATIKA Ekspresi bahasa assembly dasar untuk instruksi aritmatika adalah Opcode Rd, Rn, Rm Dimana operasi yang ditetapkan oleh OP code dilakukan menggunakan operand dalam general-purpose register Rn dan Rm. Hasilnya diletakkan dalam register Rd. Misalnya, instruksi ADD R0, R2, R4 Menjalankan operasi R0  [R2] + [R4] Dan instruksi SUB R0, R6, R5 Menjalankan operasi R0  [R6] – [R5] Selain dimasukkan dalam register Rm, operand kedua dapat dinyatakan dalam mode immediate. Sehingga, ADD R0, R3, #17 Menjalankan operasi R0  [R3] + 17 Nilai immediate berada dalam field 8-bit dalam bit b7-0 dari instruksi tersebut.
  • 9. NEXT Operand kedua dapat digeser atau dirotasi sebelum digunakan dalam operasi tersebut. Pada saat diperlukan pergeseran atau rotasi, maka ditetapkan paling akhir dalam ekspresi bahasa assembly untuk instruksi tersebut. Instruksi ADD R0, R1, R5, LSL#4 Beroperasi sebagai berikut: operand kedua yang berada dalam register R5, di geser ke kiri 4 posisi bit (setara dengan [R5]) X 16), dan kemudian ditambahkan ke isi register R1; jumlah tersebut diletakkan dalam register R0. Tersedia dua versi instruksi multiply. Versi pertama mengalikan isi dua register dan menempatkan 32-bit low-order produk tersebut dalam register ketiga. Bit high- order produk tersebut, jika ada, dibuang. Misalnya, instruksi MUL R0, R1, R2 Menjalankan operasi R0  [R1] x [R2] Versi kedua menempatkan register keempat yang isinya ditambahkan ke produk sebelum menyimpan hasil tersebut dalam register destinasi. Karenanya, instruksi MLA R0 , R1, R2, R3 Menjalankan operasi R0  [R1] x [R2] + [R3]
  • 10. G. OPERASI PERGESERAN OPERAND Kita memperhatikan sebelumnya bahwa salah satu fitur yang berbeda dari set instruksi ARM adalah semua instruksi dieksekusi secara CONDITIONAL. Fitur lain yang membedakan adalah operasi pergeseran dan rotasi yang digabungkan ke sebagian operasi instruksi. Pada sebagian besar set instruksi komputer yang lain, operasi pergeseran dilakukan menggunakan instruksi terpisah.
  • 11. B. INSTRUKSI LOGIKA Operasi logika AND, OR, XOR, dan Bit-clear diimplementasikan oleh instruksi OP code AND, ORR, EOR, dan BIC. Kode tersebut memiliki format yang sama dengan instruksi aritmatika. Instruksi AND Rd, Rn, Rm Menjalankan operasi Rd  [Rn] ^ [Rm] Yang merupakan bitwise logical AND antara operand dalam register Rn dan Rm. Misalnya, jika register R0 berisi pola hexadesimal 02FA62CA dan R1 berisi pola 0000FFFF, maka instruksi AND R0, RO, R1 Akan menyebabkan pola 000062CA diletakkan dalam register R0. Instruksi bit-clear (BIC) dihubungkan erat dengan instruksi AND. Instruksi ini mengkomplemen tiap bit dalam operand Rm sebelum meng-AND-kannya dengan bit dalam register Rn. Menggunakan pola bit R0 dan R1 yang sama dengan contoh diatas, instruksi BIC R0, R0, R1 Menghasilkan pola 02FA0000 diletakkan dalam R0. Instruksi move negative, dengan OP-code mnemonic MVN, mengkomplemen bit source operand dan meletakkan hasilnya dalam Rd. Jika isi R3 adalah pola hexadesimal 0F0F0F0F, maka instruksi MVN R0, R3 Menempatkan hasil F0F0F0F0 dalam register R0.
  • 12.
  • 13. 3. INSTRUKSI BRANCH Instruksi branch CONDITIONAL berisi offset 24- bit, 2’-complement, bertanda yang ditambahkan ke isi ter-update Program Counter untuk menghasilkan alamat target branch. Format untuk istruksi branch ditampilkan pada Gambar 3.6a, dan suatu contoh diberikan pada Gambar 3.6b. Instruksi BEQ (Branch if Equal to 0) menyebabkan suatu branch kjika flag Z di set ke 1.
  • 14. A. SETTING CONDITION CODE beberapa instruksi, seperti compare, dinyatakan sebagai berikut CMP Rn, Rm Yang menjalankan operasi [Rn] – [Rm] Memiliki tujuan utama untuk men-set condition code flag berdasar pada hasil operasi pengurangan. Sebaliknya, instruksi aritmatika dan logika mempengaruhi condition code flag hanya jika ditetapkan untuk melakukannya oleh suatu bit dalam field OP-code. Hal ini diindikasikan dengan menambahkan akhiran S ke mnemonic OP-code bahasa assembly. Misalnya, instruksi ADDS R0, R1, R2 Men-set condition code flag, tetapi ADD R0, R1, R2 Tidak.
  • 15. B. PROGRAM LOOP UNTUK PENAMBAHAN BILANGAN Operasi load dan store dilakukan oleh instruksi pertama, kedua, dan terakhir yang digunakan oleh mode pengalamatan relative. Ini mengasumsikan bahwa lokasi memori N, pointer, dan SUM terdapat dalam rentang yang terjangkau oleh offset relatif terhadap PC. Lokasi memori pointer berisi alamat NUM 1 dari bilangan pertama yang akan ditambahkan, N berisi jumlah entri didalam list dan SUM digunakan untuk menyimpan jumlah tersebut.
  • 16. 4. BAHASA ASSEMBLY Bahasa assembly ARM memiliki assembler directive untuk menyiapkan ruang penyimpanan, menetapkan nilai numerik ke label alamat dari simbol konstanta, menentukan dimana program dan blok data akan ditempatkan dalam memori, menetapkan akhir teks source program fasilitas tersebut didekskripsikan secara umum. Kita mengilustrasikan ARM directife yang memaparkan source program lengkapuntuk program pada gambar. Area directive yang menggunakan argumen kode atau data , mengindikasikan awal blok memori yang berisi program instruksi atau data.
  • 17. A. PSEUDO-INSTRUKTION Cara alternative untuk me-load alamat NUM1 ke register R2,juga disediakan dalam bahasa assembly. Pseudo instruktion ADD Rd, ADDRESS Me-load nilai 32- bit address ke Rd. Instruksi ini bukannya instruksi mesin sebenarnya assembler memilih instruksi mesin riil yang sesuia untuk mengimplementasikan psseudo-instruktion. Misalnya, kombinasi instruksi mesin LDR R2, POINTER Dan directive declarasi data POINTER DCD NUM1 Yang digunakan dalam gambar adalah salah satu cara untuk mengimplementasikan pseudo- instruction ADR R2, NUM1 Cara yang lebih effesien untuk mengimplementasikan instruksi ADR dimungkinkan dalam contoh dan ini salah satu yang akan dipilih oleh assembler, pada saat nilai alamat di-load oleh instruksi ADR dalam 25 byte isi PC terbaru (R 15), instruksi ADD Rd, R15, #offset Dapat digunakan untuk mengimplementasikan Adr pseudo-instruction. Jika hal ini dikerja dalam contoh program, maka tidak diperlukan lokasi POINTER. Assembler mengimplementasikan ADR pseudo-instruction dengan instruction mesin riil ADR R2, R15, #28 Karena NUM1 adalah28 byte diatas Pcter-update pada saat instruksi ADD dieksekusi.instruksi ini mengasumsikan bahwa area data segera dilanjutkan dalam instruksi STR. Hal ini tidak sepenuhnya benar karena instruksi untuk mengembalikan kontrol ke sistem operasi harus berada setelah instruksi STR, tetapi instruksi telah dihilangkan.
  • 18. 5. OPERASI INPUT/ OUTPUT Arsitektur ARM menggunakan memori mapped I/O sebagaimana yang didekskripsikan. Membaca karakter dari keyboard atau mengirim suatu karakter dilakukan menggunakan program –controlled I/O sebagaimana didekskripsikan pda bagian tersebut misalnya bit 3 pada tiap register status prangkat INSTATUS (keyboard ) dan OUTSTATUS (display) masing-masing berisi flag control sin dan sout. Juga asumsikan bahwa register keyboard dataIN dan display dataOUT berada pada alamat instatus +4 dan outstatus +4 tepat pada register status. Asumsika bahwa alamat instatus telah diload keregister R1. Rangkaian instruksi READWAIT LDR R3, [R1] TST R3, #8 BEQ READWAIT LDRB R3, [R1, #4] Dengan mengasumsikan outstatus alamat telah diload keregister R2, maka rangkaian instruksi WRITEWAIT LDR R4,,[R2] TST R4, #8 BEQ WRITEWAIT STRB R3, [R4, #4]
  • 19. 6. SUBROUTINE Instruksi branch and Link (BL) digunakan untuk memanggil subroutine. Instruksi tersebut beroperasi dengan cara yang samadengan instruksi branch lainnya dengan satu langkah tambahan. Return address yang merupakan alamat instruksi beriktnya sehingga instruksi BL di-load keregister R4 yang bertindak sebagai link register.karena subroutine dapat di-nest, maka isi link register harus disimpan dalam stack oleh subroutine. Register R13 biasanya digunakan sebagai pointer untuk stack ini.
  • 20.
  • 21. 7. CONTOH PROGRAM A. PROGRAM VECTOR DOT PRODUCT Dua instruksi pertama me-load alamat vector A dan B ke register R1 dan R2. Register tersebut adalah ADR pseudo- instruction yang dideksripsikan pada bagian 3.4 kjika AVEC dan BVEC mendekati program maka instruction Add yang menggunakan nilai terbaru PC dapat digunakan untuk membangkitkan alamat. Mode pengalamatan Relative digunakan untuk meng akses isi N dan DOTPROD,dan mode pengalamatan post-index with writeback digunakan dalam dua dua instruksi pertama dari loop. Instruksi Multiply-Accumulate (MLA) melakukan operasi aritmatika yang diperlukan. Instruksi ini mengalikan element vektor dalam R4 dan R5 dan mengakumulasikan produknya ke R0.
  • 22. B. PROGRAM BYTE-SORTING alamat LIST byte pertama di-load ke register R4 digunakan dalam instruksi compare kedua hingga terakhir untuk menetapkan kapan inner loop (berbasis pada index k) berakhir. R5 berisi alamat LISH +1 dan digunakan pada instruksi compare terkhir untuk menetapkan kapan outer loop (berbasis pada index j) berakhir. Base register R2 digunakan untuk melewati index j secara mundur dari akhir list dalam outer loop. Register R3 melewati index k secara mundur melalui tiap sublist dalam innerloop. Mode pengalamatan pre-indexed with writeback digunakan untuk me-load byte LISH (j) ke register R0 dan untuk me-load byte list (k) ke R1 masing-masing dalam outer loop dan inner loop. Fitur eksekusi CONDITIONAL dari set instruksi ARM digunakan untuk memanfaatkan inner loop pada saat LIST (k) harus dipertukarkan dengan LIST (j). Rangkaian tiga instruksi STR, STR, MOV hanya dieksekusi jika list k lebih besar dari pada list j, sebagaimana diindikasikan oleh akhiran GT.
  • 23. C. SUBROUTINE PENYISIPAN DAN PENGHAPUSAN LINKED- LISH
  • 24. 8. SUBROUTINE PENYISIPAN DAN PENGHAPUSAN LINKED- LISH Prosesor 68000 dicirikan oleh 16-bit word lenght eksternal karena chip prosesornya memiliki 16 pin data untuk koneksi ke memori. Akan tetapi, data yang dimanipulasi didalam prosessor pada pada register yang berisi 32bit.
  • 25. A. Struktur Register Struktur register 68000 yang ditunjukan pada gambar memiliki 8 register data dan 8 alamat register masing-masing memiliki panjang 32 bit. Register data berfungsi sebagai general purpose accumulator dan sebagai counter. Register alamat menyimpan informasi yang digunakan dalam menentukan alamat operand memori, informasi ini mungkin dinyatakan dalam ukuran long word atau word pada satu alamat suatu memori berada pada register alamat, register tersebut berfungsi sebagai pointer ke lokasi tersebut.
  • 26. B. Pengalamatan Memori komputer 68000 disusun dalam 16 bit word dan merupakan byte addresseble. Dua word berurutan dapat diinterpresentasikan sebagai 32 bit long word tunggal alamat memori ditetapkan sebagaimana ditunjukkan suatu word harus di-align pada batas yang genap yaitu alamatnya harus berupa bilangan genap.digunakan penetapan alamat bigendian. Byte yang berada dalam posisi high order pada suatu word memiliki alamat yang sama dengan word tersebut, sedangkan byte yang berada pada posisi low order memiliki alamat yang lebih tinggi selanjutnya.
  • 27. Mode pengalamatan yang ada didefenisikan sebagai berikut :  Mode immadiate Operandnya dimuat dalam instruksi. Empat ukuran operand dapat ditetapkan  Mode absolute Alamat absolut suatu operand ditetapkan dalam instruksi, setelah OP-code  Mode register Operandnya berada dalam register prosesor yang ditetapkan dalam instruksi  Mode register indirect Effective address operanya berada dalam registeralamat yang ditetapkan dalam instruksi  Mode autoincrement Effective address operandnya berada dalam register alamat, an, yang ditetapkan dalam instruksi tersebut  Mode auto decrement Isi suatu register alamat ditentukan oleh instruksi  Mode basic index Offset bertanda 16-bit dan register alamat ditentukan oleh instruksi  Mode full index Offset bertanda 8 bit, register alamat register dan data ditetapkan oleh instruksi  Mode basic relative Merupakan mode yang sama dengan mode basic index kecuali program counter digunakan sebagai pengganti index register An.  Mode full relative Merupakan mode yang sama dengan mode full index kecuili program counter digunakan sebagai pengganti index register An.