dasar komputer - husnilk.files.wordpress.com · 7/7/2011  · flag register • carry flag (cf) •...

66
DASAR KOMPUTER CPU

Upload: others

Post on 18-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

DASAR KOMPUTER CPU

Page 2: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

FUNGSI CPU

Page 3: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Tipe Instruksi

• Data processing

• Instruksi aritmatika dan logika

• Data storage

• Instruksi untuk Memory

• Data movement

• Instruksi untuk I/O

• Control

• Instruksi test dan instruksi percabangan

Page 4: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Masih ingat…??

Page 5: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

STRUKTUR CPU

Page 6: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Struktur CPU

Page 7: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Register

• Tempat penyimpanan data pada CPU

• Memiliki mekanisme akses tersendiri

• Note :

• Setiap arsitektur CPU memiliki register yang berbeda-beda.

Page 8: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Register CPU

Architecture Integer

registers

FP

registers

x86 8 8

x86-64 16 16

IBM/360 16 4

Z/Architecture 16 16

Itanium 128 128

UltraSPARC 32 32

POWER 32 32

Alpha 32 32

6502 3 0

PIC microcontroller 1 0

AVR microcontroller 32 0

ARM 16 16

Page 9: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

CPU Register (8086)

Page 10: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

General Purposes Register (1)

• AX – Accumulator register : Generates shortest machine code • Arithmetic, logic and data transfer

• One number must be in AL or AX

• Multiplication & Division

• Input & Output

• BX – Base address register

• CX – Count register : • Repetitive operations on strings with the REP command

• Count (in CL) of bits to shift and rotate

• DX – Data register : DX:AX concatenated into 32-bit register for some MUL and DIV operations • Specifying ports in some IN and OUT operations

Page 11: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

General Purposes Register (2)

• SI - source index register: Can be used for pointer addressing of data • Used as source in some string processing instructions

• Offset address relative to DS

• DI - destination index register: Can be used for pointer addressing of data • Used as destination in some string processing instructions

• Offset address relative to ES

• BP - base pointer: Primarily used to access parameters passed via the stack • Offset address relative to SS

• SP - stack pointer: Always points to top item on the stack

• Offset address relative to SS • Always points to word (byte at even address)

• An empty stack will had SP = FFFEh

Page 12: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Segment Register

• CS - points at the segment containing the current

program. DS - generally points at segment where

variables are defined.

• ES - extra segment register, it's up to a coder to define its

usage.

• SS - points at the segment containing the stack.

Page 13: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Special Purposes Register

• IP - the instruction pointer:

• Always points to next instruction to be executed

• Offset address relative to CS

Page 14: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Flag Register • Carry Flag (CF)

• Parity Flag (PF) - 1 when there is even number of one bits in result

• Auxiliary Flag (AF) - set to 1 when there is an unsigned overflow for low nibble (4 bits).

• Zero Flag (ZF) - set to 1 when result is zero..

• Sign Flag (SF) - set to 1 when result is negative

• Trap Flag (TF) - Used for on-chip debugging.

• Interrupt enable Flag (IF) - when this flag is set to 1 CPU reacts to interrupts from external devices.

• Direction Flag (DF) - this flag is used by some instructions to process data chains, when this flag is set to 0 - the processing is done forward, when this flag is set to 1 the processing is done backward.

• Overflow Flag (OF) - set to 1 when there is a signed overflow. For example, when you add bytes 100 + 50 (result is not in range -128...127).

Page 15: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

ALU vs FPU

• ALU – Arithmatic Logical Unit

• FPU – Floating Point Logical Unit

• Perhitungan yang lebih kompleks

Page 16: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Control Unit

• Memberi instruksi kepada ALU/FPU

• Perpindahan data antara Register – ALU/FPU – Memory

Page 17: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

SIKLUS EKSEKUSI

INSTRUKSI

Page 18: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Fetch Execute Instruction

• Fetch instruksi dari memory.

• Decode opcode.

• Decode operand address

• Fetch operand.

• Execute instruction

Page 19: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Instruction Cycle State Diagram

Page 20: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Instruksi dan Data

