21
 1 LAPORAN PRATIKUM I MICROPROCESSOR SEMESTER IV Dibuat Oleh : NAMA : AKMAL HIDAYAT (1001081037) PARTNER : RAHMAT HAKIM ZARISTA JURUSAN TEKNOLOGI INFORMASI POLITEKNIK NEGERI PADANG TAHUN 2012/2013

Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

Embed Size (px)

Citation preview

Page 1: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 1/21

 

1

LAPORAN PRATIKUM I

MICROPROCESSOR

SEMESTER IV

Dibuat Oleh :

NAMA : AKMAL HIDAYAT (1001081037)

PARTNER : RAHMAT HAKIM ZARISTA

JURUSAN TEKNOLOGI INFORMASI

POLITEKNIK NEGERI PADANG

TAHUN 2012/2013

Page 2: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 2/21

 

2

BAB 1

PEMROGRAMAN ASSAMBLER 1

1.1 Tujuan

Setelah melakukan praktikum ini diharapkan mahasiswa mampu

1.  Membuat program assambler dengan ekstensi .COM dengan menggunakan debug

2.  Menampilkan dan membaca isi register

3.  Menjelaskan fungsi-fungsi register sebagai pengalamatan data

4.  Menjelaskan instruksi-instruksi dasar pada mikroprosesor X86

5.  Menjelaskan mode alamat efektif dan alamat mutlak 

1.2 Dasar Teori

1.2.1 Bahasa Assambler

Dalam bahasa assembler mempunyai 3 instruksi dasar, yaitu mnemonic opcode), operan 1 dan

operan2 serta komentar (jika diperlukan)

 Mnemonic atau opcode ialah kode yang akan melakukan aksi terhadap operand . Operand 

ialah data yang diproses oleh opcode. Sebuah opcode bisa membutuhkan 1 ,2 atau lebih

operand, kadang juga tidak perlu operand. Sedangkan komentar dapat kita berikan dengan

menggunakan tanda titik koma (;). Berikut contoh jumlah operand yang berbeda beda dalam

suatu assembly.

CJNE R0,#22H, Tasmi ;dibutuhkan 3 buah operand 

 MOVX @DPTR, A ;dibutuhkan 2 buah operand RR A ;1 buah operand 

 NOP ; tidak memerlukan operand 

Semua instruksi tersebut dapat dibagi menjadi lima kelompok menurut fungsinya, yaitu:

  Instruksi Pemindahan Data

  Instruksi Aritmatika

  Instruksi Logika dan Manipulasi Bit

  Instruksi Percabangan 

  Instruksi Stack, I/O, dan Kontrol 

Page 3: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 3/21

 

2

1.2.2 Debug dan Interupt

A. Debug

Debug adalah suatu utiliti dalam DOS yang digunakan untuk membuat pemrograman

assambler dengan format ekstensi COM.

Perintah-perintah debug antara lain :

1.  Q (Quit)

Mengembalikan ke dos prompt

C> Debug

-Q

A> 

2.  H (Hexa)Melaksanakan perintah penambahan dan pengurangan terhadap dua bilangan hexa

C>Debug

-H 2204 2012

4216 01F2

3.  A (assambler)

Perintah untuk menulis program assambler

C>Debug

-a

17C0:0100 mov ax,12 

4.  R(Register)

Digunakan untuk mengetahui isi masing-masing register

C>debug

-r

AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=17C0 ES=17C0 SS=17C0 CS=17C0 IP=0100 NV UP EI PL NZ NA PO NC

17C00:0100 B81200 mov ax,12

Perintah ini juga bisa untuk mengetahui atau memperbaharui isi register tertentu

C>Debug

rCX

CX 0000

:0100

C>Debug

rCX

CX 0100

:

5.  N(Name)

Page 4: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 4/21

 

3

Perintah untuk membuat atau merubah nama file

C>Debug

-N D:Coba.com

6.  W(Writing)

Menulis program dan data ke dalam disc

C>Debug

-w

writing 0008 bytes 

7.  G (Go)

Menjalankan program (misal program cetak huruf A)

C>Debug

-G

A

Program terminated normally 

8.  T(Trace)

Menjalankan program perbaris dengan menampilkan register dipakai

C>Debug

-T

AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=17C0 ES=17C0 SS=17C0 CS=17C0 IP=0100 NV UP EI PL NZ NA PO NC

17C00:0100 B81200 mov ax,12

9.  U (Unsamble)

Menampilkan list dari program yang sedang berjalan

U[tempat awal program yang diinginkan]L[panjang program/1 byte akhir dari alamat

akhir program]

