Rabu, 04 Mei 2011

metode pengalamatan

  • Three address adalah menetapkan dua operand dan memberikan alamat selanjutnya untuk hasil operasi tersebut.
  • Two address adalah memtukan alamat dari dua operand, hasil dari suatu operasi penambahan akan mengganti salah satu dari dua operand tersebut.
  • One and half address adalah satu operand disangga dalam register atau akumulator khusus yang sebelumnya telah dijemput dan ditempatkan disana.
  • Zero address adalah suatu operasi aritmatika menggunakan satu dari pada yang paling atas dari operasi.
  • Absolute addressing adalah melompat atau memanggil alamat yang dituju dengan menyatakan lokasi alamatnya secara langsung (tidak menggunakan offset).
  • Direct addressing adalah mengakses sebuah lokasi memori secara langsung dengan alamatnya.
  • Indirect addressing adalah proses mengakses alamat secara tidak langsung .

siklus eksekusi

  • Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya.
  • Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU.
  • Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
  • Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
  • Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
  • Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
  • Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori
DIAGRAM SIKLUS EKSEKUSI

fungsi komputer

- fungsi operasi pemindahan data .
contoh : keyboard ke scren

- fungsi operasi penyimpanan data
contoh : internet donwload to disk

- fungsi operasi pengolahan data (dari/ke unit penyimpanan)
contoh : updating bank statement

- fungsi operasi pengolahan data (Proses dari unit penyimpanan ke I/O)
contoh : Printing a bank statement

Macam-Macam Register


1. Segmen Register
Register-register dalam kelompok ini secara umum digunakan untuk menunjukkan alamat dari suatu segmen
  • CS(Code Segment) digunakan untuk menunjukkan tempat dari segmen yang sedang aktif
  • SS(Stack Segment) menunjukkan letak dari segmen yang digunakan oleh stack.
  • DS(Data Segment) biasanya digunakan untuk menunjukkan tempat segmen dimana data-data pada program disimpan.
  • Register ES(Extra Segment), sesuai dengan namanya adalah suatu register bonus yang tidak mempunyai suatu tugas khusus.
Pada prosesor 80386 terdapat tambahan register segment 16 bit, yaitu FS dan GS.
Yang dimaksud dari FS
F segment (FS) = pointer ke data ekstra lebih ( F muncul setelah E )
ES sendiri adalah suatu register bonus yang tidak mempunyai suatu tugas khusus . biasanya digunakan untuk menunjukkan suatu alamat di memori .
Yang dimaksud dari GS
G segment (GS) = pointer ke data tambahan masih lebih ( G manual setelah F )

2. POINTER dan INDEX REGISTER
Secara umum digunakan sebagai penunjuk atau pointer terhadap suatu lokasi di memory.
  • SP(Stack Pointer) yang berpasangan dengan register segment SS(SS:SP) digunakan untuk mununjukkan alamat dari stack.
  • BP(Base Pointer)yang berpasangan dengan register SS(SS:BP) mencatat suatu alamat di memory tempat data.
  • SI(Source Index) dan register DI(Destination Index) biasanya digunakan pada operasi string dengan mengakses secara langsung pada alamat di memory yang ditunjukkan oleh kedua register ini.
Pada prosesor 80386 terdapat tambahan register 32 bit, yaitu ESP,EBP,ESI dan EDI
ESP adalah stack pointer register yang digunakan untuk menyimpan alamat dari stack
EBP adalah base stack pointer register yang digunakan untuk menyimpan alamat dasar stack
ESI adalah sumber register indeks source atau indeks register yang digunakan untuk string dan menyalin memory array
EDI adalah tujuan register indeks destination index register yang digunakan untuk string , menyalin memory array dan pengaturan dan untuk jauh pointer pengalamatan dengan ES