• Dalam setiap siklus eksekusinya, CPU membutuhkan

instruksi dan data

• Instruksi

• Sequence dari bit-bit

• Instruction Set – Sekumpulan instruksi yang dapat

dimengerti/dieksekusi oleh CPU

• Data

Page 21: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

INSTRUKSI

Page 22: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Representasi Instruksi

• Oleh karena sulit menggunakan representasi biner, maka

digunakan symbolic representation dari instruksi mesin begitu juga

dengan operand

• Opcode sering disingkat dan disebut mnemonics.

• Muncul bahasa mesin

• Sangat memungkinkan untuk menuliskan bahasa mesin dalam

bentuk symbolic.

• Program menerima input symbolic, mengkonversi opcode dan

operand ke dalam bentuk biner, membentuk instruksi mesin

• Muncul bahasa tingkat tinggi

• Terbagi dalam field-field dan membentuk format tersendiri

• Kebanyakan dari Instruction Set menggunakan lebih dari

1 format

Page 23: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Elements Instruksi

• Operation code (Op code)

• Instruksi yang akan dilakukan

• Source Operand reference

• Data yang dibutuhkan

• Result Operand reference

• Lokasi memory tempat penyimpanan hasil

• Next Instruction Reference

Page 24: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Source dan Result Operand

• Main or Virtual Memory

• Alamat operand harus dijelaskan sebelum digunakan

• CPU Register

• Jika CPU memiliki lebih dari 1 register maka alamat dari masing-

masing register harus digunakan

• I/O Device

Page 25: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Simple Instruction Format

Page 26: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Jumlah Addres (1)

• 3 addresses

• Operand 1, Operand 2, Result

• a = b + c;

• Kadang dibutuhkan yang keempat - next instruction (biasanya

secara implicit)

• Tidak umum digunakan

• Butuh word yang panjang untuk mengakomodir semuanya

Page 27: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Jumlah Addres (2)

• 2 addresses

• Satu alamat berfungsi ganda (operand dan result)

• a = a + b

• Panjang instruksi bisa dikurangi

• Butuh kerja ekstra

• Butuh tempat penyimpanan sementara untuk menyimpan result

Page 28: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Jumlah Address (3)

• 1 address

• Alamat kedua dinyatakan secara Implicit

• Biasanya berupa register (accumulator)

• Umum digunakan pada komputer jaman dulu

Page 29: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Jumlah Addres (4)

• 0 (zero) addresses

• Semua address implicit

• Menggunakan stack

• e.g.

• push a

• push b

• add

• pop c

• c = a + b

Page 30: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Berapa Jumlah Address

• Semakin Banyak

• Instruksi lebih complex (powerful?)

• Lebih banyak registers

• Operasi Inter-register lebih cepat

• Lebih sedikit instruksi tiap program

• Sedikit

• Instruksi lebih sederhana (powerful?)

• More instructions per program

• Lebih cepat dalam mengambil instruksi

Page 31: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Pertimbangan Design

• Daftar Operation • Berapa jumlah Opcode?

• Apa yg bisa dilakukan oleh Opcode tsb?

• Seberapa komplek?

• Tipe Data

• Format Instruksi • Panjang field opcode

• Jumlah alamat

• Registers • Jumlah register CPU yang ada

• Operasi yang mana pada register yang mana?

• Mode Addressing

• RISC v CISC

Page 32: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Tipe Operasi

• Data Transfer

• Arithmetic

• Logical

• Conversion

• I/O

• System Control

• Transfer of Control

Page 33: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Tipe Operand

• Address

• Angka

• Integer/floating point

• Karakter

• ASCII etc.

• Data Logical

• Bits or flags

• (Aside: Is there any difference between numbers and characters?

Ask a C programmer!)

Page 34: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

DATA

Page 35: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

x86 Data Types

• 8 bit Byte

• 16 bit word

• 32 bit double word

• 64 bit quad word

• 128 bit double quadword

• Pengalamatan diberikan setiap 8 bit unit

• Data diakses melalui bus 32 bit bus dalam unit double word yang dibaca pada alamat-alamat yanb bisa dibagi dengan 4

