Vous êtes sur la page 1sur 7

PERCOBAAN 1

org 0h ljmp Start org 100h Start: mov mov sjmp end Preview : A,P3 P1,A Start

ANALISA : LJMP Start, melompat dan menjalankan program yang berada di dalam label Start. Proses yang terjadi adalah 16 bit dari alamat yang ditentukan oleh addr16 dipindah ke Program Counter sehingga program akan langsung menjalankan instruksi yang ada pada alamat tersebut. MOV A,P3 Melakukan pemindahan data dari Port 3 pada kode operasi kedua dan disimpan di variabel A pada kode operasi pertama. MOV P1,AMelakukan pemindahan data dari variable A pada kode operasi kedua dan disimpan di Port 1 pada kode operasi pertama. SJMP Start, melakukan lompatan ke alamat yang ditentukan oleh rel dengan lompatan maksimum sebesar 128 byte pada label Start Output yang dihasilkan pada Port 1 adalah sama dengan input yang diberikan pada Port 3

PERCOBAAN 2
org 0h ljmp Start org 100h Start: mov sjmp end Preview : P1,#55h Start

ANALISA : LJMP Start, melompat dan menjalankan program yang berada di dalam label Start. Proses yang terjadi adalah 16 bit dari alamat yang ditentukan oleh addr16 dipindah ke Program Counter sehingga program akan langsung menjalankan instruksi yang ada pada alamat tersebut. MOV P1,#55h Melakukan pengisian data berupa 55h pada kode operasi kedua dan disimpan di variabel Port 1 pada kode operasi pertama. SJMP Start, melakukan lompatan ke alamat yang ditentukan oleh rel dengan lompatan maksimum sebesar 128 byte pada label Start Output yang dihasilkan pada Port 1 Berupa 01010101b. Nilai tersebut sesuai dengan nilai konversi 55h ke dalam biner,yaitu 1010101b

PERCOBAAN 3
org 0h ljmp Start org 100h Start: mov A,#20h mov P1,A sjmp Start end Preview :

ANALISA : LJMP Start, melompat dan menjalankan program yang berada di dalam label Start. Proses yang terjadi adalah 16 bit dari alamat yang ditentukan oleh addr16 dipindah ke Program Counter sehingga program akan langsung menjalankan instruksi yang ada pada alamat tersebut. MOV A,#20h Melakukan pengisian data berupa 20h pada kode operasi kedua dan disimpan di variabel A pada kode operasi pertama. MOV P1,AMelakukan pemindahan data dari variable A(20h) pada kode operasi kedua dan disimpan di Port 1 pada kode operasi pertama. SJMP Start, melakukan lompatan ke alamat yang ditentukan oleh rel dengan lompatan maksimum sebesar 128 byte pada label Start Output yang dihasilkan pada Port 1 Berupa 00100000b. Nilai tersebut sesuai dengan nilai konversi 20h ke dalam biner,yaitu 00100000b

PERCOBAAN 4
org 0h ljmp Start org 100h Start: mov 20h,#55h mov A,20h mov P1,A sjmp Start end Preview :

ANALISA : LJMP Start, melompat dan menjalankan program yang berada di dalam label Start. Proses yang terjadi adalah 16 bit dari alamat yang ditentukan oleh addr16 dipindah ke Program Counter sehingga program akan langsung menjalankan instruksi yang ada pada alamat tersebut. MOV 20h,#55h Melakukan pengisian data berupa 55h pada kode operasi kedua dan disimpan di alamat 20h pada kode operasi pertama. MOV A, 20h Melakukan pengisian data di alamat 20h pada kode operasi kedua dan disimpan di variabel A pada kode operasi pertama. MOV P1,AMelakukan pemindahan data dari variable A(55h) pada kode operasi kedua dan disimpan di Port 1 pada kode operasi pertama.

SJMP Start, melakukan lompatan ke alamat yang ditentukan oleh rel dengan lompatan maksimum sebesar 128 byte pada label Start Output yang dihasilkan pada Port 1 Berupa 01010101b. Nilai tersebut sesuai dengan nilai konversi 55h ke dalam biner,yaitu 1010101b

PERCOBAAN 5
org ljmp org Start: mov 0h Start 100h

R0,#0aah mov A,R0 mov P1,A sjmp Start end

Preview :

ANALISA : LJMP Start, melompat dan menjalankan program yang berada di dalam label Start. Proses yang terjadi adalah 16 bit dari alamat yang ditentukan oleh addr16 dipindah ke Program Counter sehingga program akan langsung menjalankan instruksi yang ada pada alamat tersebut. MOV R0,#0aah Melakukan pengisian data berupa 0aah pada kode operasi kedua dan disimpan di register R0 pada kode operasi pertama. 0aah apabila dikonversi ke dalam biner, yaitu 10101010 MOV A,R0 Melakukan pengisian data di dalam register R0 pada kode operasi kedua dan disimpan di variabel A pada kode operasi pertama. MOV P1,AMelakukan pemindahan data dari variable A(0aah) pada kode operasi kedua dan disimpan di Port 1 pada kode operasi pertama SJMP Start, melakukan lompatan ke alamat yang ditentukan oleh rel dengan lompatan maksimum sebesar 128 byte pada label Start Output yang dihasilkan pada Port 1 Berupa 10101010b. Nilai tersebut sesuai dengan nilai konversi aah ke dalam biner,yaitu 10101010b