3. GENERAL PURPOSE REGISTER
Secara umum register-register dalam kelompok ini dapat digunakan untuk berbagai keperluan, walaupun demikian ada pula penggunaan khusus dari masing-masing register ini yaitu :
  • Register AX, secara khusus digunakan pada operasi aritmatika terutama dalam operasi pembagian dan pengurangan.
  • Register BX, biasanya digunakan untuk menunjukkan suatu alamat offset dari suatu segmen.
  • Register CX, digunakan secara khusus pada operasi looping dimana register ini menentukan berapa banyaknya looping yang akan terjadi.
  • Register DX, digunakan untuk menampung sisa hasil pembagian 16 bit.


Pada prosesor 80386 terdapat tambahan register 32 bit, yaitu EAX,EBX,ECX dan EDX
EAX (accumulator register) semua perhitungan utama berlangsung di EAX , sehingga mirip dengan sebuah register di akumulator khusus
EBX (base register) dalam mode 32-bit register dasar itu berfungsi sebagai pointer . sekarang jadi terdapat ruang untuk penyimpan extra
ECX (counter register) register terhitung counter wp universal
EDX (data register) data register adalah eksistensi ke akumulator . hal ini terpenting dan paling berguna untuk menyimpan data yang terhubung dengan perlindungan pada akumulator saat ini .

4. INDEX POINTER REGISTER
Register IP berpasangan dengan CS(CS:IP) menunjukkan alamat dimemory tempat dari intruksi(perintah) selanjutnya yang akan dieksekusi. Register IP juga merupakan register 16
bit.

Pada prosesor 80386 digunakan register EIP yang merupakan register 32 bit
EIP adalah pointer indeks yang digunakan untuk menyimpan offset intruksi berikutnya , hal ini hanya dapat dibaca .

5. FLAGS REGISTER


  • NT : Untuk mengindikasikan apakah operasi yang sedang dilakukan digandeng ( nested ) dengan operasi lain pada operasi protected mode.
  • IOPL : Untuk operasi protected mode yang digunakan untuk memilih tingkat keistimewaan piranti masukan – keluaran .
  • Overflow Flags) : Untuk menunjukkan sebuah operasi yang tidak benar yaitu merubah hasil dari pada tanda bilangan .
  • DF (Direction Flags) : Mengontrol arah dari operasi string .
  • IF (Interupt Flags) : jika setting nilai 1 dapat melakukan operasi interupsi dan sebaliknya jika bernilai 0 , maka interupsi tidak dapat dilakukan .
  • TF (Trap Flags) : Di tempatkan pada single step mode untuk keperluan debug .
  • SF (Sign Flags) : Mensef (nilai 1) jika hasilnya adalah negatif dan bernilai 0 jika positif.
  • ZF (Zero Flags) : Mensef (nilai 1) jika hasilnya adalah negatif dan bernilai 0 jika positif.
  • AF (Auxilary Flags) : Digunakan oleh intruksi pengaturan desimal .
  • PF (Parity Flags) : Mensef (nilai 1) jika hasilnya sebuah angka genap (even parity).
  • CF (Carry Flags) : Dimana sebuah carry out atau borrow jika hasilnya adalah bit tertinggi (nilai 1)

Aritmatika

Konversi bilangan biner ke desimal









Konversi bilangan desimal ke biner









Konversi bilangan oktal ke desimal









Konversi bilangan desimal ke oktal









Konversi bilangan oktal ke biner












Konversi bilangan desimal ke heksadesimal










Konversi bilangan biner ke heksadesimal










Konversi bilangan heksadesimal ke desimal
Untuk proses konversi ini, caranya sama saja dengan proses konversi biner ke desimal, hanya saja kali ini perpangkatan yang digunakan adalah perpangkatan 16, bukan perpangkatan 2. Sebagai contoh, saya akan melakukan konversi bilangan heksa C816 ke bilangan desimal. Maka saya ubah dulu susunan bilangan heksa tersebut, mulai dari kanan ke kiri, sehingga menjadi sebagai berikut :
8
C
dan kemudian dilakukan proses perkalian dengan perpangkatan 16, sebagai berikut :
8 x 160 = 8
C x 161 = 192 ——> ingat, C16 merupakan lambang dari 1210
Maka diperolehlah hasil konversinya bernilai 8 + 192 = 20010.



