Jumat, Maret 30, 2012

LAPORAN PRATIKUM 1 MICROPROSESOR

Disusun oleh:
Dwiki Arlan (1001083029)
 Sukma Hayati (1001083030)
 
Kelas : TK2M
    Tujuan
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
Dasar Teori:
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
       2.  Debug dan Interupt
A. Debug
Debug adalah suatu utiliti dalam DOS yang digunakan untuk membuat pemrograman assambler dengan format ekstensi COM.
B. Interupt (Int)
     Perintah ini merupakan pemanggilan subroutin yang sudah tersedia di memori           computer.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
Int ini mempunyai tugas memberhentikan proses komputer terhadap suatu program.
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.
3. 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)   
Langkah Kerja:
Berikut ini langkah membuat program :
1.   Klik start, dari tampilan menu pilih Run. Ditampilan menu Run, ketik command dan selanjutnya pilih OK
2.   Kemudian ketik Debug (huruf besar atau kecil tidak berpengaruh)
3.   Ketik A/a
4.   Kemudisn tulis programnya
5.   Jalankan program dengan mengetikkan perintah G
6.   Kemudian ketik U 0100 L (dua digit terakhir dari alamat akhir program) dari hasil inilah kita dapat mengisi table Instruksi
7.   Ketik perintah T untuk mengecek program perbarisnya, dari hasil inilah kita dapat mengisi table Register
8.   Ketik Q untuk keluar dari utility Debug
OUTPUT DAN CONTOH PROGRAM
   Contoh Program 1 :
          MOV  AH,O2
          MOV DL,41
          INT    21
          INT    20
TABEL INSTRUKSI
Alamat
Instruksi
Opcode
Keterangan
Segmen
offset
14E2
0100
MOV
B402
AH,02
14E2
0102
MOV
B241
DL,41
14E2
0104
INT
CD21
21
14E2
0106
INT
CD20
20
TABEL REGISTER
Alamat
INSTRUKSI
Segmen
Offset
AX
BX
CX
DX
SP
IP
14E2
0102
0200
0000
0000
0000
FFEE
0102
14E2
0104
0200
0000
0000
0041
FFEE
0104
  Contoh program 2 :
          MOV  CX,18
          MOV  AH,07
          MOV  DL,43
          INT    21
          LOOP          0120
          INT    20
TABEL INSTRUKSI
Alamat
Instruksi
Opcode
Keterangan
Segmen
Offset
14E2
0100
MOV
B91800
CX,0018
14E2
0103
MOV
B407
AH,07
14E2
0105
MOV
B243
DL,43
14E2
0107
INT
CD21
21
14E2
0109
LOOP
E215
0120
14E2
010B
INT
CD20
20
TABEL REGISTER
Alamat
INSTRUKSI
Segmen
Offset
AX
BX
CX
DX
SP
IP
14E2
0103
0000
0000
0018
0000
FFEE
0103
14E2
0105
0700
0000
0018
0000
FFEE
0105
14E2
0107
0700
0000
0018
0043
FFEE
0107
  Contoh Program 3 :
          MOV  CX,1A
          MOV  DL,41
          MOV  AH,02
          INT    21
          INC   DL
          LOOP          0105
          INT    20
TABEL INSTRUKSI
Alamat
Instruksi
Opcode
Keterangan
Segmen
Offset
14E2
0100
MOV
B91A00
CX,001A
14E2
0103
MOV
B241
DL,41
14E2
0105
MOV
B402
AH,02
14E2
0107
INT
CD21
21
14E2
0109
INC
FEC2
DL
14E2
010B
LOOP
E2F8
0105
14E2
010D
INT
CD20
20
TABEL REGISTER
Alamat
INSTRUKSI
Segmen
Offset
AX
BX
CX
DX
SP
IP
14E2
0103
0000
0000
001A
0000
FFEE
0103
14E2
0105
0000
0000
001A
0041
FFEE
0105
14E2
0107
0200
0000
001A
0041
FFEE
0107
  Contoh Program 4 :
          MOV  CX,1A
          MOV  DL,5A
          MOV  AH,02
          INT    21
          INC   DL
          LOOP          0105
          INT    20
