Anda di halaman 1dari 22

KATA PENGANTAR

Puji syukur kehadirat Tuhan Yang Maha Kuasa karena berkat rahmat dan hidayah-
NYA kami mampu menyelesaikan tugas makalah ini dengan tepat waktu. Tidak lupa juga
shalawat serta salam semoga selalu terhaturkan kepada nabi besar kita Muhammad SAW
yang telah membawa kita dari zaman kegelapan menuju zaman yang terang benderang
seperti sekarang ini.
Kami menyadari bahwa Tak Ada Gading yang Tak Retak begitupula dengan makalah
ini terdapat banyak kekurangan dan kesalahan sehingga jauh dari kesempurnaan. Setelah
dengan kesungguhan hati, maka selesailah penulisan makalah ini dengan judul Bahasa
Assembly, yang diajukan sebagai salah satu tugas dari mata kuliah Pengantar
Microprosesor. Dengan segala kerendahan hati, Penulis mengharapkan saran dan kritik
yang bersifat membangun bagi perbaikan penulisan makalah ini.



Makassar, Juli 2013


Penulis






DAFTAR ISI
KATA PENGANTAR ............................................................................................................................................... 1
DAFTAR ISI .............................................................................................................................................................. 2
BAB I PENDAHULUAN ....................................................................................................................................... 3
1. Latar Belakang .......................................................................................................................................... 3
2. Tujuan........................................................................................................................................................... 3
BAB II PEMBAHASAN .......................................................................................................................................... 4
1. Pengertian Bahasa Assembly .............................................................................................................. 4
2. Contoh Bahasa Assembly .................................................................................................................. 13
3. Kelebihan dan Kekurangan Bahasa Assembly ........................................................................... 20
BAB III KESIMPULAN ....................................................................................................................................... 21
BAB IV DAFTAR PUSTAKA ............................................................................................................................. 22














BAB I PENDAHULUAN

1. Latar Belakang
Bahasa Assembly atau Rakitan diprakarsai oleh IBM pada tahun 1956
1963. Bahasa assembly termasuk bahasa tingkat rendah. Pada tahun 1957, sebuah
tim yang dipimpin oleh John W. Backus berhasil mengembangkan sebuah bahasa baru
yang lebih mengarah pada keperluan untuk menganalisa persoalan numeric. Extensi yang
dihasilkan dari bahasa assembly adalah file dengan extensi Com dan Exe. Secara umum
kedua jenis file tersebut memiliki perbedaan antara program yang berekstensi Com
dan Exe, yang merupakan ukuran luas daerah yang menyebabkan kelainan program
dalam assembler.
Untuk file yang diakhiri dengan extension Com, berarti file itu paling
banyak hanya akan memakan luas 64 kilobyte yang disebut 1 segment, sedangkan
untuk file berekstensi EXE tidak dibatasi berapa segment yang dapat dipakai. Dapat 1
segment, 2segment, 3 segment atau lebih dari 3 segment. Oleh karena COM hanya
memiliki 1 segment. Bahasa assembly adalah bahasa pemrograman mendasar yang sangat
dekat dengan mesin. Konsep perangkat keras dan perangkat lunak dapat dijelaskan secara
konstektual dengan memahami bahasa assembly. Disini akan dijelaskan bagaimana perangkat
keras computer dan sistem operasi bekerja sama dan bagaimana program aplikasi berkomunikasi
dengan system operasi. Untuk memahami keseluruhan computer dan system informasinya,
seseorang perlu memahami perangkat lunak pada berbagai level. Level pertama adalah program
aplikasi. Dalam level ini program berinteraksi dengan DOS. Pada level bahasa tingkat tinggi,
perintah /pernyataan yang andal diuraikan ke dalam instruksi- instruksi mesin. Pada level yang
lebih rendah (lebih dekat dengan mesin), seseorang akan berinteraksi pada instruksi- instruksi
yang dikenali oleh CPU, sebagaimana program berkomunikasi dengan DOS.