PERCOBAAN 6
org ljmp org 0h Start 100h

Start:

mov

20h,#50h mov R0,#20h mov A,@R0 mov P1,A sjmp Start end

Preview :

ANALISA : LJMP Start, melompat dan menjalankan program yang berada di dalam label Start. Proses yang terjadi adalah 16 bit dari alamat yang ditentukan oleh addr16 dipindah ke Program Counter sehingga program akan langsung menjalankan instruksi yang ada pada alamat tersebut. MOV 20h,#50h Melakukan pengisian data berupa 50h(01010000b) pada kode operasi kedua dan disimpan di alamat 20h pada kode operasi pertama. MOV R0,#20h Melakukan pengisian data berupa 20h pada kode operasi kedua dan disimpan di register R0 pada kode operasi pertama. 0aah apabila dikonversi ke dalam biner, yaitu 00100000b MOV A,@R0 Melakukan pengisian data ke dalam variable A dari memory RAM yang ditunjuk R0 ( Melakukan pengisian data yang berada di alamat R0 (20h), yaitu 50h(01010000) MOV P1,A Melakukan pemindahan data dari variable A(50h) pada kode operasi kedua dan disimpan di Port 1 pada kode operasi pertama SJMP Start, melakukan lompatan ke alamat yang ditentukan oleh rel dengan lompatan maksimum sebesar 128 byte pada label Start Output yang dihasilkan pada Port 1 Berupa 01010000b. Nilai tersebut sesuai dengan nilai konversi 50h ke dalam biner,yaitu 01010000b

PERCOBAAN 7
org 0h ljmp Start org 100h mov R3,#21 mov DPTR,#Tampil mov A,#0h movc A,@A+DPTR mov P1,A acall delay inc DPTR djnz R3,loop

Start: loop:

sjmp Start delay: dly: mov R1,#0ffh mov R2,#0ffh djnz R2,$ djnz R1,dly ret 00000001b ;1 db 00000010b db 00000100b db 00001000b db 00010000b db 00100000b db 01000000b db 10000000b db 01000000b db 00100000b db 00010000b db 00001000b db 00000100b db 00000010b db 00000001b db 10000001b db 01000001b db 00100001b db 00010001b db 00001001b db 00000101b

Tampil: db

;10

;20

Preview :

ANALISA : LJMP Start, melompat dan menjalankan program yang berada di dalam label Start. Proses yang terjadi adalah 16 bit dari alamat yang ditentukan oleh addr16 dipindah ke Program Counter sehingga program akan langsung menjalankan instruksi yang ada pada alamat tersebut. Dalam 89s51 hanya Port 1 inilah yang murni dapat digunakan sebagai port Input/Output stndar. Secara prinsip, port 1 adalah sama saja dengan port 0. Perbedaan yang mencolok dengan port 0 adalah port 0 yang membutuhkan resistor pull-up, sementara port 1 tidak karena ternyata sudah diperlengkapi dengan resistor pullup internal. Saat setelah RESET, port dalam logika tinggi, sehingga port dapat langsung digunakan sebagai input maupun output. DJNZ Melakukan pengurangan pada Rn (R0R7) dengan 1 dan lompat ke alamat yang ditentukan apabila hasilnya bukan 00. Apabila hasilnya telah mencapai 00, maka program akan terus menjalankan instruksi di bawahnya. Output yang dihasilkan berupa led dengan nyala berjalan yang sesuai dengan Tampil: db 00000001b ;1 db 00000010b db 00000100b db 00001000b db 00010000b db 00100000b db 01000000b db 10000000b db 01000000b db 00100000b ;10 db 00010000b db 00001000b db 00000100b db 00000010b db 00000001b db 10000001b db 01000001b db 00100001b db 00010001b db 00001001b ;20 db 00000101b Kesimpulan : Pada praktikum ini kita dijelaskan tentang pengalamatan sebuah command dan tentang alokasi memori nya, sehingga untuk praktikum ini terdapat data dan alamat yang memiliki hubungan satu sama lain atau dengan kata lain., dalam hal inic data dan alamat tidak dapat dipisihkan, kedua hal tersebut masing masing dituliskan dalam bentuk hexa nya. Pada saat interupsi kedua hal tersebut pastinya ada. Perintah ORG merupakan pengalamatan pada alamat yang akan kita gunakan dan untuk selanjutnya mengikuti interupsi yang kita perintahkan

Vous aimerez peut-être aussi