• Little endian

Page 36: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

x86 Numeric Data Formats

Page 37: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Byte Order

• Urutan pembacaan angka jika kapasitasnya lebih dari 1 byte

• e.g. • 12345678 (hexa) disimpan dalam lokasi 4x8bit seperti berikut

• Address Value (1) Value(2)

• 184 12 78

• 185 34 56

• 186 56 34

• 186 78 12

• i.e. dibaca dari atas ke bawah atau sebaliknya?

Page 38: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Penamaan Byte Order

• Penamaan byte order ini disebut Endian

• Big-Endian

• Sistem pada bagian kiri memiliki LSB pada alamat terendah

• Little-Endian

• Sistem pada bagian kanan memiliki LSB pada alamat tertinggi

Page 39: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Contoh Struktur Data pada C

Page 40: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Alternative View of Memory Map

Page 41: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Standard…What Standard?

• Pentium (x86), VAX

• little-endian

• IBM 370, Motorola 680x0 (Mac), dan kebanyakan RISC :

• big-endian

• Internet : big-endian

• Membuat program Internet di PC lebih susah!

• WinSock menyediakan fungsi htoi & itoh (Host to Internet & Internet

to Host) untuk konversi.

Page 42: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Mode Pengalamatan

• Immediate

• Direct

• Indirect

• Register

• Register Indirect

• Displacement (Indexed)

• Stack

Page 43: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Immediate Addressing

• Operand merupakan bagian dari instruksi

• Operand = address field

• e.g :

• ADD 5

• Tambahkan 5 ke accumulator

• 5 adalah operand

• Tidak menggunakan referensi memory untuk mengambil

data data

• Cepat

• Range Terbatas

Page 44: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Immediate Addressing Diagram

Operand Opcode

Instruction

Page 45: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Direct Addressing

• Address field berisi alamat operand

• Effective address (EA) = address field (A)

• e.g. ADD A

• Tambahkan isi dari cell A ke dalam accumulator

• Lihat di lokasi A pada memory untuk mengambil operand

• Single memory reference untuk mengakses data

• Tidak membutuhkan perhitungan khusus terhadap

effective address

• Jumlah address terbatas

Page 46: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Direct Addressing Diagram

Address A Opcode

Instruction

Memory

Operand

Page 47: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Indirect Addressing

• Memory cell menunjukkan alamat dari operand.

• EA = (A) • Lihat dalam A, cari alamat yang ditunjukkan dalam (A) dan cari

operand disana

• e.g. ADD (A) • Tambahkan isi dari cell yang ditunjukkan oleh A ke dalam

accumulator

• Butuh address space yang besar • 2n dimana n = panjang word

• Bisa jadi tersarang, multilevel, bertingkat • e.g. EA = (((A)))

• Multiple akses memory untuk menemukan operand

• Lebih lambat

Page 48: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Indirect Addressing Diagram

Address A Opcode

Instruction

Memory

Operand

Pointer to operand

Page 49: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Register Addressing

• Operand disimpan dalam register pada address field

• EA = R

• Jumlah register terbatas

• address field yang dibutuhkan sangat sedikit • Instruksi lebih singkat

• Pengambilan instruksi lebih cepat

• Tidak membutuhkan akses ke memory

• Eksekusi sangat cepat

• Address space sangat terbatas

• Multiple registers meningkatkan kinerja • Butuh kemampuan assembly programming atau kemampuan compiler

• N.B. pada pemograman C • register int a;

• c.f. Direct addressing

Page 50: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Register Addressing Diagram

Register Address R Opcode

Instruction

Registers

Operand

Page 51: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Register Indirect Addressing

• C.f. indirect addressing

• EA = (R)

• Operand berada dalam memory cell yang ditunjukkan

oleh register R

• Butuh address space yang besar (2n)

• Akses memory 1 tingkat lebih sedikti daripada indirect

addressing

Page 52: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Register Indirect Addressing Diagram

Register Address R Opcode

Instruction

Memory

Operand Pointer to Operand

Registers

Page 53: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Displacement Addressing

