25
Model ingatan Kod dalam > 1 segmen Data dalam > satu segmen Tatasusunan lebih besar dr 64KB HUGE Kod dalam > satu segmen Data dalam > 1 segmen Tatasusunan tidak lebih dr 64KB LARGE Kod dalam satu segmen Data dalam > 1 segmen COMPACT Kod dalam > 1 segmen Data dalam satu segmen MEDIUM Kod dalam satu segmen Data dalam satu segmen SMALL Penerangan Model

1109 Kul11b

Embed Size (px)

Citation preview

Page 1: 1109 Kul11b

Model ingatan

Kod dalam > 1 segmenData dalam > satu segmenTatasusunan lebih besar dr 64KB

HUGE

Kod dalam > satu segmenData dalam > 1 segmenTatasusunan tidak lebih dr 64KB

LARGE

Kod dalam satu segmenData dalam > 1 segmen

COMPACT

Kod dalam > 1 segmenData dalam satu segmen

MEDIUM

Kod dalam satu segmenData dalam satu segmen

SMALL

PeneranganModel

Page 2: 1109 Kul11b

Segmen data

Mengandungi semua periytiharan pembolehubah

Untuk mengisytiharkan segmen data, direktif .DATA, diikuti oleh pengistiharan pembolehubah atau pemalar dibuat

Cth :– .DATA– WORD1 DW 2– WORD2 DW 5– MSG DB ‘INI ADALAH MESEJ’– MASK EQU 10010010B

Page 3: 1109 Kul11b

Segmen timbunan

Digunakan untuk menempah satu blok ingatan untuk menyimpan timbunan

Sintak definisi .STACK saiz (saiz adalah optional)Cth: .STACK 100H

Pernyataan di atas akan menyediakan 100h bait untuk kawasan timbunan

Page 4: 1109 Kul11b

Segmen kod

Mengandungi arahan-arahan aturcara Sintak pengisytiharan

.CODE nama di mana nama adalah pilihan bagi segmen tersebut

Arahan adalah di dalam bentuk prosedur

Page 5: 1109 Kul11b

Perisytiharan prosedur yang mudah:nama PROC;badan prosedurnama ENDP

di mana nama (nama prosedur); PROC dan ENDP (pseudo-op yang menerangkan prosedur)

Page 6: 1109 Kul11b

Cth:.CODEMAIN PROC;arahan prosedur utamaMAIN ENDP;prosedur yang lain bermula di sini

Page 7: 1109 Kul11b

Penggabungan segmen Satu bentuk am model aturcara menggunaan

model ingatan .SMALL BOLEH DIBANGUNKAN.MODEL SMALLSTACK 100H.DATA;pengisytiharan data bermula di sini.CODEMAIN PROC;arahan bermula di siniMAIN ENDP;prosedur-prosedur lain bermula di siniEND MAIN

Baris terakhir mesti END, diikuti nama prosedur utama

Page 8: 1109 Kul11b

SET ARAHAN 8086

Page 9: 1109 Kul11b

Jenis-jenis arahan

Arahan pemindahan data Arahan aritmetik Arahan pengendalian bit Arahan banding Arahan lompat/cabang Arahan gelung

Page 10: 1109 Kul11b

Arahan pemindahan data

Digunakan untuk memindahkan data – di antara satu daftar dalaman dengan satu

daftar dalaman yang lain– di antara daftar dalaman dengan satu

lokasi storan di ingatan– di antara satu daftar dalaman dengan satu

nilai segera

Arahan-arahan seperti MOV dan XCHG

Page 11: 1109 Kul11b

MOV (MOVe) Memindahkan dari operan sumber ke

operan destinasi Format

MOV OD, OS di mana OS=operan sumber

OD=operan destinasi

Contoh perlaksanaan

XXXXXXSelepas operasi

YYYXXXSebelum operasi

Operan destinasiOperan sumber

Page 12: 1109 Kul11b

MOV [BX],25HIngatanPemalar/nilai segera

MOV DS,[BX]Daftar segmenIngatan

MOV AX,DSDaftar amDaftar segmen

MOV [BX],45HIngatanPemalar/nilai segera

MOV AX,5HDaftarPemalar/nilai segera

MOV AX,BETADaftar amIngatan

MOV [BX],AXIngatanDaftar

MOV DS, AXDaftar segmenDaftar am

MOV AX, BXDaftar amDaftar am

ContohOperan destinasiOperan sumber

Operan sumber dan destinasi yang sah

Page 13: 1109 Kul11b