2. Tujuan

Tujuan dari penulisan makalah yaitu untuk menambah pengetahuan dan
mengetahui tentang apa itu Bahasa Assembly beserta contohnya.
BAB II PEMBAHASAN

1. Pengertian Bahasa Assembly
Bahasa pemrograman Assembly adalah bahasa pemrograman tingkat rendah yang
digunakan dalam pemrograman computer, mikroprosesor, pengendali mikro, dan
perangkat lainnya yang dapat deprogram. Bahasa rakitan pengimplementasikan
interprestasi atas kode mesin dalam bentuk symbol-simbol yang secara relative lebih dapat
dipahami oleh manusia. Berbeda halnya dengan bahasa-bahasa tingkat tinggi yang berlaku
umum, bahasa rakitan biasanya mendukung secara spesifik untuk suatu apapun beberapa
jenis arsitektur computer tertentu. Dengan demikian portabilitas bahasa rakitan tidak
dapat menandingi bahasa-bahasa lainnya yang merupakan bahasa pemrograman tingkat
tinggi. Namun demikian, bahasa rakitan memungkinkan programmer memanfaatkan
secara penuh kemampuan suatu perangkat keras tertentu yang biasanya tidak dapat
ataupun terbatas bila dibuat dengan menggunakan bahasa pemrograman tingkat tinggi.
Pada bahasa rakitan, programmer umumnya menggunakan sebuah utilitas yang disebut
sebagai perakit (bahasa Inggris : assembler) yang digunakan untuk menerjemahkan kode
dalam bahasa rakitan tersebut kedalam kode mesin untuk perangkat keras tertentu.Sebuah
perintah dalam bahasa rakitan biasanya diterjemahkan menjadi sebuah instruksi.
Bahasa Assembly adalah bahasa yang memudahkan pemahaman bagian computer yang
paling rendah, mendekati mesin. Bahasa assembly sebaiknya dipelajari secara kontektual
sehingga interaksi perangkat keras dan perangkat lunak computer mungkin lebih mudah
dipahami.
Bahasa assembly adalah bahasa pemrograman dengan korespondensi satu-satu
antara perintah-perintah/pertanyaannya dan bahasa mesin computer. Bahasa assembly
tidak satu jenis sebagaimana CPU computer yang bermacam-macam. Setiap bahasa
assembly secara langsung dipengaruhi oleh set intruksi mesin computer dan arsitektur
perangkat keras. Misalnya, bahasa assembly IBM-PC adalah bahasa assembly yang
mengacu pada instruksi-instruksi yang dikenali oleh keluarga mikroprosesor intel 8086-
80486.