• EA = A + (R)

• Address field berisi 2 buah nilai

• A = base value

• R = register yang berisi penggantinya

• Atau sebaliknya

Page 54: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Displacement Addressing Diagram

Register R Opcode

Instruction

Memory

Operand Pointer to Operand

Registers

Address A

+

Page 55: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Relative Addressing

• Bentuk lain dari displacement addressing

• R = Program counter, PC

• EA = A + (PC)

• i.e. ambil operand dari cell A dari lokasi yang sedang

ditunjukkan oleh PC saat ini

Page 56: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Base-Register Addressing

• A berisi pengganti/displacement

• R berisi pointer ke address

• R bisa jadi explicit atau implicit

• e.g. segment registers pada 80x86

Page 57: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Indexed Addressing

• A = base

• R = displacement

• EA = A + R

• Cocok digunakan untuk mengakses array

• EA = A + R

• R++

Page 58: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Stack Addressing

• Operand (implicitly) berada pada stack bagian atas

• e.g.

• ADD

• keluarkan 2 item dari stack kemudian jumlahkan

Page 59: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Contoh : x86 Addressing Mode

• Terdapat 12 mode addressing

• Immediate

• Register operand

• Displacement

• Base

• Base with displacement

• Scaled index with displacement

• Base with index and displacement

• Base scaled index with displacement

• Relative

Page 60: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Contoh : 8051 Addressing Mode

• Immediate Addressing

• MOV A,#20h

• Direct Addressing

• MOV A,30h

• Indirect Addressing

• MOV A,@R0

• External Direct

• MOVX A,@DPTR

• Code Indirect

• MOVC A,@A+DPTR

Page 61: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Assembler

• Mesin hanya menyimpan dan mengerti binary instructions

• E.g. N= I + J + K inisialisasi I=2, J=3, K=4

• Program program dimulai pada alamat 101

• Data dimulai dari alamat 201

• Kode:

• Load isi memory pada alamat 201 ke dalam AC

• Tambahkan isi pada alamat 202 ke dalam AC

• Tambahkan isi dari alamat 203 ke dalam AC

• Simpan isis AC pada 204

• Sulit dalam membuat programnya

Page 62: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Improvements

• Menggunakan hexadecimal daripada binary

• Kode sebagai urutan dari baris

• Hex address dan memory address

• Butuh translasi secara otomatis untuk menjalankan program

• Menggunakan nama symbolic atau mnemonics untuk

instruksi

• 3 field/line

• Location : address

• 3 karakter :opcode

• Jika menggunakan referensi memory: address

• Butuh penerjemah program yang lebih komplek

Page 63: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Program in:

Binary Hexadecimal

Address Contents Address Contents

101 0010 0010 101 2201 101 2201

102 0001 0010 102 1202 102 1202

103 0001 0010 103 1203 103 1203

104 0011 0010 104 3204 104 3204

201 0000 0000 201 0002 201 0002

202 0000 0000 202 0003 202 0003

203 0000 0000 203 0004 203 0004

204 0000 0000 204 0000 204 0000

Page 64: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Symbolic Addresses

• Field pertama disimbolkan

• Memory references pada ketiga field disimbolkan

• Sekarang jadi bahasa assembly language dan butuh

assembler untuk menerjemahkannya translate

• Assembler digunakan pada beberapa systems

programming

• Compilers

• I/O routines

Page 65: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Symbolic Program

Address Instruction

101 LDA 201

102 ADD 202

103 ADD 203

104 STA 204

201 DAT 2

202 DAT 3

203 DAT 4

204 DAT 0

Address Contents

101 2201

102 1202

103 1203

104 3204

201 0002

202 0003

203 0004

204 0000

Page 66: DASAR KOMPUTER - husnilk.files.wordpress.com · 7/7/2011  · Flag Register • Carry Flag (CF) • Parity Flag (PF) - 1 when there is even number of one bits in result • Auxiliary

Assembler Program

Label Operation Operand

FORMUL LDA I

ADD J

ADD K

STA N

I DATA 2

J DATA 3

K DATA 4

N DATA 0