download

Matakuliah
Tahun
Versi
: H0182/Pemrograman Sistem
: 2006
: 01
Pertemuan 3
Assembler 1
1
Learning Outcomes
• Mahasiswa dapat mengerti tahapan yang
dilakukan Assembler dalam mengubah
bahasa assembly menjadi bahasa mesin
• Mahasiswa dapat mengerti alasan
mengapa assembler memerlukan
database
• Mahasiswa dapat mendemonstrasikan
cara kerja assembler
2
Assembler
ASM Source
Code
Assembler
Machine
language &
info
Database
o Execution program on RAM
o Execution program must provide information to
Loaders
3
General Design Procedure
1. Specify the problem
2. Specify data structure
3. Define format of data structure
4. Specify algorithm
5. Look for modularity
6. Repeat 1 through 5 on modules
4
Objective
• Translate assembly language in 8086 ASM
to machine language
• For database we need for table
– Machine Operation Table
– Location Counter Table
– Symbol Table
– Translated ASM Code Table
5
Process in Assembling

ASM
Source
Code
Machine Operation
Table
PASS 1
•
•
PASS 2
Translated ASM
Code Table
Location Counter Table
Symbol Table
Memberikan informasi
Mengisi tabel
6
Example of ASM program
CODE SEGMENT
ASSUME CS:CODE
RED:
YELLOW:
GREEN:
EXIT:
MOV
MOV
OUT
DX,0FFFEH
AL,99H
DX,AL
MOV
IN
MOV
CMP
JB
CMP
JB
DX,0FFF8H
AL,DX
DX,0FFFAH
AL,30
YELLOW
AL,40
GREEN
MOV
AL,04H
DX,AL
EXIT
AL,01H
DX,AL
EXIT
AL,02H
DX,AL
DX,0FFFCH
AL,DX
OUT
JMP
MOV
OUT
JMP
MOV
OUT
MOV
IN
CODE ENDS
END
7
Machine Operation Table
Op-Code
Machine Code
Length (byte)
CMP AX,imm
3D xx xx
3
CMP AL,imm
3C xx xx
3
DEC AX
48
1
IN AL,DX
EC
1
JA displacement
77 xx
2
JB displacement
72 xx
2
JMP displacement
EB xx
2
MOV AX,imm
B8 xx xx
3
MOV DX,imm
BA xx xx
3
MOV AL,imm
B0 xx
2
OUT DX,AL
EE
1
NOP
90
1
Machine Operation Table berfungsi untuk menyimpan
kode-kode mesin yang berguna dalam proses
penterjemahan
8
Location Counter Table
Address
0000
0003
0005
0006
0009
000A
000D
000F
0011
0013
0015
0017
0018
001A
001C
001D
001F
0021
0022
0025
Op Machine-Code
MOV
MOV
OUT
MOV
IN
MOV
CMP
JB
CMP
JB
MOV
OUT
JMP
MOV
OUT
JMP
MOV
OUT
MOV
IN
Operand 1
DX
AL
DX
DX
AL
DX
AL
YELLOW
AL
GREEN
AL
DX
EXIT
AL
DX
EXIT
AL
DX
DX
AL
Operand 2
0FFFEH
99H
AL
0FFF8H
DX
0FFFAH
30
40
04H
AL
01H
AL
02H
AL
0FFCH
DX
9
Symbol Table
Name
Address
YELLOW
001A
GREEN
001F
RED
0015
EXIT
0022
10
Translated ASM Code Table
Address
0000
0003
0005
0006
0009
000A
000D
000F
0011
0013
0015
0017
0018
001A
001C
001D
001F
0021
0022
0025
Machine-Code
BA FFFE
B0 99
EE
BA FFF8
EC
BA FFFA
3C 1E
72 09
3C 28
72 0A
B0 04
EE
EB 08
B0 01
EE
EB 03
B0 02
EE
BA FFFC
EC
11
Summary
• Proses penertejemahan yang dibahas
pada bab ini adalah yang contoh
sederhana dari cara kerja sebuah
assembler
• Tujuan dari bab ini adalah memberikan
dasar bagaimana salah satu komponen
pemrograman sistem mampu memberikan
kemudahan pada kita untuk memprogram
tidak langsung ke bahasa mesin.
12