1 / 10

OPERASI PERPINDAHAN DATA

OPERASI PERPINDAHAN DATA. Operasi perpindahan data yang lainnya adalah : PUSH,POP,XCHG,LEA dan perpindahan data string( LODS,STOS dan MOVS). A. PUSH

dante
Télécharger la présentation

OPERASI PERPINDAHAN DATA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OPERASI PERPINDAHAN DATA Operasi perpindahan data yang lainnya adalah : PUSH,POP,XCHG,LEA dan perpindahan data string(LODS,STOS dan MOVS)

  2. A. PUSH Instruksi PUSH adalah instruksi untuk memasukan (menyimpan) sebuah data ke dalam tumpukan (stack). Data asal dapat berupa isi dari sebuah register atau isi dari sebuah memory atau data langsung(mentah). Sedang sintaksnya adalah : PUSH Reg PUSH [alamat] PUSH data

  3. Contoh : PUSH BX menyimpan isi register BX ke stack PUSH EAX menyimpan isi register EAX ke stack PUSH 0A15B menyimpan data 0A15B ke stack Alamat stack (alamat yang dituju untuk menempatkan data) dibentuk oleh register SS dan SP (SS:SP). Bila suatu data (word) dimasukan ke dalam stack, byte rendah dari data itu akan menempati lokasi yg dialamati oleh SP-1 dan byte tingginya akan menempati SP-2 dan seterusnya. Selain instruksi PUSH ada juga perintah yang lain yaitu PUSHF yang berfungsi untuk menimpan data isi register Flag ke dalam stack

  4. B. POP Adalah instruksi yg digunakan untuk mengambil kembali sebuah data dari dalam tumpukan (stack) untuk diletakan ke dalam suatu register atau lokasi memory tertentu. Adapun sintaksnya adalah sebagai berikut : POP Reg POP [alamat] POPF Contoh : POP BX mengambil isi stack yg paling atas dan meletakannya ke dalam register BX POP EAX mengambil isi stack paling atas dan meletakannya ke register POP [DI] mengambil isi stack paling atas dan meletakannya di lokasi memory yg beralamat [DS :DI]

  5. XCHG Berfungsi untuk menukarkan isi suatu register lain atau isi suatu register dengan isi suatu lokasi memory. Dan instruksi ini tidak berlaku untuk pertukaran data antar lokasi memori. Sintaksnya : XCGH reg,reg XCGH reg,[alamat] Contoh : XCGH AX,BX menukar isi register AX dan BX XCGH DX,[DI] menukar isi register register DX dengan memori yg beralamat [DSx10H+DI]

  6. LEA ( LOAD EFEKTIF ADRESS) Adlah instruksi untuk mengambil alamat suatu data pada lokasi memory tertentu dan meletakannya di suatu register 16 bit. Sintaksnya adalah : LEA Reg , [alamat] LEA Reg,Var Contoh : LEA BX,[DI] Alamat offset yg ditunjukan oleh [DI] (isi register DI) diambil dan diletakan di BX

  7. E. LODS ( Load String) Instruksi ini akan memindahkan data string pada segmen data yg alamat offsetnya ditunjukan oleh isi register SI ke accumulator (AL,AX). Setelah memindahkan data byte (ke AL) atau words(ke AX) isi register SI akan di –increment(bila D=0) atau di-decrement (bila D=1) untuk instruksi LODS terkadang diimbuhi dengan B (bila memindahkan byte,W (words) atau D (doble words) Contoh : LODSB data pada lokasi memori beralamat [DSx10H+SI] dipindhkan ke register AL .....SI = SI+atau-1 LODS DAT1 data pada variabel DAT1 dipindahkan ke AL .....SI =SI+ atau-1 (bila DAT1 adalah byte)

  8. F.STOS (STORE STRING) Instruksi ini akan memindahkan string pada register accumulator(AX,AL,EAX) ke ekstra segment yg alamat offsetnya ditunjukan oleh isi register DI (ES:DI). Sama halnya dengan instruksi LODS,STOS kadang juga di tambahi dngn B,W,D tergantung kebutuhan. Contoh : STOSB isi register AL dipindahkan ke lokasi memori berlamt [ESx10H+DI].DI=DI+atau – 1

  9. G. MOVS (movstring) Instruksi MOVS digunakan untuk memindahkan sebuah byte ,words atau doble worddari data segmen beralamat ofset SI ke extra segmen beralamat offset DI. Contoh : MOVSB isi lokasi memori beralamat ESx10H+DI dipindahkan ke alamat [ESx10h+DI], DI=DI+atau-1, SI=SI+atau-1

  10. OPERASI ARITMATIKA DAN LOGIKA • APENJUMLAHAN 1. Penjumlahan (addition) a. Penjumlahan register (register adressing) yaitu pejumlahan yg terjadi antar register dan suatu register tujuan dan hasil tersimpan pada register tujuan. sintaks : ADD reg tujuan,reg asal contoh : ADD BL,CL menjumlahkan isi register BL dan CL dan hasil tersimpan pada register CL. b. Penjumlahan dengan data langsung (immediate addition) adalah penjumlahan yg terjadiantara isi suatu register dengan suatu data dan hasil di letakan pada register tersebut. sintaks : ADD reg,data contoh : ADD AH,80h menjumlahkan isi register AH dengan 80h, hasil disimpan dalam register AH. c. Penjumlahan memori –register (memory-register addition) Adalah penjumlahan yg terjadi antara data suatu lokasi memori(asal) ke suatu register(tujuan) dan hasil disimpan di register tujuan. sintaks : ADD reg,[alamat] ADD [alamat],reg contoh : ADD AH[AL] isi register AH dijumlahkan dengan data pada lokasi memori beralamat [DSx10h+AL] hasil disimpan di reg AH.

More Related