LAPORAN MINGGUAN I MICROPROCESSOR

LAPORAN MINGGUAN 1

PRATIKUM MICROPROCESSOR

Pemrograman Assembler I

 

 

 

NAMA          : WINARNI SARI

NO BP          : 1001081041

PARTNER   : MERLIN KUSUMA EFENDI

                        RENI FATIMAH

KELAS         : TK 2A

PROD           : T.KOMPUTER

JUR               : T.INFORMASI

 

 

POLITEKNIK NEGERI PADANG

2012

Pemrograman Assembler I

  1. A.    Dasar Teori
  2.  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

b. 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>

  1. H (Hexa)

Melaksanakan perintah penambahan dan pengurangan terhadap dua bilangan hexa

C>Debug

-H 2204 2012

4216 01F2

  1. A (assambler)

Perintah untuk menulis program assambler

C>Debug

-a

17C0:0100 mov ax,12

  1. 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

:

  1. N(Name)

Perintah untuk membuat atau merubah nama file

C>Debug

-N D:Coba.com

  1. W(Writing)

Menulis program dan data ke dalam disc

C>Debug

-w

writing 0008 bytes

  1. G (Go)

Menjalankan program (misal program cetak huruf A)

C>Debug

-G

A

Program terminated normally

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

  1. 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]

  1. 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

  1. Int 20h

Int ini mempunyai tugas memberhentikan proses komputer terhadap suatu program COM.

  1. 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.

d. 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. ALAT DAN BAHAN
    1. PC
    2. Utility Debug
      1. PROGRAM PRATIKUM
        1. Melihat Isi Memory
      • Langkah Pengerjaan
      1. Masuk ke RUN > COMMAND > ENTER
      2. DEBUG, enter
      3. A
      4. Ketik MOV CX,05
      5. Ketik MOV AH,02
      6. KetikMOV DL,41
      7. Ketik INT 21
      8. Ketik LOOP 0103
      9. Ketik INT 20
      10. Enter 2 kali
      11. Ketik G (untuk melihat hasil)
      12. Ketik U 100 L 0D (melihat instruksi yang sedang berjalan)
      13. Ketik T (menjalankan program perbaris dengan menampilkan register dipakai)
      • Hasil Output
      • v\:* {behavior:url(#default#VML);}
        o\:* {behavior:url(#default#VML);}
        w\:* {behavior:url(#default#VML);}
        .shape {behavior:url(#default#VML);}

        Normal
        0
        false

        false
        false
        false

        IN
        X-NONE
        X-NONE

        MicrosoftInternetExplorer4

        /* Style Definitions */
        table.MsoNormalTable
        {mso-style-name:”Table Normal”;
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-priority:99;
        mso-style-qformat:yes;
        mso-style-parent:””;
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin-top:0cm;
        mso-para-margin-right:0cm;
        mso-para-margin-bottom:10.0pt;
        mso-para-margin-left:0cm;
        line-height:115%;
        mso-pagination:widow-orphan;
        font-size:11.0pt;
        font-family:”Calibri”,”sans-serif”;
        mso-ascii-font-family:Calibri;
        mso-ascii-theme-font:minor-latin;
        mso-hansi-font-family:Calibri;
        mso-hansi-theme-font:minor-latin;
        mso-bidi-font-family:”Times New Roman”;
        mso-bidi-theme-font:minor-bidi;
        mso-fareast-language:EN-US;}

        1.      Tambah 1

        Ø  Langkah Pengerjaan

        a.Masuk ke RUN > COMMAND > ENTER

        b.DEBUG, enter

        c.A

        d.  Ketik MOV CX,1A

        e.Ketik MOV DL,41

        f.Ketik MOV AH,02

        g.Ketik INT 21 

        h.Ketik INC DL

        i.  Ketik LOOP 0105

        j.  Ketik INT 20

        k.Enter 2 kali

        l.  Ketik G (untuk melihat hasil)

        m.  Ketik U 100 L 0D  (melihat instruksi yang sedang berjalan)

        n.Ketik T (menjalankan program perbaris dengan menampilkan register dipakai

         Hasil Output

  1. Kurang1
  • Langkah Pengerjaan
  1. Masuk ke RUN > COMMAND > ENTER
  2. DEBUG, enter
  3. A
  4. Ketik MOV CX,1A
  5. Ketik MOV DL,5A
  6. Ketik MOV AH,02
  7. Ketik INT 21
  8. Ketik DEC DL
  9. Ketik LOOP 0105
  10. Ketik INT 20
  11. Enter 2 kali
  12. Ketik G (untuk melihat hasil)
  13. Ketik U 100 L 0D  (melihat instruksi yang sedang berjalan)
  14. Ketik T (menjalankan program perbaris dengan menampilkan register dipakai)
  • Hasil Output
    1. Perulangan dan Perbandingan
    • Langkah Pengerjaan

    a. Masuk ke RUN > COMMAND > ENTER

    b.DEBUG, enter

    c. A

    1. Ketik MOV bx,0000

    e. Ketik MOV dl,41

    f. Ketik MOV cx,0003

    g.mov ah,02

    h.Ketik INT 21

    1. Ketik LOOP 0108
    2. Ketik INC DL

    k.Ketik CMP DL,5B

    1. Ketik JNE 0105

    m. Ketik MOV DL,0A

    n.Ketik INT 21

    • o.Ketik INC BX

    p.Ketik CMP BX,000B

    q.Ketik JLE 0103

    1. Ketik INT 20

    s. Enter 2 kali

    1. Ketik G (untuk melihat hasil)

    u.Ketik U 100 L 0D  (melihat instruksi yang sedang berjalan)

    v.Ketik T (menjalankan program perbaris dengan menampilkan register dipakai)

    • Hasil Output
      1. Operasi Stack1
      • Langkah Pengerjaan

      a. Masuk ke RUN > COMMAND > ENTER

      b.DEBUG, enter

      c. A

      1. Ketik MOV AH,02

      e. Ketik MOV CX,1A

      f. Ketik MOV DL,41

      g.Ketik INT 21

      h.Ketik MOV BL,DL

      1. Ketik MOV DL,20
      2. Ketik MOV DL,41

      k.Ketik INT 21

      1. Ketik MOV BL,DL

      m. Ketik INC DL

      n.Ketik LOOP 107

      • o.Ketik INT 20

      p.Enter 2 kali

      q.Ketik G (untuk melihat hasil)

      1. Ketik U 100 L 0D  (melihat instruksi yang sedang berjalan)

      s. Ketik T (menjalankan program perbaris dengan menampilkan register dipakai)

      • Hasil Output

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: