OPERASI PADA STRING.

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

Flags.
PERTEMUAN KE 5 OPERASI LOMPAT/JUMP.
OPERASI ARITMATIKA OPERASI PENAMBAHAN 1. ADD
Turbo Assembly Operasi Aritmatika.
Basic I/O Operations and Processing Unit
Tipe-Tipe Instruksi MCS-51 (Arithmatika)
Bahasa Assembley & Program COM
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
Procedure. Procedure???? Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure, suatu program yang besar dapat disusun secara terstruktur.
JWASM Macro.
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.
REGISTER Oleh : Oman Somantri, S.Kom
Pemrograman Mikroprosesor
Turbo Assembler TASM.
Instruksi Logika Dasar
Procedure. Procedure???? Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure suatu program yang besar bisa diselesaikan dengan.
JWASM Mencetak angka.
BAHASA RAKITAN BAGIAN 3.
Johannes Simatupang, MKom, Cobit5-F NIDN :
REGISTER.
POINTER & MANIPULASI BIT DAN LOGIKA
Mode Pengalamatan.
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.
Procedure dan Macro.
Program Bahasa Rakitan dengan DEBUG.COM
Instruksi Perpindahan Data
Arsitektur Perangkat Lunak 8086
Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure suatu program yang besar dapat diselesaikan dengan lebih mudah. Proses pencarian.
Dasar-Dasar Pemrograman Assembler
lnstruksi Aritmetika dan Logika
BAHASA RAKITAN BAGIAN 1.
OPERASI PADA STRING Instruksi Pada String
BAHASA RAKITAN BAGIAN 2.
PRAKTIKUM BAHASA RAKITAN 05
Praktikum 6.
INSTRUKSI LOGIKA DASAR
Register.
Pointer.
Pertemuan 8 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
Program Bahasa Rakitan dengan DEBUG.COM
BIOS, DOS, dan String.
Dasar-Dasar Pemrograman Assembler
Struktur Register dan Metode Pengalamatan
Operasi String.
Instruksi Perpindahan Data Miscellaneous
REGISTER.
Mata Kuliah : Bahasa Rakitan
Pengenalan Assembler.
Instruksi-instruksi pada 8086
Instruksi-instruksi pada 8086
FLOW CONTROL INSTRUTIONS
BAB III REGISTER 8088 Mikroprosesor 8088 berorientasi pada register
OPERASI PADA LAYAR.
Model Hipotesis SAP-2 Abdillah, S.Si, MIT.
Mode Pengalamatan.
ASSEMBLER #3 MK. PEMROGRAMAN SISTEM
BAHASA RAKITAN BAGIAN 1.
Struktur Register dan Metode Pengalamatan Memori
CHAP 6 SET INSTRUKSI MEMORI
Transcript presentasi:

OPERASI PADA STRING

OPERASI PADA STRING Instruksi Pada String String adalah suatu jenis data yang terdiri atas kumpulan karakter, angka maupun simbol. Register yang digunakan dalam operasi string ini adalah register SI dan DI. Register SI (Source Index) digunakan untuk mencatat alamat dari sumber string yang akan dimanipulasi. Register DI (Destination Index) mencatat alamat atau tempat hasil dari manipulasi string

Instruksi-instruksi String Arti CLD Clear Direction Flag STD Set Destination Flag CMPS Compare String CMPSB Compare String 1 Byte CMPSW Compare String 1 Word CMPSD Compare String 1 Double Word (80386&80486) LODS Load String LODSB Load String 1 Byte LODSW Load String 1 Word LODSD Load String 1 Double Word to EAX (80386&80486) MOVS Move String MOVSB Move String 1 Byte MOVSW Move String 1 Word MOVSD Move String 1 Double Word (80386&80486)

Instruksi Arti REP Repeat REPE Repeat If Equal REPZ Repeat If Zero REPNE Repeat If Not Equal REPNZ Repeat If Not Zero SCAS Scan String SCASB Scan String 1 Byte SCASW Scan String 1 Word SCASD Scan String 1 Double Word (80386&80486) STOS Store String STOSB Store AL at ES:DI String STOSW Store AX at ES:DI String STOSD Store EAX at ES:DI String (80386&80486)