TABEL KONVERENSI


Evolusi dan Generasi Komputer

1. Generasi Pertama (1944-1959)
Tabung hampa udara sebagai penguat sinyal, merupakan ciri khas komputer generasi pertama. Pada awalnya, tabung hampa udara (vacum-tube) digunakan sebagai komponen penguat sinyal. Bahan bakunya terdiri dari kaca, sehingga banyak memiliki kelemahan, seperti: mudah pecah, dan mudah menyalurkan panas. Panas ini perlu dinetralisir oleh komponen lain yang berfungsi sebagai pendingin.
Dan dengan adanya komponen tambahan, akhirnya komputer yang ada menjadi besar, berat dan mahal. Pada tahun 1946, komputer elektronik di dunia yang pertama yakni ENIAC selesai dibuat. Pada komputer tersebut terdapat 18.800 tabung hampa udara dan berbobot 30 ton. begitu besar ukurannya, sampai-sampai memerlukan suatu ruangan kelas tersendiri.
Pada gambar nampak komputer ENIAC, yang merupakan komputer elektronik pertama di dunia yang mempunyai bobot seberat 30 ton, panjang 30 M dan tinggi 2.4 M dan membutuhkan daya listrik 174 kilowatts.

2. Generasi Kedua (1960-1964)
Transistor merupakan ciri khas komputer generasi kedua. Bahan bakunya terdiri atas 3 lapis, yaitu: “basic”, “collector” dan “emmiter”. Transistor merupakan singkatan dari Transfer Resistor, yang berarti dengan mempengaruhi daya tahan antara dua dari 3 lapisan, maka daya (resistor) yang ada pada lapisan berikutnya dapat pula dipengaruhi. Dengan demikian, fungsi transistor adalah sebagai penguat sinyal. Sebagai komponen padat, tansistor mempunyai banyak keunggulan seperti misalnya: tidak mudah pecah, tidak menyalurkan panas. Dan dengan demikian, komputer yang ada menjadi lebih kecil dan lebih murah.
Pada tahun 1960-an, IBM memperkenalkan komputer komersial yang memanfaatkan transistor dan digunakan secara luas mulai beredar di pasaran. Komputer IBM-7090 buatan Amerika Serikat merupakan salah satu komputer komersial yang memanfaatkan transistor. Komputer ini dirancang untuk menyelesaikan segala macam pekerjaan baik yang bersifat ilmiah ataupun komersial. Karena kecepatan dan kemampuan yang dimilikinya, menyebabkan IBM 7090 menjadi sangat popular. Komputer generasi kedua lainnya adalah: IBM Serie 1400, NCR Serie 304, MARK IV dan Honeywell Model 800.

3. Generasi Ketiga (1964-1975)
Konsep semakin kecil dan semakin murah dari transistor, akhirnya memacu orang untuk terus melakukan berbagai penelitian. Ribuan transistor akhirnya berhasil digabung dalam satu bentuk yang sangat kecil. Secuil silicium yag mempunyai ukuran beberapa milimeter berhasil diciptakan, dan inilah yang disebut sebagai Integrated Circuit atau IC-Chip yang merupakan ciri khas komputer generasi ketiga. Cincin magnetic tersebut dapat di-magnetisasi secara 1 arah ataupun berlawanan, dan akhirnya men-sinyalkan kondisi “ON” ataupun “OFF” yang kemudian diterjemahkan menjadi konsep 0 dan 1 dalam system bilangan biner yang sangat dibutuhkan oleh komputer. Pada setiap bidang memory terdapat 924 cincin magnetic yang masing-masing mewakili 1 bit informasi. Jutaan bit informasi saat ini berada di dalam 1 chip tunggal dengan bentuk yang sangat kecil.
Komputer yang digunakan untuk otomatisasi pertama dikenalkan pada tahun 1968 oleh PDC 808, yang memiliki 4 KB (kilo-Byte) memory dan 8 bit untuk core memory.