Apa itu assembler?
Assembler adalah program yang mengonversi kode program sumber ke dalam bahasa
mesin. Terdapat dua assembler yang dikenal baik untuk IBM-PC , yaitu MASM (Microsoft
Assembler) dan TASM (Turbo Assembler).
Bahasa assembly disebut bahasa level-bawah karena dalam struktur dan fungsi dekat
dengan bahasa mesin. Sebaliknya, bahasa tingkat tinggi seperti Pascal, Basic, Fortran, dan
Cobol mempunyai perintah-perintah yang andal yang diterjemahkan ke dalam berbagai
instruksi mesin oleh compiler.
Ada berbagai alasan mengapa kita mempelajari bahasa assembly. Salah satu alasan
adalah untuk mempelajari arsitektur computer dan system operasi . Alasan lain adalah
kegunaan pemrograman tertentu sulit atau tidak mungkin dikerjakan oleh bahasa tingkat
tinggi . Contoh, komunikasi langsung dengan system operasi computer mungkin
diperlukan. Program grafik warna kecepatan tinggi mungkin harus di tulis menggunakan
memori minimum. program khusus mungkin diperlukan sebagai penghubung antara
printer dengan computer.
Keterbatasan bahasa tingkat tinggi sering juga perlu dihilangkan , di luar keperluan
,menentukan aturan-aturan tentang apa yang di bolehkan dalam program . contoh ,pascal
tidak mengizinkan nilai karakter di beri nilai dala variable integer . pemrogram yang
berpengalaman akan menemukan cara untuk keluar dari batasan ini , tetapi dalam
pelaksanaannya , membuat kode tidak dapat digunakan oleh system computer lain dan
sulit dibaca . Bahasa assembly , sebaliknya , memiliki sangat sedikit batasan atau aturan .
Harga yang harus dibayar untuk keluluasan itu adalah berbagai kerumitan dalam
pemrograman yang perlu ditangani.
1. Aplikasi bahasa assembly
Biasanya kita membuat subrutin dalam bahasa assembly dan memanggilnya dari
program bahasa tingkat tinggi. Keuntungan dapat diperoleh karena katanya bahasa tingkat
tinggi , dengan menggunakan bahasa tingkat rendah dalam membuat aplikasi . subrutin
bahasa assembly menangani operasi-operasi yang tidak tersedia dalam bahasa tingkat
tinggi . Misalnya kita menulis program aplikasi bisnis dlam cobol untuk IBM-PC. Kita
memerluka aplikasi untuk mengecek ruang bebas disk, membuat subdirektorionie, menulis
proteksi file, dan membuat window yang overlap-semuanya dalam satu program.
Missal komfilator cobol tidak dapat melakukan semuanya, kita dapat membuat
subrutin bahasa assembly untuk menangani tugas-tugas tersebut.
2. Bahasa mesin
Sebelum lebih jauh secara rinci membahas bahasa assembly , mari kita lihat dalam
suatu persfektif . computer kenyataannya tidak mengerti bahasa assembly . dia hanya
mengikuti bahasa mesin . bahasa mesin adalah bahasa yang di bangun oleh sejumlah angka
yang dapat diinterpretasikan oleh cpu computer . CPU biasanya mempunyai program kecil
yang di tambahkan langsung ke dalam chip , disebut microcode.Penerjemah microcode
mengubah langsung intruksi-intruksi mesin ke dalam sinyal perangkat keras.
Bahasa mesin memungkinkan untuk melaksakan tugas-tugas umum oleh CPU , seperti
pemindahan bilangan atau perhitungan aritmatik . berikut contoh instruksi bahasa mesin
yang memindahkan angka 5 ke dalam register AL.
1011000000000101
Deretan angka diatas di tulis dalam biner , system penomoran yang dibangun hanya
oleh angka 1 dan 0. Delapan bit pertama adalah kode operasi (opcode) yang
menunjukkannya sebagai intruksi yang memindahkan angka-delapan bit ke register AL.
Delapan bit kedua adalah operand. Instruksi secara keseluruhan memindahkan angka 5
kedalam register AL. Register adalah memori kecepatan tinggi yang berada didalam CPU.
Register diidentifikasikan oleh nama dua huruf, seperti AH, AL, atau AX.
Kumpulan instruksi (instruction set) CPU adalah sekumpulan instruksi mesin yang
dapat dieksekusi CPU. Untuk keluarga CPU Intel, set instruksi adalah down-ward-
compatible, artinya bahwa instruksi yang bekerja pada prosesor level yang lebih rendah
akan bekerja juga pada prosesor yang lebih tinggi. Contohnya : instruksi MOV bekerja pada
8088 dan oleh karena itu harus bekerja pula pada 80286. Akan tetapi, terdapat instruksi
yang lebih maju dalam 80286 yang tidak dapat bekerja pada 8088.



Low Level Language (assembly): bahasa pemrograman yang menggunakan register
sebagai peyimpan data. Contoh: pemrograman untuk menghitung 5+2:
MOV AL,5
ADD AL,2
AL adalah register



Format instruksi assembly