B. Interupt (Int)

Perintah ini merupakan pemanggilan subroutin yang sudah tersedia di memori komputer

Subroutine yang dapat dipanggil menggunakan perintah int (Interup) terdiri dari dua jenis

yaitu:

1.  Bios Interrupt, yaitu Int yang disediakan oleh BIOS(Basic Input Output System). Int

yang termasuk dalam Interrupt Bios adalah Int 0 hingga 1F hexa

2.  DOS Interrupt yaitu Int yang disediakan oleh DOS (Disk Operation System). Yang

termasuk dalam Interrupt ini adalah Interrupt diatas 1F hexa

Interupt DOS yang sering digunakan adalah Int 20h dan Int 21h service 02h

a.  Int 20h

Page 5: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 5/21

 

4

Int ini mempunyai tugas memberhentikan proses komputer terhadap suatu program

COM.

b.  Int 21h service 21h

Int 21h mempunyai banyak tugas sehingga dibagi menjadi berbagai macam service

number. Service 02h merupakan bagian tugas Int 21h yang sering dipakai yaitu untuk 

mencetak sebuah huruf ke monitor.

Untuk menjalankan fungsi Int 21h service 02h harus memenuh syarat sebagai berikut:

1.  Register AH harus berisi service number dari Int 21h yang akan dijalankan (02h)

2.  Register DL, harus berisi bilangan hexa dari karakter ASCII yang akan dicetak.

C. Instruksi-Instruksi Dasar

1. Instruksi Pengalamatan

MOV tujuan,asal (tujuan: register/memori, asal:angka/register/memori)

Misal MOV AX,1234H (register AX diisi angka 1234 H)

2. Instruksi Penjumlahan

INC tujuan

Misal INC DX (DX = DX+1)

ADD tujuan,asal

Misal ADD AX,1234 (AX=AX+1234H)

3. Instruksi Pengurangan

DEC tujuan

Misal DEC AX (AX=AX-1)

SUB tujuan,asal

Misal SUB AX,1200H (AX = AX-1200H)

1.3 Alat dan Bahan

Alat-alat yang digunakan adalah

1.  PC

2.  Utility Debug

1.4 Pengujian

A. Kerja 1 Menggunakan Debug.com

Page 6: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 6/21

 

5

Langkah Kerja:

Berikut ini langkah membuat program untuk mencetak huruf A dengan utiliti DEBUG.COM

1.  Klik  start, dari tampilan menu pilih Run. Ditampilan menu Run, ketik  command dan

selanjutnya pilih OK 

2.  Dari layar DOS prompt yang muncul, tukar folder “document and settings” ke folder compiler 

untuk mikroprosessor 8088, seperti yang tampak pada gambar 1.1 

Gambar 1 Tampilan Command Prompt

3.  Ketik Debug (huruf besar atau kecil tidak berpengaruh)

Gambar 2 Tampilan Pemanggilan utiliti Debug

4.  Ketik A/a

Gambar 3 Tampilan Perintah A (assambler)

5.  Tulis program berikut

MOV AH,02, Kemudian tekan Enter

MOV DL,41, tekan Enter 

INT 21, tekan Enter 

INT 20, tekan Enter 2 kali 

Maka tertampil sebagai berikut

Gambar 4 Tampilan Program

Keterangan program:

Page 7: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 7/21

 

6

-  Mov ah,02 adalah mengisi register ah dengan service number dari int 21 untuk 

mencetak 1 huruf pada layar.

-  Mov dl,41 mengisi register dl dengan 41 yang merupakan Kode ASCII dari huruf A

-  Int 21 ; perintah mencetak 

-  Int 20 perintah untuk menghentikan program

6.  Periksa panjang program dan memperbaharui isi register CX yang merupakan tempat

penampungan panjang program yang aktif sebelum dijalankandengan mengetikkan rcx

dan isi kursor dengan angka 8

Gambaran 5 Tampilan Perintah RCX

7.  Beri nama program dengan mengetikkan N(nama file.COM)

Misal : Ncoba.com

Gambar 6 Tampilan Pemberian Nama Program

8.  Pastikan register IP menunjuk alamat awal program yang akan dijalankan, dengan cara

mengetikkan rIP dan pastikan berisi 0100 (alamat offset), jika sudah terisi dengan benar

Enter, kalau tidak ketik pada kursor 0100

.

Gambar 7 Tampilan Cek Isi Register IP

9.  Simpan program dengan mengetikkan perintah W

Page 8: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 8/21

 

7

Gambar 8 Tampilan Perintah W

10. Jalankan program dengan mengetikkan perintah G

