Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Model ingatan Kod dalam > 1 segmen Data dalam > satu segmen Tatasusunan lebih besar dr 64KB HUGE Kod dalam > satu segmen D...
Segmen data <ul><li>Mengandungi semua periytiharan pembolehubah </li></ul><ul><li>Untuk mengisytiharkan segmen data, direk...
Segmen timbunan <ul><li>Digunakan untuk menempah satu blok ingatan untuk menyimpan timbunan </li></ul><ul><li>Sintak defin...
Segmen kod <ul><li>Mengandungi arahan-arahan aturcara </li></ul><ul><li>Sintak pengisytiharan </li></ul><ul><li>.CODE nama...
<ul><li>Perisytiharan prosedur yang mudah: </li></ul><ul><ul><li>nama PROC </li></ul></ul><ul><ul><li>;badan prosedur </li...
<ul><li>Cth: </li></ul><ul><li>.CODE </li></ul><ul><li>MAIN PROC </li></ul><ul><li>;arahan prosedur utama </li></ul><ul><l...
Penggabungan segmen <ul><li>Satu bentuk am model aturcara menggunaan model ingatan .SMALL BOLEH DIBANGUNKAN </li></ul><ul>...
SET ARAHAN 8086
Jenis-jenis arahan <ul><li>Arahan pemindahan data </li></ul><ul><li>Arahan aritmetik </li></ul><ul><li>Arahan pengendalian...
Arahan pemindahan data <ul><li>Digunakan untuk memindahkan data  </li></ul><ul><ul><li>di antara satu daftar dalaman denga...
MOV (MOV e ) <ul><li>Memindahkan dari operan sumber ke operan destinasi </li></ul><ul><li>Format </li></ul><ul><ul><li>MOV...
Operan sumber dan destinasi yang sah MOV [BX],25H Ingatan Pemalar/nilai segera MOV DS,[BX] Daftar segmen Ingatan MOV AX,DS...
<ul><li>Untuk memindahkan kedua-dua operan sumber dan destinasi yang merupakan ruang ingatan boleh dilakukan dengan arahan...
<ul><li>Contoh arahan MOV dengan mod pengalamatan daftar dan mod pengalamatan terus </li></ul><ul><ul><li>Mod pengalamatan...
XCHG (EXCH ange ) <ul><li>Menukarganti data antara operan sumber dgn operan destinasi </li></ul><ul><li>Format </li></ul><...
<ul><li>Boleh melibatkan 8 dan 16 bit data tetapi saiz yang terlibat mestilah sepadan </li></ul><ul><li>Bagi arahan yang m...
Menukar 2 pembolehubah <ul><ul><li>title Exchange Two Variables     (Exchange.asm) </li></ul></ul><ul><ul><li>.model small...
Arahan aritmetik <ul><li>Melibatkan arahan tambah (ADD), tolak (SUB), darab (MUL) dan bahagi (DIV) </li></ul><ul><li>Juga ...
ADD (ADD ition ) <ul><li>Melakukan penambahan di antara operan sumber dan operan destinasi dan hasil di simpan di dalam op...
Arahan ADD <ul><li>Operan sumber boleh sebagai daftar, nilai segera atau ingatan </li></ul><ul><li>Operand destinasi boleh...
ADD Instruction Examples .data membyte   db 25 memword   dw 36 doubleVal  dd 12340000h .code add  al,5 add  bx,ax add  eax...
<ul><li>Kombinasi operan destinasi dan operan sumber yang dibenarkan </li></ul>ADD BYTE PTR [BX],5H Nilai segera Ingatan A...
Contoh arahan <ul><li>Jika AX=1234H, BX=0001H, maka  </li></ul><ul><li>ADD AX,BX adalah seperti jadual di bawah </li></ul>...
Arahan SUB <ul><li>Format : SUB OD, OS di mana OS operan  sumber  </li></ul><ul><li>OD operan destinasi </li></ul><ul><li>...
Contoh Arahan SUB  .data membyte   db 25 memword   dw 36 doubleVal  dd 12340000h .code sub  al,5 sub  bx,ax sub  eax,edx s...
Upcoming SlideShare
Loading in …5
×

1109 Kul11b

570 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

