POINTER A. PENDAHULUAN Tanpa pointer untuk memindahkan data dari suatu variabel ke register 8 bit, maka variabel tersebut haruslah 8 bit juga yang dapat.

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

Pemrograman Terstruktur
Program Bahasa Rakitan Tanpa DEBUG.COM
Flags.
Pemograman DEBUG.
PERTEMUAN KE 5 OPERASI LOMPAT/JUMP.
OPERASI ARITMATIKA OPERASI PENAMBAHAN 1. ADD
Turbo Assembly Operasi Aritmatika.
Tugas Praktikum 1 Dani Firdaus  1,12,23,34 Amanda  2,13,24,35 Dede  3,14,25,36 Gregorius  4,15,26,37 Mirza  5,16,27,38 M. Ari  6,17,28,39 Mughni.
Input/Output.
BAB IV MODE PENGALAMATAN

Set-Set Instruksi MCS-51 (Pendahuluan)
Teknik Pemrograman Mikrokontroller (Simbol Bhs Asembler) 1.Label Label menunjukkan alamat lokasi memori fisik yg berkaitan dg pernyataan yg diberi label.
Bahasa Assembley & Program COM
Arsitektur Komputer “Mode Pengalamatan”
Procedure. Procedure???? Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure, suatu program yang besar dapat disusun secara terstruktur.
Mari Kita Lihat Video Berikut ini.
JWASM Macro.
Bab 6B Distribusi Probabilitas Pensampelan
TURUNAN DIFERENSIAL Pertemuan ke
Macro. Macro ???? Macro hampir sama dengan procedure, yang dapat membantu anda dalam membuat program yang besar. Dengan Macro anda tidak perlu menggunakan.
Turbo Assembly Stack.
Turbo Assembly Membuat Program .EXE.
Turbo Assembly Mencetak Kalimat.
Turbo Assembly Compare and Jump.
Turbo Assembly Masukan dari Keyboard.
PERULANGAN Perulangan (loop) merupakan bentuk yang sering ditemui di dalam suatu program aplikasi. Di dalam bahasa Pascal, dikenal tiga macam perulangan,
QUIZ. Berapakah nilai hexadecimal dari destination operand pada setiap instruksi ? (Jika terdapat instruksi yang ERROR atau ILLEGAL, tuliskan ERROR atau.
: : Sisa Waktu.
DEBUG.
BAB II (BAGIAN 1). Sistem tertutup adalah sistem yang tidak ada transfer massa antara sistem dan sekeliling dn i = 0(2.1) i = 1, 2, 3,... Sistem Q W 
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
Pemrogramman Terstruktur
Pemrograman Mikroprosesor
BAB III RAM Internal pada MCS-51
1 Pointer wijanarto. 2 Topik Introduction to Pointers Pointers dan Parameter Fungsi.
Turbo Assembler TASM.
BAB IV Teknik Pemrograman
ADDRESSING MODES Penjelasan dan program lihat pada Pemograman Bahasa Assembly (Ilmu Komputer)
Procedure. Procedure???? Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure suatu program yang besar bisa diselesaikan dengan.
Pengantar sistem informasi Rahma dhania salamah msp.
JWASM Mencetak angka.
BAHASA RAKITAN BAGIAN 3.
Johannes Simatupang, MKom, Cobit5-F NIDN :
POINTER & MANIPULASI BIT DAN LOGIKA
SISTEM BILANGAN DAN REGISTER
Pointer. Karakteristik Operasi Assembly  Lebar data tujuan dan asal harus sama! Lebar data tidak sama => invalid opcode  Operasi 8bit disimpan pada.
OPERASI ARITMATIKA.
Program Bahasa Rakitan dengan DEBUG.COM
Pointer.
Instruksi Perpindahan Data
Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure suatu program yang besar dapat diselesaikan dengan lebih mudah. Proses pencarian.
BAHASA RAKITAN BAGIAN 1.
BAHASA RAKITAN BAGIAN 2.
PRAKTIKUM BAHASA RAKITAN 05
Praktikum 6.
Pointer.
MEMBUAT PROGRAM COM.
Pengenalan Assembler.
Pengantar Bahasa Rakitan
Stack dan Procedure.
Mata Kuliah : Bahasa Rakitan
Pengantar Bahasa Rakitan
Pengenalan Assembler.
OPERASI ARITMATIKA.
MEMBUAT PROGRAM COM.
OPERASI PADA STRING.
BAHASA RAKITAN BAGIAN 1.
CHAP 6 SET INSTRUKSI MEMORI
Transcript presentasi:

POINTER A. PENDAHULUAN Tanpa pointer untuk memindahkan data dari suatu variabel ke register 8 bit, maka variabel tersebut haruslah 8 bit juga yang dapat didefinisikan dengan DB, demikian juga untuk register 16 bit dengan variabel yang didefinisikan dengan DW. Contoh : A DB 17 ; DB=8 bit jadi A=8 bit B DW 35 ; DW=16 bit jadi B=16 bit : MOV AL,A ; 8 bit dengan 8 bit MOV AX,B ; 16 bit dengan 16 bit. Perintah MOV AX,A kedua operand tidak mempunyai daya tampung yang sama(16 dan 8 bit). Pemindahan data dari operand yang berbeda tipe data penampungnya akan mengakibatkan "**Error** BAGI.ASM(20) Operand types do not match". pertemuan 5

Tipe data yang terdapat pada assembler : B. TIPE DATA Tipe data yang terdapat pada assembler : ------------------------------------------ NAMA UKURAN DB<Define Byte> 1 BYTE DW<Define Word> 2 BYTE DD<Define DoubleWord> 4 BYTE DF<Define FarWords> 6 BYTE DQ<Define QuadWord> 8 BYTE DT<Define TenBytes> 10 BYTE ------------------------------------------- Contoh : .MODEL SMALL .CODE ORG 100h TData : JMP Proses A DB 4 ; 1 byte, nilai awal='4' B DB 4,4,4,2,? ; 1*5 byte, nilai awal=4,4,4,2,? C DB 4 DUP(5) ; 1*4 byte, nilai awal='5' D DB 'VAR !!' ; 6 byte berisi 6 karakter E DW ? ; 1 word tidak diketahui isinya F DW ?,?,? ; 3 word tidak diketahui isinya G DW 10 DUP(?) ;10 word tidak diketahui isinya pertemuan 5

H DD ? ; 1 DoubleWord tanpa nilai awal I DF ?,? ; 2 FarWord tanpa nilai awal J DQ 0A12h ; 1 QuadWord, nilai awal='0A12' K DT 25*80 ; 1 TenBytes, nilai awal='2000' L EQU 666 ; Konstanta, L=666 M DB '123' ; String '123' N DB '1','2','3' ; String '123' O DB 49,50,51 ; String '123' Proses : ; ; END Tdata pertemuan 5

Pada baris pertama("A DB 4") kita mendefinisikan sebanyak satu byte untuk variabel dengan nama "A", variabel ini diberi nilai "4". Pada baris kedua("B DB 4,4,4,2,?") kita mendefinisikan sebanyak 5 byte yang berpasangan untuk variabel dengan nama "B". Tiga byte pertama pada variabel "B" tersebut semuanya diberi nilai awal "4", byte ke empat diberi nilai awal 2 sedangkan byte ke lima tidak diberi nilai awal. Pada baris ketiga("C DB 4 DUP(5)") kita mendefinisikan sebanyak 4 byte data yang diberi nilai awal "5" semuanya (DUP=Duplikasi). Jadi dengan perintah DUP kita dapat mendefinisikan suatu Array. pertemuan 5

C. PENYIMPANAN DATA DALAM MEMORY Menyimpan suatu nilai didalam memory. program 2. ini hanya mendefinisikan data. .MODEL SMALL .CODE ORG 100h TData : JMP Proses A DB 12h,34h B DW 0ABCDh C DD 56789018h D DB 40 DUP(1) Proses: INT 20h; END Tdata pertemuan 5

Gunakan perintah PTR dengan format penulisan : TipeData PTR operand D. MENGGUNAKAN POINTER Gunakan perintah PTR dengan format penulisan : TipeData PTR operand penggunaanya didalam program. .MODEL SMALL .CODE ORG 100h TData : JMP Proses ; Lompat ke Proses A DW 01EFh ; 2 Byte B DW 02FEh ; 2 Byte D DD ? ; 4 Byte Proses: MOV AL,BYTE PTR A ; AL=EF, AX=?EF MOV AH,BYTE PTR A+1 ; AH=01, AX=01EF MOV BX,B ; BX=02FE MOV WORD PTR D,AX ; D=??01EF MOV WORD PTR D+2,BX ; D=02FE01EF INT 20h ; Kembali ke DOS END TData pertemuan 5

Kita mendefinisikan variabel "A" dan "B" dengan tipe data word(16 bit) yang mempunyai nilai awal 01EF dan 02FE, serta variabel "D" dengan tipe data DoubleWord(32 bit) yang tidak diinisialisasi. MOV AL,BYTE PTR A MOV AH,BYTE PTR A+1 Data dari variabel "A" dipindahkan ke register AX dengan byte per byte. Pemindahan data menyesuaikan dengan kemampuan daya tampung. Oleh sebab itu digunakan "BYTE" PTR untuk memindahkan data 1 byte menuju register 8 bit, dengan demikian untuk memindahkan data 16 bit harus digunakan "WORD" PTR. Pada baris pertama kita memindahkan byte rendah dari variabel "A" (EF) menuju register AL, kemudian pada baris kedua kita memindahkan byte tingginya(01) menuju register AH. Kita menggunakan "BYTE PTR A" untuk nilai byte rendah dan "BYTE PTR+1" untuk byte tinggi dari variabel "A" dikarenakan penyimpanan data dalam memory komputer yang menyimpan byte tinggi terlebih dahulu. MOV BX,B MOV WORD PTR D,AX MOV WORD PTR D+2,BX Kita memindahkan data dari 2 register 16 bit menuju 1 variabel 32 bit. Pada baris pertama "MOV BX,B" kedua operand mempunyai daya tampung yang sama. Pada baris kedua "MOV WORD PTR D,AX" kita memindahkan nilai pada register AX untuk disimpan pada variabel "D" sebagai word rendahnya. Pada baris ketiga "MOV WORD PTR D+2,BX" kita masukkan nilai dari register BX pada variabel "D" untuk word tingginya sehingga nilainya sekarang adalah BX:AX=02FE01EF. Pada baris ketiga kita melompati 2 byte(WORD PTR+2) dari variabel "D" untuk menyimpan word tingginya. Dengan menggunakan pointer kita bisa menyimpan hasil perkalian 16 bit didalam 1 varibel 32 bit. pertemuan 5