download

Matakuliah
Tahun
Versi
: T0483 / Bahasa Rakitan
: 2005
: 1.0
Pertemuan 5
Struktur program bahasa rakitan
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• menjelaskan perbedaan penulisan
program dalam bentuk COM dan EXE
• mendemonstrasikan program bahasa
rakitan dalam bentuk COM dan EXE
2
Outline Materi
• Struktur program .Com
• Struktur program .Exe
• Kelebihan dan kekurangan program .Com
dgn .Exe
3
<<ISI>>
Struktur Program .com dgn "Standard Segment Directive"
• Contoh Struktur / Layout - 1
code
segment
assume cs:code, ds:code, ss:code
org 100h
main proc near
start:
mov ah,9
mov dx,offset mesg
int 21h ; display mesage
ret
; quit
mesg db 'Hello, Binusian',10,13,'$'
main endp
code ends
end start
4
<<ISI>>
Struktur Program .com dgn "Standard Segment Directive"
•
Contoh Struktur / Layout - 2
code segment
assume cs:code, ds:code, ss:code
org 100h
start:
;display message
mov ah,9
mov dx,offset mesg
int 21h
;quit
int 20h ;khusus untuk .com
;data area
mesg db 'Hello, Binusian',10,13,'$'
code ends
end start
5
<<ISI>>
•
•
Struktur Program .com dgn "Standard Segment Directive“
Contoh Struktur / Layout – 3
code segment
assume cs:code, ds:code, ss:code
org 100h
start:
;display message
mov ah,9
mov dx,offset mesg
int 21h
;quit
mov ah,4ch
int 21h
;data area
mesg db 'Hello, Binusian',10,13,'$'
code ends
end start
6
<<ISI>>
• Cara mengkompile / menjalankan
Program, (dengan Turbo Assembler)
Ketik program diatas dan kemudian
simpan dengan nama "myprogcom.asm".
C> Tasm myprogcom.asm
C>Tlink /T myprogcom.obj
7
<<ISI>>
Struktur Program .exe dengan menggunakan "Standard
Segment Directive"
Contoh Struktur / Layout - 1
data segment
mesg db 'Hello, Binusian',10,13,'$'
data ends
code segment
assume cs:code, ds:data, ss:_stack
main proc far
start:
push ds
xor ax,ax
push ax
mov ax,data ;; ;set up DS
mov ds,ax
mov ah,9
;; ;display message
mov dx,offset mesg
int 21h
ret
;; ;quit
main endp
code ends
end start
8
<<ISI>>
Contoh Struktur / Layout - 2
_stack segment stack
db 250 dup(0)
_stack ends
data segment
mesg db 'Hello, Binusian',10,13,'$'
data ends
code
start:
segment
assume cs:code, ds:data, ss:_stack
mov ax,data ;; ;set up DS
mov ds,ax
mov ah,9
;; ;display message
mov dx,offset mesg
int 21h
mov ah,4ch ;; ;quit
int 21h
code ends
end start
9
<<ISI>>
• Cara mengkompile / menjalankan
Program, (dengan Turbo Assembler)
Ketik program diatas dan kemudian
simpan dengan nama "myprogcom.asm".
C> Tasm myprogcom.asm
C>Tlink myprogcom.obj
10
<<ISI>>
Struktur Program .com dengan menggunakan
"Simplified Segment Directive"
Contoh Struktur / Layout - 1
start:
DOSSEG
.Model Tiny
.Code
org 100h
;display message
mov ah,9
mov dx,offset mesg
int 21h
;quit
int 20h
;data area
mesg db 'Hello, Binusian',10,13,'$'
end start
11
<<ISI>>
• Contoh Struktur / Layout - 2
DOSSEG
.Model Tiny
.Code
org 100h
start:
mov ah,9
;display message
mov dx,offset mesg
int 21h
mov ah,4ch
int 20h
;quit
;data area
mesg db 'Hello, Binusian',10,13,'$'
end start
12
<<ISI>>
Cara mengkompile / menjalankan Program,
(dengan Turbo Assembler)
Ketik program diatas dan kemudian simpan
dengan nama "myprogcom.asm".
C> Tasm myprogcom.asm
C>Tlink /t myprogcom.obj
13
<<ISI>>
Struktur Program .EXE dengan menggunakan
"Simplified Segment Directive"
Contoh Struktur / Layout
DOSSEG
.Model Small
.Stack 100h
.Data
mesg db 'Hello, Binusian',10,13,'$'
.Code
start:
mov ax,@data ;set up DS
mov ds,ax
mov ah,9 ;display message
mov dx,offset mesg
int 21h
mov ah,4ch ; ;quit
int 21h
end start
14
<<ISI>>
Cara mengkompile / menjalankan Program,
(dengan Turbo Assembler)
Ketik program diatas dan kemudian simpan
dengan nama "myprogcom.asm".
C> Tasm myprogcom.asm
C>Tlink myprogcom.obj
15
<< CLOSING>>
16