Untuk memindahkan kedua-dua operan sumber dan destinasi yang merupakan ruang ingatan boleh dilakukan dengan arahan

MOV AX,BETA : salin nilai BETA ke dalam AX

MOV ALPHA,AX : salin kandungan AX ke ALPHA

Pemindahan mestilah di antara saiz data yang sepadan, contoh:

MOV AL,1234H : tidak dibenarkan kerana memasukkan data bersaiz 16 bit kepada daftar bersaiz 8 bit

Page 14: 1109 Kul11b

Contoh arahan MOV dengan mod pengalamatan daftar dan mod pengalamatan terus– Mod pengalamatan daftar

MOV AX,BX (BX) (AX)– Mod pengalamatan terus

MOV CX,[ABCD] ((DS)OH+ABCD) (CL) ((DS)OH+ABCD+1)(CH)

Page 15: 1109 Kul11b

XCHG (EXCHange) Menukarganti data antara operan sumber

dgn operan destinasi Format

XCHG OD,OS di mana OD=operan destinasi

OS=operan sumber

Perlaksanaan arahan XCHG AX,DX

XXXYYYselepas

YYYXXXSebelum

DXAX

Page 16: 1109 Kul11b

Boleh melibatkan 8 dan 16 bit data tetapi saiz yang terlibat mestilah sepadan

Bagi arahan yang melibatkan ruang ingatan seperti

XCHG [SUM],BX

pertukaran adalah seperti XCHG [SUM],BX ((DS)OH+SUM)BX

Page 17: 1109 Kul11b

Menukar 2 pembolehubahtitle Exchange Two Variables     (Exchange.asm).model small.stack 100h.datavalue1 db 0Ahvalue2 db 14h.codemain proc    mov  ax,@data      ; initialize DS register    mov  ds,ax    mov  al,value1     ; load the AL register    xchg value2,al     ; exchange AL and value2    mov  value1,al     ; store AL back into value1

    mov  ax,4C00h      ; exit program    int  21hmain endpend main

Page 18: 1109 Kul11b

Arahan aritmetik

Melibatkan arahan tambah (ADD), tolak (SUB), darab (MUL) dan bahagi (DIV)

Juga mengandungi variasi arahan-arahan ini

Membentuk arahan-arahan seperti arahan ADC beserta arahan nilai bendera bawa

Page 19: 1109 Kul11b

ADD (ADDition)

Melakukan penambahan di antara operan sumber dan operan destinasi dan hasil di simpan di dalam operan destinasi

FormatADD OD,OS di mana OD=operan destinasi

OS=operan sumberADD OD,OS

OD+OS OD(jika ada bawa, bendera bawa,

CF=1)

Page 20: 1109 Kul11b

Arahan ADD

Operan sumber boleh sebagai daftar, nilai segera atau ingatan

Operand destinasi boleh sebagai daftar atau ingatan

Hanya satu operan boleh sebagai operan ingatan

Page 21: 1109 Kul11b

ADD Instruction Examples

.datamembyte   db 25memword   dw 36doubleVal    dd 12340000h.codeadd  al,5add  bx,axadd  eax,edxadd  membyte,aladd  memword,bxadd  doubleVal,edx

Page 22: 1109 Kul11b

Kombinasi operan destinasi dan operan sumber yang dibenarkan

ADD BYTE PTR [BX],5H

Nilai segeraIngatan

ADD AX,35Nilai segeraDaftar am

ADD AX,[BX]Daftar amIngatan

ADD [BX],AXIngatanDaftar am

ADD AX,DXDaftar amDaftar am

Contoh arahanOperan destinasi

Operan sumber

Page 23: 1109 Kul11b

Contoh arahan Jika AX=1234H, BX=0001H, maka

ADD AX,BX adalah seperti jadual di bawah

1EF00H0134HSelepas

xEF00H1234HSebelum2

00001H1235HSelepas

x0001H1234HSebelum1

Bendera Bawa

BXAX

Page 24: 1109 Kul11b

Arahan SUBFormat : SUB OD, OS di mana OS operan sumber

OD operan destinasi Menolak operak sumber dari operan destinasi Operan sumber boleh jadi daftar, nilai segera atau

ingatan Operan destinasi boleh jadi daftar atau ingatan Hanya satu operan boleh jadi operan ingatan

Page 25: 1109 Kul11b

Contoh Arahan SUB

.datamembyte   db 25memword   dw 36doubleVal    dd 12340000h.codesub  al,5sub  bx,axsub  eax,edxsub  membyte,alsub  memword,bxsub  doubleVal,edx