Pointer. Karakteristik Operasi Assembly  Lebar data tujuan dan asal harus sama! Lebar data tidak sama => invalid opcode  Operasi 8bit disimpan pada.

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

Flags.
OPERASI ARITMATIKA OPERASI PENAMBAHAN 1. ADD
Manipulasi Bit dan Logika
Turbo Assembly Operasi Aritmatika.
BAB IV MODE PENGALAMATAN
POINTER A. PENDAHULUAN Tanpa pointer untuk memindahkan data dari suatu variabel ke register 8 bit, maka variabel tersebut haruslah 8 bit juga yang dapat.
Bhakti Yudho Suprapto, MT
Turbo Assembly Masukan dari Keyboard.
REGISTER Oleh : Oman Somantri, S.Kom
Struktur Register dan Metode Pengalamatan Memori
QUIZ. Berapakah nilai hexadecimal dari destination operand pada setiap instruksi ? (Jika terdapat instruksi yang ERROR atau ILLEGAL, tuliskan ERROR atau.
Dasar pemrograman Mikroprosesor 8086
Instruksi Logika Dasar
Mode Pengalamatan Mengatasi keterbatasan format instruksi
ADDRESSING MODES Penjelasan dan program lihat pada Pemograman Bahasa Assembly (Ilmu Komputer)
JWASM Mencetak angka.
BAHASA RAKITAN BAGIAN 3.
Johannes Simatupang, MKom, Cobit5-F NIDN :
REGISTER.
POINTER & MANIPULASI BIT DAN LOGIKA
Mode Pengalamatan.
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
EE-2623 Mikroprosesor & Antarmuka
SISTEM BILANGAN DAN REGISTER
OPERASI ARITMATIKA.
Program Bahasa Rakitan dengan DEBUG.COM
Instruksi Perpindahan Data
Arsitektur Perangkat Lunak 8086
lnstruksi Aritmetika dan Logika
Manipulasi Bit dan Logika
PRAKTIKUM BAHASA RAKITAN 05
PENDAHULUAN Pembuatan perangkat lunak yang efisien untuk mikroprosesor membutuhkan pengenalan yang menyeluruh mengenai mode pengalamatan yang digunakan.
Praktikum 6.
INSTRUKSI LOGIKA DASAR
Register.
Pointer.
Pertemuan 7 Instruksi Bahasa Rakitan 8088
1 Pertemuan 3 Komponen Sistem Komputer dan Register pada prosesor 8088 Matakuliah: T0483 / Bahasa Rakitan Tahun: 2005 Versi: versi 1.0 / revisi 1.0.
Pengenalan Assembler.
Dasar pemrograman Mikroprosesor 8086
ALGORITMA PEMROGRAMAN 2A
Mode Pengalamatan Mengatasi keterbatasan format instruksi
Flag Register.
Dasar-Dasar Pemrograman
PERTEMUAN 3 KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Tipe Data, Operator Dalam Delphi
Struktur Register dan Metode Pengalamatan
Operasi String.
REGISTER.
Mikroprosesor 8086 dan 8088.
Variabel operator tipe data
Sistem Bilangan & REGISTER
Mata Kuliah : Bahasa Rakitan
Pengenalan Assembler.
PEMROGRAMAN PASCAL ELEMEN PEMROGRAMAN PASCAL.
OPERASI ARITMATIKA.
BAB III REGISTER 8088 Mikroprosesor 8088 berorientasi pada register
Operator dan Operasi Input Output pada C++ Pertemuan 11
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
OPERASI LOGIKA Mulyono.
Operasi Aritmatika.
Dewi Anggraini P. Hapsari
Manipulasi Bit dan Logika
Struktur Register dan Metode Pengalamatan Memori
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
Karakteristik Set Instruksi 14 JP. Karakteristik Set Instruksi Pengertian Set Instruksi Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan.
Transcript presentasi:

Pointer

Karakteristik Operasi Assembly  Lebar data tujuan dan asal harus sama! Lebar data tidak sama => invalid opcode  Operasi 8bit disimpan pada register 8bit  Operasi 16bit bisa disimpan di register 16bit atau disimpan dalam 2 buah register 16bit  Operasi perkalian 16bit x 16bit = 32bit => disimpan dalam pasangan register AX + DX

 Penyimpanan sebagai 1 variabel => menggunakan pointer  Pointer akan memungkinkan mikroprosesor melakukan perpindahan data sesuai dengan lebar tujuan, sehingga data dengan lebar yang berbeda bisa diakses dengan mudah

 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.  MOV AX, A => "**Error** BAGI.ASM(20) Operand types do not match"

Tipe Data NamaLebar (byte) DB (define byte)1 DW (define word)2 DD (define doubleword)4 DF (define farword)6 DQ (define quadword)8 DT (define tenbyte)10

 Contoh : 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 'HAI !!' ; 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 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'

Penempatan Data  Data ditempatkan pada memori dengan urutan terbalik : MSB menempati memori dengan alamat lebih tinggi daripada LSB  Contoh :

Penggunaan Pointer  Sintak : Tipedata PTR Operan  Contoh : 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

Manipulasi Bit dan Logika

Bit dan Logika  Operasi terkecil dalam mikroprosesor Operasi per-bit  Operasi lebih efisien dan efektif serta cepat  Untuk operasi port io dan register  Operasi bit : SHL, SHR, ROL, ROR, dll  Operasi logika : NOT, AND, OR, XOR

NOT  Menginvert masukan  Bisa dioperasikan single bit maupun multi bit InputOutput  Sintak : NOT variabel  Contoh : Moval, b Notal; menghasilkan b

Movax,0abcdh Notax; ax = 5432h

AND  Menghasilkan 0 jika salah satu inputnya 0 Input1Input2Output  Sintak : AND Operan1, Operan2  Flag register : OF, SF, ZF, PF, CF

 Contoh : Moval, 1 Movah, 2 Andah, al; ah = 0 Movax, 01234h Moxbx, 01111h Andax, bx; ax = 1010h

OR  Menghasilkan keluaran 1 jika salah satu inputnya 1 Input1Input2Output  Sintak: OR Operan1, Operan2  Flag : OF, SF, ZF, PF, CF

 Contoh : Moval, 123 Movah, 23 Orah, al; ah = 127 Movax, 0abcdh Movbx, 0bbcch Orax, bx; ax = BBCDh

XOR  Menghasilkan keluaran 1 jika kedua inputnya berbeda Input1Input2Output  Sintak: XOR Operan1, Operan2  Flag : tidak ada yang terpengaruh

 Contoh : Moval, 123 Movah, 23 Xorah, al; ah = 108 Movax, 0abcdh Movbx, 0bbcch Xorax, bx; ax = 1001h

TEST  Untuk mengetes apakah suatu bit ada dalam suatu variabel atau tidak  Sintak: TEST Operan1, Operan2  Flag: OF, SF, ZF, PF, CF  Output akan tetap aktif selama masih ada hasil bit operasinya yang bernilai 0 (ZF = 1)  Bisa dioperasikan single maupun multi bit

 Contoh : MOVAL, 066h TESTAL, 1; ZF = 1 TESTAL, 2; ZF = 0 TESTAL, b; ZF = 1 TESTAL, 32; ZF = 0 MOV BX, 0dfeah; ZF = 0 TEST BX, 5; ZF = 1 TESTBX, 0AH; ZF = 0 TESTBX, 0f00h; ZF = 0

SHL  Menggeser bit-bit ke kiri. Bit yang ditinggalkan akan diset ke 0  Sintak: SHL Operan1, Operan2  Jika penggeseran lebih dari 1x maka Operan2 harus CL atau CX  Flag: OF, ZF, PF, CF, SF  Sebagai operator pengganti MUL (perkalian berbasis 2)  Contoh : Moval, 3 Mov cl, 3 Shlal, cl; al = 3 * 2^3 = 24

SHR  Menggeser bit-bit ke kanan. Bit yang ditinggalkan akan diset ke 0  Sintak: SHR Operan1, Operan2  Jika penggeseran lebih dari 1x maka Operan2 harus CL atau CX  Flag: OF, ZF, PF, CF, SF  Sebagai operator pengganti DIV (pembagian berbasis 2)  Contoh : Moval, 63 Mov cl, 3 Shral, cl; al = 63 div 2^3 = 7

ROL  Memutar bit-bit ke kiri. Bit yang ditinggalkan tidak akan diset ke 0  Sintak: ROL Operan1, Operan2  Bit paling kiri akan dimasukkan ke CF  Flag: OF, CF  Contoh : Moval, 3 Mov cl, 3 Rolal, cl; al = 24

ROR  Memutar bit-bit ke kanan. Bit yang ditinggalkan tidak akan diset ke 0  Sintak: ROR Operan1, Operan2  Bit paling kanan akan dimasukkan ke CF  Flag: OF, CF  Contoh : Moval, 3 Mov cl, 3 Roral, cl; al = 96

Tugas  Hitunglah hasil operasi bilangan berikut ini : ABCDH AND FEH ABCDH OR FEH NOT ABCDH XOR ABCDH, FEH SHR ABCDH, 3 ROR ABCDH, 3  Tuliskan langkahnya dengan menuliskan bilangan biner dari masing-masing operannya