Gambar 9 Tampilan Output Program

Hasil tercetak huruf A kemudian ada pemberitahuan bahwa program berhenti secara

normal

11. Cek perbaris program dengan mengetikkan perintah T

Gambar 10 Tampilan Perintah Trace (T)

Pada baris terakhir tertulis B241 yang merupakan opcode dari perintah mov dl,41

12. Kemudian ketik T 2 kali, maka akan terlihat sebagai berikut

Gambar 11 Tampilan Perintah Trace ke 2 dan ke 3

Pada baris terakhir tertulis opcode dari perintah int 21

Page 9: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 9/21

 

8

13. Keluar dari utiliti Debug dengan ketik Q dan Panggil ulang program, dengan ketik 

coba.com

Gambar 12 Tampilan Pengujian Program

B. Kerja 2 Melihat Isi Memori

Langkah Kerja :

1.  Jika sudah berada di debug.com ulangi langkah 4 dan ketik program berikut, beri nama

MOV CX,05

MOV AH,02

MOV DL,41

INT 21

LOOP 0103

INT 20

Enter 2 kali

2. 

Lihat hasil program dengan ketikkan g

Page 10: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 10/21

 

9

3.  Kemudian Ketik U 100 L 0d dan isi tabel berikut

Tabel 1 Tabel Instruksi

ALAMAT INSTRUKSI OPCODE KETERANGAN

SEGMEN OFFSET

1409 0100

MOV CX, 0005

B90500 Isi Reg CX,

untuk perulangan

sebnyak 5 kali.

1409 0103

MOV AH, 02

B402 mengisi registerah dengan

service number

dari int 21 untuk 

mencetak 1 huruf 

pada layar.

1409 0105

MOV DL, 41

B241 Isi Reg dl,

dengan kode asci

41,

1409 0107 INT 21 CD21 Perintah cetak 

1409 0109LOOP 0103

E2F8 Mengulangmencetak 1 huruf 

kembali

1409 010B INT 20 CD20 Perintah berhenti

Page 11: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 11/21

 

10

4.  Gunakan perintah Trace (T) dan isi tabel berikut

Tabel 2 Isian Register

ALAMAT REGISTER

SEGMEN OFFSET AX BX CX DX SP IP

1409 0103 0000 0000 0005 0000 FFEE 0103

1409 0105 0200 0000 0005 0000 FFEE 0105

1409 01070200

0000 0005 0041 FFEE 0107

00A7 107C 0200 0000 0005 0041 FFE8 107C

00A7 107D 0200 0000 0005 0041 FFE8 107D

00A7 10JE 0200 0000 0005 0041 FFE8 107E

C . Operasi Aritmatika

1.  Tulis program untuk menampilkan huruf A s/d Z berikut dan beri nama tambah1.com

MOV CX,1AMOV DL,41

MOV AH,02

INT 21

INC DL

LOOP 0105

INT 20

Page 12: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 12/21

 

11

2.  Buat tabel seperti tabel 1. dan 2

Tabel 1 Instruksi

ALAMAT INSTRUKSI OPCODE KETERANGAN

SEGMEN OFFSET

1410 0100

MOV CX, 001A

B91A00 .Isi Reg CX,

untuk perulangan

26 kali.1410 0103MOV DL, 41

B241 Isi reg dl, dengan

kode asci 41

1410 0105

MOV AH, 02

B402 Isi register ah,

untuk mencetak 1

huruf pada layar.

1410 0107 INT 21 CD21 Perintah cetak 

1410 0109

INC DL

FEC2 Melakukan

penambhan 1 kali

terhadap kode

asci pada reg dl.

1410 010BLOOP 0105

E2F8 Prosesperulangan.

Tabel 2 Isian Register

ALAMAT REGISTER

SEGMEN OFFSET AX BX CX DX SP IP

1410 0103 0000 0000 001A 0000 FFEE 0103

1410 0105 0000 0000 001A 0041 FFEE 0105

1410 0107 0200 0000 001A 0041 FFEE 0107

00A7 107C 0200 0000 001A 0041 FFE8 107C

00A7 107D 0200 0000 001A 0041 FFE8 107D

00A7 107E 0200 0000 001A 0041 FFE8 107E

Page 13: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 13/21

 

12

3.  Tulis program berikut dan beri nama kurang1.com

MOV CX,1AMOV DL,5A

MOV AH,02

INT 21

DEC DL

LOOP 0105

INT 20

Kemudian Ketik U 100 L (lihat bit awal dari alamat akhir program) dan buat tabel seperti

tabel 1. dan 2

