Pengenalan Komputer
Pengenalan Komputer
Assembly
Bahasa Mesin
Assembly
Sebagai contoh,
• Contoh :
0100 3E 20
0102 DD 21 8000
• Contoh :
– LD Load (isi, transfer, simpan, ambil)
– ADD Jumlahkan
– SUB Kurangkan
Operand
• Sesuatu yang dioperasikan
• Dapat berupa register, data atau alamat
memory atau I/O
• Contoh :
– A, B register dengan register
– B, 20H register dengan data 8 bit
– A, (2000H) register dengan alamat 16 bit
Catatan Operand
• Ada empat jenis cara menuliskan operand
• LD A,B ; A B, atau A = B
– Salin data dari B ke A
• ADD A,B ; A A + B, A = A + B
– Jumlahkan A dengan B dan simpan di A
Mana yang Salah ?
• LD A,C
• LD A,HL
• LD A,(DE)
• LD BC,0
• LD DE,8000H
• LD A,2000H
• LD HL,(8000H)
• LD A,(8000H)
Mnemonic
• Menyatakan satu perintah tunggal, termasuk format
data atau sesuatu yang dioperasikan oleh data
tersebut
• Terdiri dari opcode dan operand (data, register,
memory atau port)
• Contoh :
– LD r, n
– ADD A, r
– LD r, r’
Singkatan pada Operand
• r register 8 bit
• n data 8 bit
• nn data 16 bit
• d displacement (pergeseran 8 bit)
Instruksi
• Menyatakan satu perintah/program tunggal
• Terdiri dari Opcode dan Operand
• Contoh :
– LD A,30H Masukkan 30H ke A
– LD B,A Masukkan/salin A ke B
– IN A,(81H) Baca port 81H ke A
Label
• Suatu tulisan yang digunakan untuk menunjukkan
posisi dari suatu instruksi
• Digunakan untuk menggantikan alamat pada
penulisan bahasa assembly
• Terkadang label dapat digunakan sebagai data
• Nilai sesungguhnya dari label tidak dapat diketahui
sebelum semua program selesai dan diterjemahkan
ke dalam kode mesin
• Ditandai dengan titik dua setelah nama label
Contoh Label
Start:LD B,20H
LD HL,Tabel
JP (HL)
…
Tabel: LD A,10H
ADD A,B
…
JP Start
Komentar
• Suatu tulisan selain instruksi yang digunakan untuk
menjelaskan program
• Seharusnya selalu ada, mengingat pemrograman
assembly lebih sulit untuk dibaca
• Sebagai dokumentasi
• Harus diawali dengan titik koma (;)
• Contoh :
– LD A,32 ; Siapkan data SPASI ke Reg. A
– CALL LCD ; Tampilkan ke LCD
Bahasa Assembly
• Bahasa Assembly adalah bahasa yang dirakit/dibuat
untuk menggantikan kode mesin yang sulit untuk
dibaca/dihafalkan/dimengerti/ditulis
• Contoh :
Mulai: LD SP,0 ; Posisi awal STACK
LD B,0 ; Tunggu sesaat
DJNZ $ ; dengan cara loop 256 x
Assembler
• Assembler adalah Suatu program yang
digunakan untuk menterjemahkan, atau lebih
tepat mengubah dari bahasa assembly ke dalam
kode mesin
• Jika suatu komputer dengan prosesor tertentu
digunakan untuk menterjemahkan kode dari
prosesor lain, maka assembler tersebut
dinamakan “Cross Assembler”
Prinsip Kerja Assembler
• Assembly
Start: LD A,30H ; Masukkan 30H ke Reg. A
LD B,0 ; Masukkan 0H ke Reg. B
LD C,32 ; Masukkan 20H ke Reg. C
• Listing program
Contoh Format Listing Program
Alamat Data/Kode Label Opc Operand Komentar
0000 Start:
0000 3E 30 LD A,30H ; Mulai
0002 06 00 LD B,0
0004 0E 20 LD C,32
0006 D3 80 OUT (80H),A
0008 DB 81 IN A,(81H)
000A 31 0000 LD SP,0000H
000D … …
Assembler Directive
• ORG Origin
– Penentuan alamat program
• EQU Equal
– Membuat suatu identifier, atau konstanta
• DEFB Define Byte
– Meletakkan data Byte ke dalam program
• DEFM Define Memory
– Meletakkan beberapa data Byte dalam program
• DEFS Define Storage
– Memesan tempat kosong dalam memory
Contoh Program
20H
A 20H
30H
LD A,20H 3E 20H
B 30H LD B,30H 06 30H
C 20H
LD C,A 4F
A 30H LD A,B 78
B 20H LD B,C 41
HALT 76
Listing Program Pertukaran A-B
ORG 0000H ;…
0000 START: ;…
0000 3E 20 LD A,20H ;…
0002 06 30 LD B,30H ;…
0004 4F LD C,A ;…
0005 78 LD A,B ;…
0006 41 LD B,C ;…
0007 76 HALT ;…
Latihan
C 20H D 20H
B 10H B 10H
+
+
A 30H
A 30H
D 00H A 00H
C 00H A 20H
C 00H
Contoh Program Assembly
ORG 0100H ORG 0100H
Mulai: LD C,B Mulai: LD D,B
LD B,A LD B,A
ADD A,C ADD A,D
LD D,A LD C,A
LD A,C LD A,D
LD C,D HALT
HALT
SEKIAN
TERIMA KASIH