Pencopian dan Arah Proses Operasi String CLD (Clear Direction Flag) berfungsi untuk menaikkan nilai SI dan DI (arah proses menaik) STD (Set Direction Flag) berfungsi untuk menurunkan nilai SI dan DI (arah proses menurun) .MODEL SMALL .CODE ORG 100H DATA: JMP MULAI KAL DB ‘STMIK$’ BUF DB 5 DUP(?) MULAI: LEA SI,KAL LEA DI,BUF CLD MOV CX,5 ULANG: MOVS ES:BUFFER,KALIMAT ; BOLEH DITULIS MOVSB LOOP ULANG MOV AH,09 LEA DX,Buffer INT 21h ; Cetak data pada buffer INT 20H END DATA

Pengulangan Pada String Selain menggunakan pengulangan yang biasa digunakan bisa juga digunakan pengulangan bersyarat seperti REP, REPE, REPZ dll. .MODEL SMALL .CODE ORG 100H DATA: JMP MULAI KAL DB ‘STMIK$’ BUF DB 5 DUP(?) MULAI: LEA SI,KAL LEA DI,BUF CLD MOV CX,5 REP MOVS ES:BUF,KAL ; BLH DITULIS MOVSB MOV AH,09 LEA DX,Buffer INT 21h ; Cetak data pada buffer INT 20H END DATA

Perbandingan Pada String Pada dasarnya perbandingan string sama dengan pencopian string. Pada perbandingan string juga terdapat bentuk CMPS yang dapat berupa CMPSB (perbandingan byte), CMPSW (perbandingan word) dan CMPSD (perbandingan double word). CETAK MACRO KAL MOV AH,09H LEA DX,KAL INT 21H ENDM .MODEL SMALL .CODE ORG 100H DATA: JMP MULAI KAL1 DB ‘akakjdjajdbk’ PESAN1 DB ‘Kedua kalimat sama$’ PESAN2 DB ‘Kedua kalimat tidak sama$’ MULAI: LEA SI,KAL1 LEA DI,KAL2 CLD MOV CX,12 ULANG: REP CMPSB JNZ TDKSAMA CETAK PESAN1 JMP EXIT TDKSAMA: CETAK PESAN2 EXIT: INT 20H END DATA

Operasi Scan Pada String Operasi scan pada string digunakan untuk membandingkan nilai pada register AL, AX atau EAX (80386) dengan data pada ES:DI. CETAK MACRO KAL MOV AH,09H LEA DX,KAL INT 21H ENDM .MODEL SMALL .CODE ORG 100H DATA: JMP MULAI CARI DB ‘akakkasdjadkdjfjdjajdbk’ PESAN1 DB ‘Karakter ‘’s’’ yang dicari ketemu! $’ PESAN2 DB ‘Karakter ‘’s’’ yang dicari tidak ketemu! $’ MULAI: LEA DI,CARI MOV AL,’s’ MOV CX,23 REPNE SCASB JNZ TDK_KETEMU CETAK PESAN1 JMP EXIT TDK_KETEMU:CETAK PESAN2 EXIT: INT 20H END DATA

Mengambil dan Mengisi String Operasi mengambil dan mengisi string ada dua operasi yang mempunyai fungsi yang berlawanan. LODS adalah bentuk umum untuk mengambil string dari lokasi memory DS:[SI] menuju AL, AX atau EAX. STOS adalah bentuk umum untuk mengisi string dari AL, AX atau EAX menuju ES:[DI]. Jika Direction Flaf bernilai 0 (dengan CLD) maka setelah instruksi STOS dijalankan register DI akan ditambah secara otomatis, sebaliknya jika Direction Flag bernilai 1 (dengan STD) maka register DI akan dikurang secara otomatis. Keterangan: lihat contoh program pada bagian praktikum operasi string