1. Baris pertama adalah instruksi mesin 2 alamat seperti INTEL, artinya
pindahkan/isikan (MOV) ke dalam register AL bilangan 5 heksadesimal
2. Baris kedua instruksi mesin 1 alamat seperti MOTOROLA, atinya pindahkan/isikan
ke dalam Register A bilangan 5 heksadesimal.

3. Elemen Bahasa Asembly
Dalam pemrograman bahasa assembly lebih ditekankan pada system operasi
Microsoft Intel yang seiring dengan perkembangan mikroprosesor 8088/8086.
Perkembangan bahasa assembly tergantung pada linker yang mengubah file *.obj
menjadi *.exe atau *.com. Bahasa assembly dikategorikan sebagai bahasa tingkat
rendah. Hal ini untuk menggambarkan spesifikasi sebagai bahasa yang berorientasi
pada machine dependent. Untuk membandingkan bahasa mesin dan bahasa assembly
menurut karakteristik dibagi 2 bagian :
Mnemonic Operation Code
Simbolic Operand Spesification
4. Skema Assembly
Proses penerjemahan secara sederhana dapat dikelompokkan dalam dua fase, yaitu:
Fase Analisa
a. Memisahkan label, mnemonic operation code dan operand field yang ada pada
statement.
b. Memasukkan symbol yang ditemukan pada label field dan alamat yang dituju
machine word ke dalam symbol table.
c. Melakukan validasi mnemonic operation code dengan melihat pada mnemonic table
d. Menentukan alamat yang dibutuhkan oleh statement berdasarkan pada
mnemonic operation code dan operand field pada statement.
Fase analisis dapat dikelompokkan menjadi beberapa tahap, yaitu :
a. Lexical Analisys
Lexical Analisys adalah menjalankan mikro level examination dari teks
masukan untuk mengenal lexial unit yang ada didalamnya dan menentukan
kategori syntax.
b. Syntax Analisys
Proses Syntac Analisys dilakukan terhadap descriptor dari lexical analisys
untuk menentukan struktur syntax dari statement masukan. Proses tersebut
dikenal dengan PARSING. Output dari parsing adalah representasi dari
struktur syntac suatu statement.
c. Semantic Analisys
Proses semantic analisys dapat diklasifikasikan kedalam proses declarative
statement dan proses eksekusi.

Fase Syntesis
a. Menghasilkan machine operation code yang berkorespodensi dengan mnemonic
operation code yang telah dicari pada mnemonic table.
b. Menghasilkan alamat operand dari symbol table
c. Melakukan syntesis instruksi machine.
Pada fase sysntesis dilakukan pemilihan machine operation code yang sesuai dengan
mnemonic Load dan menempatkan pada machine instruction opcode field. Evaluasi
korespodensi pengalamatan dilakukan untuk operand expression Result + 4.
5. Proses Assembly
Unit dalam sources program digunakan untuk menterjemah semua bagian program.
Ketika fase analisys statement program pertama kali dilakukan, maka proses LC akan
dikerjakan dan symbol yang didefinisikan dalam program dimasukkan ke dalam symbol
table. Untuk mengurangi pengulangan, maka hasil analisis sources statement dari first
pass direpresentasikan dalam internal form pada sources statement yang disebut
intermediate code. Selain membentuk intermediate code, suatu proses assembler juga
membangun struktur database yang digunakan oleh subsequent pass.

