LAPORAN MINGGUAN 2 MICROPROCESSCOR

LAPORAN MINGGUAN 2

PRATIKUM MICROPROCESSOR

Pemrograman Assembler II

 

 

 

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 II

  1. A.    Dasar Teori

Secara umum struktur penulisan suatu segment dapat dilukiskan sebagai berikut:

[Nama Segment] segment

ASSUME CS:[Segment] DS:[Segment] SS:[Segment] ES:[Segment]

Org 100h

[label]: [Program ASM]

[nama segment] ends

End [label]

Penulisan awal program juga ditentukan oleh ekstensi program COM atau EXE

Pada Penulisan program .COM  pemberian Org 100h, merupakan awal mulai menulis program pada alamat 100h. Hal ini hanya berlaku untuk program yang berektensikan com, karena 100h alamat sebelum digunakan untuk PSP (program segment prefiks). Disamping itu juga Org menujuk lokasi memori tertentu dari suatu segment.

Penulisan Assume cukup dituliskan 1 segmen saja, yaitu

Assume CS:Code_Seg

Tetapi bila menuliskan program .EXE, penulisan segmen harus benar-benar menunjukkan arah yang benar, contoh:

Assume CS:Code_Seg DS:Data_Seg SS:Stack_Seg ES:0b800h

Org 0h

Syarat Label:

–          Harus unik

–          Maksimal 31 karakter

–          Karakter yang boleh digunakan:

  • Alphabet
  • Angka
  • Tanda Dollar ($)
  • Tanda Tanya (?)
  • Titik (.)
  • Tanda satuan (@)

–          Bukan merupakan suatu perintah assambler

–          Label hanya dapat didefinisikan satu kali dalam program

Mendefinisikan variabel

Pada bahasa assambler, variabel dibagi menjadi 2 jenis:

  1. variabel yang dapat dimodifikasi isinya
  2. variabel yang tidak dapat dimodifikasi isinya

Variabel yang dapat dimodifikasi isinya

Variabel ini adalah variabel yang memakan tempat pada memori.

Adapun besaran-besaran variabel tersebut adalah

–          DB (Define Byte), mendefinisikan variabel per Byte

–          DW (Define Word), mendefinisikan variabel per Word (2 Byte)

–          DD (Define Double Word) mendefinisikan variabel per 2 Word (4 Byte)

Tata penulisan variabel jenis ini adalah

Label (DB/DW/DD) [Isi Variabel]

Contoh

Satu db ‘Aku adalah anak gembala $’

Dua db 1234h

Tiga db 12h

Variabel yang tidak dapat dimodifikasi isinya

Variabel ini digunakan untuk menggantikan besaran tertentu dengan menggunakan kata equ dan variabel ini tidak menggunakan memori.

Contoh penggunaan variabel ini adalah

Satu equ 2190h

Dua equ 2323h

Int 21h service number 09h

Interupt ini digunakan untuk mencetak suatu kalimat, dengan syarat-syarat sebagai berikut

–          Masukkan service number interupt pada register AH

–          Masukkan segment dari variabel tempat menampung kalimat yang akan dicetak ke register DS dan offsetnya ke register DX.

–          Kalimat yang akan dicetak harus diakhiri dengan tanda $ (dollar)

 

  1. B.      Alat dan Bahan

Alat dan bahan (perangkat lunak) yang digunakan adalah

–          PC

–          Perangkat lunak Turbo Assambler

  1. C.    PRATIKUM
    1. 1.      Membuat aplikasi program

Langkah-langkahnya adalah :

  1. Masuk ke run > cmd > enter > edit. Ketikkan kode program dibawah ini

Code_seg segment

Assume CS:Code_seg

Org 100h

 

Start: jmp hapus

kunci db ‘Masukkan Password : $’

betul db 13,10,’Password Anda Betul’,13,10,’$’

salah db 13,10,’Password Anda Salah’,13,10,’$’

hapus:        mov ah,07h

mov ch,00

mov cl,00

mov dh,56

mov dl,100

mov bh,07h

int 10h

input:         mov ah,09h

mov dx,offset kunci

int 21h

mov ah,01h

int 21h

cmp al,’A’

je keluar

mov ah,09h

mov dx,offset salah

int 21h

loop input

keluar:       mov ah,09h

mov dx,offset betul

int 21h

int 20h

Code_seg Ends

End Start

  1. Klik menu file > save as (tempatkan file pada direktori>. File > exit

Kembali ke : system DOS

Ketik TASM (nama file).asm

Ketik TLINK/T (nama file) enter

Maka file akan berada pada format DOS serta asm, dan obj.

  1. Tampilkan hasil program dengan double klik pada file dengan format DOS.
    1. 1.      Mencetak karakter

    Langkah-langkahnya adalah.

    1. Masuk ke run > cmd > edit. Ketikkan kode program berikut :

    code_seg segment

    assume cs:code_seg

    org 100h

    awal:    mov ah,06h

    mov cx,0

    mov dl,99

    mov dh,100

    mov al,0

    mov bh,07

    int 10h

     

    mov ah,02

    mov bh,0

    mov dh,1

    mov dl,1

    int 10h

    mov ah,09h

    mov al,41h

    mov bl,0ah

    mov cx,1

    mov bh,0

    int 10h

     

    mov ah,02

    mov bh,0

    mov dh,1

    mov dl,2

    int 10h

     

    mov ah,09h

    mov al,42h

    mov bl,0bh

    mov cx,1

    mov bh,0

    int 10h

    int 20h

     

    code_seg ends

    end awal

     

    1. Klik menu file > save as (tempatkan file pada direktori>. File > exit

    Kembali ke : system DOS

    Ketik TASM (nama file).asm

    Ketik TLINK/T (nama file) enter

    Maka file akan berada pada format DOS serta asm, dan obj.

    1. A.    PERTANYAAN
      1. 1.      Interupt apa saja yang digunakan :
        1. Int 20h

                Int ini mempunyai tugas memberhentikan proses komputer terhadap            suatu program.

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

    1. Int10h

    Int 10h mengubah mode video pada register AL serta mengubah ukuran cursor, contoh dengan cursor jadi satu blok.

    1. Buat aplikasi menampilkan 3 pilihan menu A s/d Z, angka 1 s/d 26 dan A s/d secara diagonal.

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

Membuat Efek Falling Text Dengan Macromedia Flash Profesional Versi 8

  1. Klik Menu File > New > Kilk Flash Document.

 

 

 2. Ubah Parameter Canvas Dengan 350 X 100, Frame 30.

 3. Menu Window > Align > Atur Posisi Text Di Tengah.

 4. Menu Modify > Break Apart.

 5. Menu Modify > Timeline > Distribute To Layers.