1109 Kul11b

  1. 1. 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
  2. 2. Segmen data <ul><li>Mengandungi semua periytiharan pembolehubah </li></ul><ul><li>Untuk mengisytiharkan segmen data, direktif .DATA, diikuti oleh pengistiharan pembolehubah atau pemalar dibuat </li></ul><ul><li>Cth : </li></ul><ul><ul><li>.DATA </li></ul></ul><ul><ul><li>WORD1 DW 2 </li></ul></ul><ul><ul><li>WORD2 DW 5 </li></ul></ul><ul><ul><li>MSG DB ‘INI ADALAH MESEJ’ </li></ul></ul><ul><ul><li>MASK EQU 10010010B </li></ul></ul>
  3. 3. Segmen timbunan <ul><li>Digunakan untuk menempah satu blok ingatan untuk menyimpan timbunan </li></ul><ul><li>Sintak definisi </li></ul><ul><ul><li>.STACK saiz (saiz adalah optional) </li></ul></ul><ul><ul><li>Cth: .STACK 100H </li></ul></ul><ul><li>Pernyataan di atas akan menyediakan 100h bait untuk kawasan timbunan </li></ul>
  4. 4. Segmen kod <ul><li>Mengandungi arahan-arahan aturcara </li></ul><ul><li>Sintak pengisytiharan </li></ul><ul><li>.CODE nama di mana nama adalah pilihan bagi segmen tersebut </li></ul><ul><li>Arahan adalah di dalam bentuk prosedur </li></ul>
  5. 5. <ul><li>Perisytiharan prosedur yang mudah: </li></ul><ul><ul><li>nama PROC </li></ul></ul><ul><ul><li>;badan prosedur </li></ul></ul><ul><ul><li>nama ENDP </li></ul></ul><ul><ul><li>di mana nama (nama prosedur); PROC dan ENDP (pseudo-op yang menerangkan prosedur) </li></ul></ul>
  6. 6. <ul><li>Cth: </li></ul><ul><li>.CODE </li></ul><ul><li>MAIN PROC </li></ul><ul><li>;arahan prosedur utama </li></ul><ul><li>MAIN ENDP </li></ul><ul><li>;prosedur yang lain bermula di sini </li></ul>
  7. 7. Penggabungan segmen <ul><li>Satu bentuk am model aturcara menggunaan model ingatan .SMALL BOLEH DIBANGUNKAN </li></ul><ul><li>.MODEL SMALL </li></ul><ul><li>STACK 100H </li></ul><ul><li>.DATA </li></ul><ul><li>;pengisytiharan data bermula di sini </li></ul><ul><li>.CODE </li></ul><ul><li>MAIN PROC </li></ul><ul><li>;arahan bermula di sini </li></ul><ul><li>MAIN ENDP </li></ul><ul><li>;prosedur-prosedur lain bermula di sini </li></ul><ul><li>END MAIN </li></ul><ul><li>Baris terakhir mesti END, diikuti nama prosedur utama </li></ul>
  8. 8. SET ARAHAN 8086
  9. 9. Jenis-jenis arahan <ul><li>Arahan pemindahan data </li></ul><ul><li>Arahan aritmetik </li></ul><ul><li>Arahan pengendalian bit </li></ul><ul><li>Arahan banding </li></ul><ul><li>Arahan lompat/cabang </li></ul><ul><li>Arahan gelung </li></ul>
  10. 10. Arahan pemindahan data <ul><li>Digunakan untuk memindahkan data </li></ul><ul><ul><li>di antara satu daftar dalaman dengan satu daftar dalaman yang lain </li></ul></ul><ul><ul><li>di antara daftar dalaman dengan satu lokasi storan di ingatan </li></ul></ul><ul><ul><li>di antara satu daftar dalaman dengan satu nilai segera </li></ul></ul><ul><li>Arahan-arahan seperti MOV dan XCHG </li></ul>
  11. 11. MOV (MOV e ) <ul><li>Memindahkan dari operan sumber ke operan destinasi </li></ul><ul><li>Format </li></ul><ul><ul><li>MOV OD, OS di mana OS=operan sumber </li></ul></ul><ul><ul><li> OD=operan destinasi </li></ul></ul><ul><li>Contoh perlaksanaan </li></ul>XXX XXX Selepas operasi YYY XXX Sebelum operasi Operan destinasi Operan sumber
  12. 12. Operan sumber dan destinasi yang sah MOV [BX],25H Ingatan Pemalar/nilai segera MOV DS,[BX] Daftar segmen Ingatan MOV AX,DS Daftar am Daftar segmen MOV [BX],45H Ingatan Pemalar/nilai segera MOV AX,5H Daftar Pemalar/nilai segera MOV AX,BETA Daftar am Ingatan MOV [BX],AX Ingatan Daftar MOV DS, AX Daftar segmen Daftar am MOV AX, BX Daftar am Daftar am Contoh Operan destinasi Operan sumber
  13. 13. <ul><li>Untuk memindahkan kedua-dua operan sumber dan destinasi yang merupakan ruang ingatan boleh dilakukan dengan arahan </li></ul><ul><li>MOV AX,BETA : salin nilai BETA ke dalam AX </li></ul><ul><li>MOV ALPHA,AX : salin kandungan AX ke ALPHA </li></ul><ul><li>Pemindahan mestilah di antara saiz data yang sepadan, contoh: </li></ul><ul><li>MOV AL,1234H : tidak dibenarkan kerana memasukkan data bersaiz 16 bit kepada daftar bersaiz 8 bit </li></ul>
  14. 14. <ul><li>Contoh arahan MOV dengan mod pengalamatan daftar dan mod pengalamatan terus </li></ul><ul><ul><li>Mod pengalamatan daftar </li></ul></ul><ul><ul><li>MOV AX,BX  (BX)  (AX) </li></ul></ul><ul><ul><li>Mod pengalamatan terus </li></ul></ul><ul><ul><li>MOV CX,[ABCD]  ((DS)OH+ABCD)  (CL) </li></ul></ul><ul><ul><li> ((DS)OH+ABCD+1)  (CH) </li></ul></ul>
  15. 15. XCHG (EXCH ange ) <ul><li>Menukarganti data antara operan sumber dgn operan destinasi </li></ul><ul><li>Format </li></ul><ul><li>XCHG OD,OS di mana OD=operan destinasi </li></ul><ul><li> OS=operan sumber </li></ul><ul><li>Perlaksanaan arahan XCHG AX,DX </li></ul>XXX YYY selepas YYY XXX Sebelum DX AX
  16. 16. <ul><li>Boleh melibatkan 8 dan 16 bit data tetapi saiz yang terlibat mestilah sepadan </li></ul><ul><li>Bagi arahan yang melibatkan ruang ingatan seperti </li></ul><ul><li>XCHG [SUM],BX </li></ul><ul><li>pertukaran adalah seperti </li></ul><ul><li>XCHG [SUM],BX  ((DS)OH+SUM)  BX </li></ul>
  17. 17. Menukar 2 pembolehubah <ul><ul><li>title Exchange Two Variables     (Exchange.asm) </li></ul></ul><ul><ul><li>.model small </li></ul></ul><ul><ul><li>.stack 100h </li></ul></ul><ul><ul><li>.data </li></ul></ul><ul><ul><li>value1 db 0Ah </li></ul></ul><ul><ul><li>value2 db 14h </li></ul></ul><ul><ul><li>.code </li></ul></ul><ul><ul><li>main proc </li></ul></ul><ul><ul><li>     mov  ax,@data      ; initialize DS register </li></ul></ul><ul><ul><li>     mov  ds,ax </li></ul></ul><ul><ul><li>     mov  al,value1     ; load the AL register </li></ul></ul><ul><ul><li>     xchg  value2,al     ; exchange AL and value2 </li></ul></ul><ul><ul><li>     mov  value1,al     ; store AL back into value1 </li></ul></ul><ul><ul><li>     mov  ax,4C00h      ; exit program </li></ul></ul><ul><ul><li>     int  21h </li></ul></ul><ul><ul><li>main endp </li></ul></ul><ul><ul><li>end main </li></ul></ul>
  18. 18. Arahan aritmetik <ul><li>Melibatkan arahan tambah (ADD), tolak (SUB), darab (MUL) dan bahagi (DIV) </li></ul><ul><li>Juga mengandungi variasi arahan-arahan ini </li></ul><ul><li>Membentuk arahan-arahan seperti arahan ADC beserta arahan nilai bendera bawa </li></ul>
  19. 19. ADD (ADD ition ) <ul><li>Melakukan penambahan di antara operan sumber dan operan destinasi dan hasil di simpan di dalam operan destinasi </li></ul><ul><li>Format </li></ul><ul><li>ADD OD,OS di mana OD=operan destinasi </li></ul><ul><li> OS=operan sumber </li></ul><ul><li>ADD OD,OS </li></ul><ul><li>OD+OS  OD </li></ul><ul><li>(jika ada bawa, bendera bawa, </li></ul><ul><li>CF=1) </li></ul>
  20. 20. Arahan ADD <ul><li>Operan sumber boleh sebagai daftar, nilai segera atau ingatan </li></ul><ul><li>Operand destinasi boleh sebagai daftar atau ingatan </li></ul><ul><li>Hanya satu operan boleh sebagai operan ingatan </li></ul>
  21. 21. ADD Instruction Examples .data membyte db 25 memword dw 36 doubleVal dd 12340000h .code add al,5 add bx,ax add eax,edx add membyte,al add memword,bx add doubleVal,edx
  22. 22. <ul><li>Kombinasi operan destinasi dan operan sumber yang dibenarkan </li></ul>ADD BYTE PTR [BX],5H Nilai segera Ingatan ADD AX,35 Nilai segera Daftar am ADD AX,[BX] Daftar am Ingatan ADD [BX],AX Ingatan Daftar am ADD AX,DX Daftar am Daftar am Contoh arahan Operan destinasi Operan sumber
  23. 23. Contoh arahan <ul><li>Jika AX=1234H, BX=0001H, maka </li></ul><ul><li>ADD AX,BX adalah seperti jadual di bawah </li></ul>1 EF00H 0134H Selepas x EF00H 1234H Sebelum 2 0 0001H 1235H Selepas x 0001H 1234H Sebelum 1 Bendera Bawa BX AX
  24. 24. Arahan SUB <ul><li>Format : SUB OD, OS di mana OS operan sumber </li></ul><ul><li>OD operan destinasi </li></ul><ul><li>Menolak operak sumber dari operan destinasi </li></ul><ul><li>Operan sumber boleh jadi daftar, nilai segera atau ingatan </li></ul><ul><li>Operan destinasi boleh jadi daftar atau ingatan </li></ul><ul><li>Hanya satu operan boleh jadi operan ingatan </li></ul>
  25. 25. Contoh Arahan SUB .data membyte db 25 memword dw 36 doubleVal dd 12340000h .code sub al,5 sub bx,ax sub eax,edx sub membyte,al sub memword,bx sub doubleVal,edx

×