4. Generasi Keempat (1975-Sekarang)
Microprocessor merupakan chiri khas komputer generasi keempat yang merupakan pemadatan ribuan IC ke dalam sebuah Chip. Karena bentuk yang semakin kecil dan kemampuan yang semakin meningkat dan harga yang ditawarkan juga semakin murah. Microprocessor merupakan awal kelahiran komputer personal.
Pada tahun 1971, Intel Corp kemudian mengembangkan microprocessor pertama serie 4004. Contoh generasi ini adalah Apple I Computer yang dikembangkan oleh Steve Wozniak dan Steve Jobs dengan cara memasukkan microprocessor pada circuit board komputer. Di samping itu, kemudian muncul TRS Model 80 dengan processor jenis Motorola 68000 dan Zilog Z-80 menggunakan 64Kb RAM standard. Komputer Apple II-e yang menggunakan processor jenis 6502R serta Ram sebesar 64 Kb, juga merupakan salah satu komputer PC sangat popular pada masa itu. Operating Sistem yang digunakan adalah: CP/M 8 Bit. Komputer ini sangat populer pada awal tahun 80-an.
IBM mulai mengeluarkan Personal Computer pada sekitar tahun 1981, dengan menggunakan Operating System MS-DOS 16 Bit. Dikarenakan harga yang ditawarkan tidak jauh berbeda dengan komputer lainnya, di samping teknologinya jauh lebih baik serta nama besar dari IBM sendiri, maka dalam waktu yang sangat singkat, komputer ini menjadi sangat popular.

5. Generasi Kelima (Sekarang – Masa depan)
Pada generasi ini ditandai dengan munculnya: LSI (Large Scale Integration) yang merupakan pemadatan ribuan microprocessor ke dalam sebuah microprocesor. Selain itu, juga ditandai dengan munculnya microprocessor dan semi conductor. Perusahaan-perusahaan yang membuat micro-processor di antaranya adalah: Intel Corporation, Motorola, Zilog dan lainnya lagi. Di pasaran bisa kita lihat adanya microprocessor dari Intel dengan model 4004, 8088, 80286, 80386, 80486, dan Pentium. Pentium-4 merupakan produksi terbaru dari Intel Corporation yang diharapkan dapat menutupi segala kelemahan yang ada pada produk sebelumnya, di samping itu, kemampuan dan kecepatan yang dimiliki Pentium-4 juga bertambah menjadi 2 Ghz. Gambar-gambar yang ditampilkan menjadi lebih halus dan lebih tajam, di samping itu kecepatan memproses, mengirim ataupun menerima gambar juga menjadi semakin cepat.

Bios Interrupt :


