makalah bahasa assembly

29

Click here to load reader

Upload: arayehan

Post on 28-Dec-2015

1.322 views

Category:

Documents


120 download

DESCRIPTION

Makalah Bahasa Assembly

TRANSCRIPT

Page 1: Makalah Bahasa Assembly

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

Page 2: Makalah Bahasa Assembly

DAFTAR ISI

KATA PENGANTAR................................................................................................................................................... 1

DAFTAR ISI................................................................................................................................................................... 2

BAB I PENDAHULUAN............................................................................................................................................ 3

1. Latar Belakang............................................................................................................................................... 3

2. Tujuan............................................................................................................................................................... 4

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

Page 3: Makalah Bahasa Assembly

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

Page 4: Makalah Bahasa Assembly

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

Page 5: Makalah Bahasa Assembly

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

Page 6: Makalah Bahasa Assembly

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.

Page 7: Makalah Bahasa Assembly

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

Page 8: Makalah Bahasa Assembly

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

Page 9: Makalah Bahasa Assembly

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

Page 10: Makalah Bahasa Assembly

                  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 instruksi–instruksi arimatika yaitu:

Page 11: Makalah Bahasa Assembly

Tabel Instruksi-instruksi Aritmatik

Instruksi Keterangan Contoh

ADD A,RnMenambah isi register Rn dengan isi akumulator lalu disimpan di akumulator

ADD A,R1

ADD A, directMenambah isi direct dengan akumulator, hasilnya disimpan di akumulator

ADD A, 30H

ADD A, #dataMenambahkan immediate data ke akumulator

ADD A, #20H

ADD A, @RnMenambahkan isi dari alamat yang ditunjuk Rn dengan akumulator

ADD A, @R1

ADDC A, #dataMenambahkan immediate data ke akumulator dengan carry

ADDC A, #20H

SUBB A, Rn Kurangkan isi register Rn dari akumulator SUBB A, R1INC A Tambah isi akumulator dengan 1 INC ADEC A Kurangkan isi akumulator denga 1 DEC A

MUL ABKalikan isi A dengan isi B, low-byte disimpan pada akumulator, dan high byte pada B

MUL AB

DIV ABBagi 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

Page 12: Makalah Bahasa Assembly

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 :

Page 13: Makalah Bahasa Assembly

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:$'

Page 14: Makalah Bahasa Assembly

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

Page 15: Makalah Bahasa Assembly

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 ==================

Page 16: Makalah Bahasa Assembly

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

Page 17: Makalah Bahasa Assembly

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

Page 18: Makalah Bahasa Assembly

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

Page 19: Makalah Bahasa Assembly

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,”$”

Page 20: Makalah Bahasa Assembly

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

Page 21: Makalah Bahasa Assembly

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.

Page 22: Makalah Bahasa Assembly

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