Tabel 1 Instruksi

ALAMAT INSTRUKSI OPCODE KETERANGAN

SEGMEN OFFSET

1409 0100

MOV CX, 001A

B91A00 .Isi Reg CX,

untuk perulangan

26 kali.

1409 0103MOV DL, 41

B241 Isi reg dl, dengan

kode asci 41

1409 0105

MOV AH, 02

B402 Isi register ah,

untuk mencetak 1

huruf pada layar.

1409 0107 INT 21 CD21 Perintah cetak 

1409 0109

DEC DL

FEC2 Melakukan

pengurangan 1

kali terhadap

kode asci pada

reg dl.

1409 010B

LOOP 0105

E2F8 Proses

perulangan.

Page 14: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 14/21

 

13

Tabel 2 Isian Register

ALAMAT REGISTER

SEGMEN OFFSET AX BX CX DX SP IP

1409 0103 0000 0000 001A 0000 FFEE 0103

1409 0105 0000 0000 001A 005A FFEE 0105

1409 0107 0200 0000 001A 005A FFEE 0107

00A7 107C 0200 0000 001A 005A FFE8 107C

00A7 107D 0200 0000 001A 005A FFE8 107D

00A7 107E 0200 0000 001A 005A FFE8 107E

D. Operasi Lompat dan perbandingan

Tulis program berikut

MOV BX,0000

MOV DL,41

MOV CX,0003

MOV AH,02

INT 21

LOOP 0108

INC DL

CMP DL,5B

JNE 0105

MOV DL,0D

MOV AH,02

INT 21

MOV DL,0A

INT 21

INC BX

CMP BX,000B

JLE 0103

INT 20

Kemudian Ketik U 100 L (lihat bit awal dari alamat akhir program) dan buat tabel seperti

Page 15: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 15/21

 

14

Tabel 1 Instruksi

ALAMAT INSTRUKSI OPCODE KETERANGAN

SEGMEN OFFSET

1410 0100 MOV BX,0000 BB0000 Isi register BX,

1410 0103

MOV DL,41

B241 Isi Reg DL,

dengan kode asci

41.

1410 0105MOV CX,0003

B90300 Isi Reg CX,dengan 3, untuk 

perulangan

1410 0108

MOV AH,02

B402 Isi register ah,

untuk mencetak 1

huruf pada layar.

1410 010A INT 21 CD21 Perintah Cetak 

1410 010CLOOP 0108

E2FA Loop Reg AH,

cetak kembali

Tabel 2 Isian Register

ALAMAT REGISTER

SEGMEN OFFSET AX BX CX DX SP IP

1410 0103 0000 0000 0000 0000 FFEE 0103

1410 0105 0000 0000 0000 005A FFEE 0105

1410 0108 0000 0000 0003 0041 FFEE 0108

1410 010A 0200 0000 0003 0041 FFEE 010A

00A7 107C 0200 0000 0003 0041 FFE8 107C

00A7 107D 0200 0000 0003 0041 FFE8 107D

Page 16: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 16/21

 

15

E. Operasi Stack 

1.  Tulis program berikut

MOV AH,02MOV CX,1A

MOV DL,41

INT 21

MOV BL,DL

MOV DL,20

INT 21

MOV DL,BL

INC DL

LOOP 107

INT 20

Kemudian Ketik U 100 L (lihat bit awal dari alamat akhir program).

2.  Tulis program berikut

MOV AH,02

MOV CX,1AMOV DL,41

INT 21

PUSH DX

MOV DL,20

INT 21

POP DX

INC DL

LOOP 107

INT 20

Kemudian Ketik U 100 L (lihat bit awal dari alamat akhir program).

Page 17: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 17/21

 

16

1.5. Pertanyaan

1.  Dari program-program yang sudah ditulis dan diuji apa fungsi dari register

AX,BX,CX,DX,SP,IP,DS,SS,ES,CS

Jawaban :

AX merupakan register yang menyimpan code program untuk mengisi program.

BX merupakan register yang digunakan untuk menyimpan code operasi lompat dan

perbandingan.

CX merupakan register yang menyimpan code perulangan dari program.

DX merupakan register yang menyimpan code object(karakter/kalimat) dari

program.

SP

merupakan sebuah Segment

IP,DS,SS,ES,CS merupakan sebuah offset.

2.  Apa yang bisa disimpulkan dari tabel 1.1 sampai dengan tabel terakhir

  Masing-masing instruksi mempunyai Opcode masing-masing seperti yang terlihat di

dalam table.

Page 18: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 18/21

 