6. Bagian Bagian Dari Program Assembler
Berikut ini adalah bagian bagian dari rogram assembler yaitu:
1. Label
Label merupakan suatu simbol yang didefinisikan sendiri oleh pembuat program
untuk menandai lokasi memori pada area program. Simbol dan label adalah dua hal yang
berbeda. Simbol tidak menggunakan titik dua, sedangkan label harus diakhiri dengan titik
dua.
Contoh :
PAR EQU 500 ; PAR Menunjukan suatu simbol
; dari nilai 500
MULAI:
MOV A, #0FFh ; pada label; Mulai nilai 0FFh
; dipindahkan ke Akumulator
Dalam satu baris hanya ada satu label, pada umumnya Assembler membatasi jumlah
karakter yang bisa digunakan hingga 31 karakter.
2. Mnenonik
Mnemonic instruksi atau pengarah Assembler dimasukan dalam Mnemonic field
yang mengikuti label mnemonic. Mnemonic instruksi misalnya ADD, MOV, INC dan lain-
lain.Sedangkan pengarah Assembler misalnya ORG, EQU, DB dan lain-lain.
3. Operand
Operand ditulis setelah mnemonic, bisa berupa alamat atau data yang digunakan
instruksi yang bersangkutan.
Contoh :
MOV A, #20h ; A dan #20h adalah operand
LAGI:
JNB LAGI ; LAGI adalah operand
4. Komentar
Komentar harus diawali dengan titik koma. Sub rutin dari bagian besar program yang
mengerjakan suatu operasi biasanya diawali dengan blok komentar yang menjelaskan
fungsi sub rutin atau bagian besar program tersebut.
5. End
Petunjuk END merupakan kode perintah terakhir yang menunjukan batas akhir dari
proses Assembly.
Instruksi yang sering digunakan dalam pembuatan program yaitu :
a. Instruksi Aritmatik
Instruksi aritmatik selalu melibatkan akumulator dan ada juga beberapa instruksi
yang melibatkan register lain.
Berikut ini contoh instruksiinstruksi arimatika yaitu:


Tabel Instruksi-instruksi Aritmatik
Instruksi Keterangan Contoh
ADD A,Rn
Menambah isi register Rn dengan isi
akumulator lalu disimpan di akumulator
ADD A,R1
ADD A, direct
Menambah isi direct dengan akumulator,
hasilnya disimpan di akumulator
ADD A, 30H
ADD A, #data
Menambahkan immediate data ke
akumulator
ADD A, #20H
ADD A, @Rn
Menambahkan isi dari alamat yang ditunjuk
Rn dengan akumulator
ADD A, @R1
ADDC A, #data
Menambahkan immediate data ke
akumulator dengan carry
ADDC A, #20H
SUBB A, Rn Kurangkan isi register Rn dari akumulator SUBB A, R1
INC A Tambah isi akumulator dengan 1 INC A
DEC A Kurangkan isi akumulator denga 1 DEC A
MUL AB
Kalikan isi A dengan isi B, low-byte disimpan
pada akumulator, dan high byte pada B
MUL AB
DIV AB
Bagi isi A dengan isi B. Akumulator
menerima hasil integer pembagian dan B
menerima integer sisanya.
DIV AB

b. Instruksi Logika
Instruksi Logika ini dipakai untuk melakukan operasi logika, yaitu operasi AND
(instruksi ANL), operasi OR (instruksi ORL), operasi Exclusive-OR (instruksi XRL), operasi
clear (instruksi CLR), instruksi komplemen (instruksi CPL), operasi penggeseran kanan
atau kiri (instruksi RR, RRC, RL dan RLC) serta operasi penukaran data (instruksi SWAP).
Data yang dipakai dalam operasi ini biasanya berupa data yang berada dalam akumulator
atau data yang berada dalam memori data.
c. Instruksi Pemindahan Data
Instruksi instruksi pemindahan data adalah :
Tabel Instruksi instruksi Perpindahan Data
Instuksi Keterangan Contoh
MOV A, Rn Memindahkan isi register Rn ke
akumulator
MOV A, R0
MOV A,direct Memindahkan isi direct byte ke MOV A, 30h
akumulator
MOV A , #data Mengisi akumulator dengan nilai data MOV A,#20h
MOV A, @Rn Mengisi akumulator dengan isi dari
alamat yang ditunjuk oleh Rn
MOV A, @R0