TABEL INSTRUKSI
Alamat
Instruksi
Opcode
Keterangan
Segmen
Offset
14E2
0100
MOV
B91A00
CX,001A
14E2
0103
MOV
B25A
DL,5A
14E2
0105
MOV
B402
AH,02
14E2
0107
INT
CD21
21
14E2
0109
DEC
FEGA
DL
14E2
010B
LOOP
E2F8
0105
14E2
010D
INT
CD20
20
TABEL REGISTER
Alamat
INSTRUKSI
Segmen
Offset
AX
BX
CX
DX
SP
IP
14E2
0103
0000
0000
001A
0000
FFEE
0103
14E2
0105
0000
0000
001A
005A
FFEE
0105
14E2
0107
0200
0000
001A
005A
FFEE
0107
  Contoh Program 5 :
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
TABEL INSTRUKSI
Alamat
Instruksi
Opcode
Keterangan
Segmen
Offset
14E2
0100
MOV
BB0000
BX,0000
14E2
0103
MOV
B241
DL,41
14E2
0105
MOV
B90300
CX,0003
14E2
0108
MOV
B402
AH,02
14E2
010A
INT
CD21
21
14E2
010C
LOOP
E2FA
0108
14E2
010E
INC
FEC2
DL
14E2
0110
CMP
80FA5B
DL,5B
14E2
0113
JNZ
75F0
0105
14E2
0115
MOV
B20D
DL,0D
14E2
0117
MOV
B402
AH,02
14E2
0119
INT
CD21
21
14E2
011B
MOV
B20A
DL,0A
14E2
011D
INT
CD21
21
14E2
011F
INC
43
BX
14E2
0120
CMP
83FB0B
BX, +0B
14E2
0123
JLE
7EDE
0103
14E2
0125
INT
CD20
20
               
TABEL REGISTER
Alamat
INSTRUKSI
Segmen
Offset
AX
BX
CX
DX
SP
IP
14E2
0103
0000
0000
0000
0000
FFEE
0103
14E2
0105
0000
0000
0000
0041
FFEE
0105
14E2
0108
0000
0000
0003
0041
FFEE
0108
14E2
010A
0200
0000
0003
0041
FFEE
010A
  Contoh Program 6 :
                MOV     AH,02
                MOV     CX,1A
                MOV     DL,41
                INT       21
                MOV     BL,DL
                MOV     DL,20
                INT       21
                MOV     DL,BL
                INC       DL
                LOOP   107
                INT       20
TABEL INSTRUKSI
Alamat
Instruksi
Opcode
Keterangan
Segmen
Offset
14E2
0100
MOV
B402
AH,02
14E2
0102
MOV
B91A00
CX,001A
14E2
0105
MOV
B241
DL,41
14E2
0107
INT
CD21
21
14E2
0109
MOV
88D3
BL,DL
14E2
010B
MOV
B220
DL,20
14E2
010D
INT
CD21
21
14E2
010F
MOV
88DA
DL,BL
14E2
0111
INC
FEC2
DL
14E2
0113
LOOP
E2F2
0107
14E2
0115
INT
CD20
20
TABEL REGISTER
Alamat
INSTRUKSI
Segmen
Offset
AX
BX
CX
DX
SP
IP
14E2
0102
0200
0000
0000
0000
FFEE
0102
14E2
0105
0200
0000
001A
0000
FFEE
0105
14E2
0107
0200
0000
001A
0041
FFEE
0107
  Contoh Program 7 :
          MOV AH,02
          MOV  CX,1A
          MOV  DL,41
          INT    21
          PUSH          DX
          MOV  DL,20
          INT    21
          POP   DX
          INC   DL
          LOOP          107
          INT    20
TABEL INSTRUKSI
Alamat
Instruksi
Opcode
Keterangan
Segmen
Offset
14E2
0100
MOV
B402
AH,02
14E2
0102
MOV
B91A00
CX,001A
14E2
0105
MOV
B241
DL,41
14E2
0107
INT
CD21
21
14E2
0109
PUSH
52
DX
14E2
010A
MOV
B220
DL,20
14E2
010C
INT
CD21
21
14E2
010E
POP
5A
DX
14E2
010F
INC
FEC2
DL
14E2
0111
LOOP
E2F4
0107
14E2
0113
INT
CD20
20
TABEL REGISTER
Alamat
INSTRUKSI
Segmen
Offset
AX
BX
CX
DX
SP
IP
14E2
0102
0200
0000
0000
0000
FFEE
0102
14E2
0105
0200
0000
001A
0000
FFEE
0105
14E2
0107
0200
0000
001A
0041
FFEE
0107

Pages

Followers


I made this widget at MyFlashFetish.com.