00h Divide By Zero :
Jika terjadi pembagian dengan nol maka proses akan segera dihentikan
01h (Single Step) :
Untuk melaksanakan / mengeksekusi instruksi satu persatu
02h Non Maskable Interupt (NMI) :
Pelayanan terhadap NMI / non Maskable interupt yaitu interupt yang tak dapat dicegah
03h (Break point) :
Jika suatu program menyebabkan overflow play menjadi 1 maka interrupt ini akan menjadi pencegahan dan memberi tanda eror
04h (Arithmatic Overflow) :
Berguna untuk menghandel operasi aritmatika apabila terjadi overflow pada proses logika aritmatic
05h (Print Screen) :
Berguna untuk mencetak layar teks (screen capture)
06h (Reserved) :
Ruang memori yang digunakan untuk cadangan
07h (Reserved) :
Ruang memori yang digunakan untuk cadangan
08h Clock Tick(Timer) :
Digunakan untuk menghitung waktu pada saat operasi interupt ini dijalankan
09h Keyboard :
Menerima data yang berasal atau inputan yang ditekan dari keyboard
0Ah I/O Channel Action :
Interupt ini digunakan untuk aktifitas channel input / output
0Bh COM 1 (serial 1) :
Digunakan untuk menangani masukan dan kekuasaan dan alat komunikasi
0Ch COM 2 (serial 2) :
Digunakan untuk menangani masukan dan kekuasaan dan alat komunikasi
0Dh Fixed Disk :
Untuk menangani printer alternante yang bersifat media penyimpan yang sudah baku
0Eh Diskette :
Interupt yang digunakan merupakan suatu generator disk penyimpanan
0Fh LPT 1 (Parallel 1) :
Merupakan suatu port generator port pada printer atau media hub lainnya yang menggunakan port LPT 1
10h Video Service :
Interupt yang digunakan untuk menentukan tampilan pada layar screen yang berfungsi menampilkan grafik
11h Equipment List/Check :
Interupt yang digunakan untuk peralatan yang akan dicheck
12h Memory Size :
Interupt yang digunakan untuk mencheck besar memori
13h Disk Service :
Interupt yang digunakan untuk akses hardisk / diskete
14h Communication (RS-232) :
Interupt yang digunakan untuk konunikasi dengan serial port
15h Cassette Service :
Interupt yang digunakan untuk akses ke pita service
16h Keyboard Service :
Interupt yang digunakan untuk menentukan karakter dari tombol keyboard
17h Printer Service :
Interupt untuk akses ke Printer (Service) untuk metode pencetakan
18h ROM Basic :
Interupt yang digunakan untuk fungsi BASIC pada komputer
19h Bootstrap Loader :
Interupt yang digunakan untuk membaca boot sector dari disket atau harddisk
1Ah BIOS time & date :
Interupt yang digunakan untuk mengakses waktu dan tanggal / hari yang terdapat pada BIOS
1Bh Control Break :
Interupt yang digunakan dan berisi alamat tempat keyboard menekan tombol (Ctrl + C) untuk keperluan menghentikan proses (Break)
1Ch Timer Tick :
Interupt yang digunakan untuk menghitung detik dari komputer
1Dh Video Initialization :
Interupt yang digunakan untuk inisialisasi video, terdapat parameter dari 6845 video control
1Eh Disk Parameters :
Interupt yang digunakan untuk parameter pada disk parameter dari dan ke disk drive yang digunakan
1Fh Graphics Char :
Interupt yang digunakan untuk menampilkan karakter – karakter yang ditampilkan oleh komputer

Selasa, 03 Mei 2011

tugas UTS


SOAL !
Input 1 : masukan lebih dari satu karakter
Input 2 : jumlah pengulangan
output : jumlah keluaran sesuai dengan output 2-4
Pembahasan
Source Code:
.model small(bentuk memory yang digunakan oleh program kita)
.code(penggunaan Code Segment-nya disini)
ORG 100h(ketika program pada saat dijalankan ditaruh mulai pada offset ke 100h(256) byte)
mulai:
mov ah,2h(nilai servis ntuk mencetak karakter)
mov dl,’A’(mengisi register dl, dengan karakter ‘A’)
mov cx,3(perintah pengulangan sebanyak 3 kali)
ulang:
int 21h(perintah untuk mencetak karakter)
inc dl(perintah untuk melakukan penambahan 1 nilai pada register dl)
loop ulang(lompat kembali ke label ‘ulang’)
mov dl,’A’(mengisi register dl, dengan karakter ‘A’)
mov cx,3(perintah pengulangan sebanyak 3 kali)
ulang1:
int 21h(perintah untuk mencetak karakter)
inc dl(perintah untuk melakukan penambahan 1 nilai pada register dl)
loop ulang1(lompat kembali ke label ‘ulang1’)
mov dl,’A’(mengisi register dl, dengan karakter ‘A’)
mov cx,3(perintah pengulangan sebanyak 3 kali)
ulang2:
int 21h(perintah untuk mencetak karakter)
inc dl(perintah untuk melakukan penambahan 1 nilai pada register dl)
loop ulang2(lompat kembali ke label ‘ulang2’)
int 20h(perintah untuk menghentikan program & kembali ke DOS)
end mulai