17

  Dapat dilihat di dalam tabel intruksi bahwa pada alamat segmentnya akan bernilai

sama sampai program selesai, sedangkan untuk alamat offset, ia melakukan

perulangan dimana ada penambahan 2 bit untuk code program berikutnya.

  Dapat dilihat di dalam table register yang telah dibuat diatas, tabel register hampir

sama dengan table isian tegister diamana alamatnya bernilai tetap selama masih belum

NOP saat di tracekan(T).

  Apabila sudah NOP setelah di tracekan maka untuk alamat segmentnya akan lebih

kecil sedangkan alamat OFF setnya akan bernilai besar.

  Titiap code program yang difunakan mempunyai OPCODE yang beda-beda pada

masing-masing code program yang digunakan

3.  Buat program untuk menampilkan

1*1 = 1

2*1 = 2

Page 19: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 19/21

 

18

4.  Buat program untuk menampilkan

1:1 = 1

2:1 = 2

1.6 Referensi

1.  Lukito, Ediman, 1982, Dasar-dasar Pemrograman Dengan Assambler 8088, PT Elex

Media Komputindo, Jakarta

2. 

Mulyono, Heri, 2005, Diktat Kuliah Bahasa Rakitan, STMIK Jaya Nusa, Padang3.  Partoharsodjo, Hartono, 1991, Tuntunan Praktis Pemrograman Bahasa Assembly, PT

Elex Media Komputindo, Jakarta

Page 20: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 20/21

 

19

1.7 Kesimpulan

1.  Ada beberapa Instruksi-instruksi yang di gunakan untuk membuat program

diantaranya adalah sebagai berikut.

  Instruksi MOV berfungsi untuk pengalamatan terhadap register-register.

  Instruksi INC berfungsi untuk penjumlahan.

  Instruksi DEC berfungsi untuk pengurangan.

  Instruksi LOOP berfungsi untuk proses pengulangan.

  Int 21 berfungsi untuk perintah mencetak 

  Int 20 adalah perintah untuk menghentikan program

2. 

Untuk menampilkan karakter atupun huruf kita perlu mengetahui ASCII darikarakter yang akan di tampilkan atau gunakan offset “label” untuk mencetak 

kalimat

3.  Program assembler merupakan program yang mengguanakan perintah DEBUG

yang bekerja pada DOS.

4.  Dalam program assembler, terdapat banyak intruksi dan fugnsi yang dapat

digunaan untuk menampilkan karakter ataupun kalimat.

1.8 Analisa

  Ketika ingin membuat sebuah program yang akan mencetak 1 huruf A, langkah yang

harus kita lakukan adalah. Mengisi Register AH, dengan angka 2, angka 2 ini

merupakan service number dari interrupt 21.

  Setelah Itu Isi Register DL, dengan kode asci 41, yang mana 41 ini mewakili huruf 

„A‟.

  Selanjutnya baru jalankan perintah mencetak dengan int 21. Dan untuk 

menghentikannya ketik int 20.

  Ternyata masing-masing Instruksi yang di jalankan memiliki opcode yang berbeda-

beda, untuk melihatnya Ketik T (Trace)

  Jika di lihat pada table intruksi yang terdapat Alamat Segment yang sama untuk setiap

intruksi yang digunakan dalam membuat program misalnya untuk intruksi awal

Alamat segmentnya [1410] maka untuk intruksi berikutnya alamat segmentnya sama

[1410 juga

  Sedangkan untuk Alamat Offsetnya nilainya bertambah 2 dimana untuk intruksi awal

alamat Offsetnya [0100] maka untuk intruksi berkutnya alamat offsetnya menjadi

[0103] dan begitu juga seterusnya.

Page 21: Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1

5/16/2018 Akmal Hidayat_1001081037_Laporan 1_Pemrograman Assambler 1 - slidepdf.com

http://slidepdf.com/reader/full/akmal-hidayat1001081037laporan-1pemrograman-assambler-1 21/21

 

20

  Jika di lihat pada table isian register yang merupakan hasil dari trace program, dimana

untuk trace (T) pertama merupakan proses memulai penginputan ke register terlihat

karena register AX masih [0000] namun untuk register CX akan mencetak berapa

benyak perulangan yang dilakukan pada program misalnya[001A] maka akan terlihat

CX=001A.

  Prose trace (T) adalah merupakan proses penginputan program yang akan di tampilkan

terlihat karena AX=0200 yang merupakan awal memulai program dan DX=0031 yang

merupakan register untuk mencetak ASCII dimana disini yang akan dicetak adalah

angka “1” karena 0031 merupakan ASCII dari angka “1”.