Mode Mode Pengalamatan
1. Mode Pengalamatan Langsung
Dalam pengalamat langsung nilai yang akan disimpan dalam suatu memori diperoleh
secara langsung dengan mengambil dari lokasi memori yang lain.
Contoh :
MOV A,30H ; isi akumulator dengan bilangan 30 heksadesimal
2. Mode Pengalamatan Tak Langsung
Dalam pengalamatan tak langsung, instruksi menentukan suatu register yang
digunakan untuk menyimpan alamat operan
Contoh :
ADD A,R ; Tambahkan isi RAM yang lokasinya ditunjukan oleh register R1 ke
akumulator.
DEC @R1 ; Kurangi satu isi RAM yang alamatnya ditunjukan oleh register R1.
3. Mode Pengalamatan Segera
Cara ini menggunakan konstanta.
Contoh :
MOV A,#20H ; isi akumulator dengan bilangan 20 heksadesimal
Data konstanta merupakan data yang menyatu dengan instruksi, contoh intruksi diatas
mempunyai arti bahwa data konstantanya, yaitu 20H, (sebagai data konstanta harus
diawali dengan # dan tanda H untuk menyatakn format bilangan heksadesimal) disalin ke
Akumulator (A).
4. Mode Pengalamatan Data
Pengalamatan data terjadi pada sebuah perintah ketika nilai operasi merupakan
alamat data yang akan diisi atau yang akan dipindahkan.
Contoh :
MOV P1,A ; isi P1 dari nilai akumulator.
5. Mode Pengalamatan Bit
Pengalamatan bit adalah penunjukkan menggunakan simbol titik (.) yang menunjuk
alamat lokasi bit, baik dalam RAM internal atau perangkat keras.
Contoh :
SETB P1.7 ; set bit port 1.7 high ( pot 1.7 diberi nilai logika 1)

2. Contoh Bahasa Assembly :


Berikut adalah Contoh Sederhana Bahasa Pemrograman Assembly

.MODEL SMALL
.CODE
ORG 100H

AWAL:
MOV CL,30H
JMP PROSES
KAL0 DB 'Ketikkan satu kalimat:$'
KAL1 DB 13,10,'Kalimat yang diinput adalah:$'
KAL2 DB 13,10,'Cetak dari belakang:$',13,10
KAL3 DB 13,10,'panjang string adalah:$'
KALX DB 13,10,'$'
KAL4 DB 13,10,'Jumlah Huruf Vokal:$'
KAL5 DB 13,10,'Jumlah Huruf Konsonan:$'
KATA DB 20,?,20 DUP (?)

VOKAL: INC CL
JMP PLUS

PROSES:
;============= CETAK STRING ================

MOV AH,09H
MOV DX,OFFSET KAL0
INT 21H


;============= INPUT STRING ================

MOV AH,0AH
LEA DX,KATA
INT 21H

;============= CETAK STRING ================

MOV AH,09H
MOV DX,OFFSET KAL1
INT 21H

;============ CETAK VARIABEL STRING DG MODEL COMPARASI ==========

MOV BX,OFFSET KATA+2


CETAK:
MOV DL,[BX]
CMP DL,0DH
JE BELAKANG

MOV AH,02H
INT 21H

CMP DL,'a'
JE VOKAL
CMP DL,'i'
JE VOKAL
CMP DL,'u'
JE VOKAL
CMP DL,'e'
JE VOKAL
CMP DL,'o'
JE VOKAL
CMP DL,'A'
JE VOKAL
CMP DL,'I'
JE VOKAL
CMP DL,'U'
JE VOKAL
CMP DL,'E'
JE VOKAL
CMP DL,'O'
JE VOKAL

PLUS:INC BX
JMP CETAK

;============= CETAK KATA DARI BELAKANG ==================

BELAKANG:MOV AH,09H
MOV DX,OFFSET KAL2
INT 21H
MOV AH,09H
MOV DX,OFFSET KALX
INT 21H

CETAK1:
MOV DL,[BX]
CMP DL,KATA+1
JE VOKAL1

MOV AH,02H
INT 21H
DEC BX
JMP CETAK1


;============ CETAK JUMLAH VOKAL ================

VOKAL1:
MOV AH,09H
MOV DX,OFFSET KAL4
INT 21H

MOV DL,CL
;ADD DL,30H
MOV AH,02H
INT 21H


;============ CETAK JUMLAH KONSONAN ===============

KONSONAN:
MOV AH,09H
MOV DX,OFFSET KAL5
INT 21H

MOV BX,OFFSET KATA+1
MOV DL,[BX]
ADD DL,30H
SUB DL,CL
ADD DL,30H
MOV AH,02H
INT 21H


;============= CETAK PANJANG STRING ================

AKHIR:
MOV AH,09H
MOV DX,OFFSET KAL3
INT 21H

MOV BX,OFFSET KATA+1
MOV DL,[BX]
ADD DL,30H
MOV AH,02H
INT 21H

SELESAI:
INT 20H

END AWAL

Berikut ini adalah list coding bahasa assembly untuk pembuatan password.
org 100hjmp mulaiexit:mulai:
mov dx,offset msg

mov ah,9

int 21h

mov ah,1

int 21h

mov bl,al

mov ah,1

int 21h

mov cl,al

mov ah,1

int 21h

mov dl,al

mov ah,1

int 21h

cmp bl,6ch

je sukses

jmp salah:

cmp cl,6fh

je sukses

jmp salah

cmp dl,76h

je sukses

jmp salah

cmp al,65h

je sukses

jmp salah

salah:

mov dx,offset msg5

mov ah,9

int 21h

mov dx,offset msg6

mov ah,9

int 21h

jmp exit

sukses:

mov dx,offset msg2

mov ah,9

int 21h

mov dx,offset msg3

mov ah,9

int 21h

mov dx,offset msg4

mov ah,9

int 21h

ret

msg db 0dh,0ah, Silahkan masukkan password:,0dh,0ah,$

msg2 db 0dh,0ah, ========>>>>Keyword Success<<<<======== $

msg3 db 0dh,0ah, ========>>>>Password Sukses<<<<======== $

msg4 db 0dh,0ah, ===========>>>>Complete<<<<============ $

msg5 db 0dh,0ah, ==============Password Salah============= $

msg6 db 0dh,0ah, ==============Silahkan coba lagi============= $

3. Kelebihan dan Kekurangan Bahasa Assembly
Kelebihan Bahasa Assembly:
1. Ketika di-compile lebih kecil ukuran
2. Lebih efisien/hemat memori
3. Lebih cepat dieksekusi

Kesulitan Bahasa Assembly:
1. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang
dibanding bahasa tingkat tinggi.
2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu
banyak
3. Lebih sulit dalam melakukan pekerjaan rumit, misalnya operasi matematis










BAB III KESIMPULAN

Bahasa Assembly adalah bahasa yang memudahkan pemahaman bagian computer
yang paling rendah, mendekati mesin. Bahasa assembly sebaiknya dipelajari secara
kontektual sehingga interaksi perangkat keras dan perangkat lunak computer mungkin
lebih mudah dipahami.
Bahasa assembly adalah bahasa pemrograman dengan korespondensi satu-satu
antara perintah-perintah/pertanyaannya dan bahasa mesin computer.
Assembler adalah program yang mengonversi kode program sumber ke dalam
bahasa mesin System bilangan (number system) adalah suatu cara untuk mewakili besaran
dari suatu item fisik. System bilangan terdiri dari: bilangan biner, bilangan decimal,
bilangan octal dan hexadesimal.



















BAB IV DAFTAR PUSTAKA
http://zaifbio.wordpress.com/2013/01/02/pemrograman-bahasa-
assembly-assembler/
http://teguhjrockstar.blogspot.com/2011/06/makalah-assembly.html
http://zaeboardzhu.blogspot.com/2012/02/bahasa-assembly.html