Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Register di dalam 8088/8086 Nama RegisterBitKatagori AX,BX,CX,DX16general AH,AL,BH,BL,CH,CL,DH,DL8 SP,BP16pointer SI,DI16index CS,DS,SS,ES16segment IP16instruction.

Presentasi serupa


Presentasi berjudul: "Register di dalam 8088/8086 Nama RegisterBitKatagori AX,BX,CX,DX16general AH,AL,BH,BL,CH,CL,DH,DL8 SP,BP16pointer SI,DI16index CS,DS,SS,ES16segment IP16instruction."— Transcript presentasi:

1

2 Register di dalam 8088/8086 Nama RegisterBitKatagori AX,BX,CX,DX16general AH,AL,BH,BL,CH,CL,DH,DL8 SP,BP16pointer SI,DI16index CS,DS,SS,ES16segment IP16instruction FR16flag Catatan : register general 16 bit tidakbisadigunakanbersamaandengan register general 8 bit, contoh : movax,bltidakdilayani

3 Peta memori dan I/O 8088/8086 External Memory Address Space Code segment 64 k byte Data Segment 64 K Byte Stack segment 64 k Byte Extra Segment 64 k Byte IP SP BP SI DI CS DS SS ES AHAL BH CH DH BL CL DL Input / output Address space FFFFF 0000 FFFF Limit PC 9FFFF

4 BIOS Peta Memori 8 bit FFFFF Operating System Program Aplikasi Program Data ?

5 Segmentasi – Membagi memori menjadi blok-blok 64 kB secara dinamis – Dipisahkan blok memori menjadi blok fungsi 64 kB untuk program  Code Segment 64 kB untuk data  Data Segment 64 kB untuk stack  Stack Segment 64 kB untuk tambahan data (option)  Extra Segment

6 BIOS StatisvsDinamis 64 KB OS BIOS DS SS CS ES OS CS DS SS ES

7 Segment Karena tersedia lebih dari 4 segment, maka bisa dibuat lebih dari 1 kelompok segment –  multi tasking – Pindah program (task) hanya mengubah segment Setiap program bisa dimulai dari alamat 0000 Program Program Program3 0000

8 Contoh : FFFFF DS  DS : DS  DS : 2000 DS F  DS : XXXX X

9 Perhitungan alamat fisik (Physical Address) Segmen untuk Program : Format : CS : IP physical address A0-A19=2E5F3 IP=95F3 CS=25000 Adder Geser kiri CS satu digit Segmen untuk Data : Format : DS : EA (Effective Address) physical address A0-A19=2E5F3 EA=95F3 DS=25000 Adder Geser kiri DS satu digit

10 Perhitungan alamat fisik (Physical Address) Cont’d Segmen untuk Stack : Format : SS : SP physical address A0-A19=2E5F3 SP=95F3 SS=25000 Adder Geser kiri SS satu digit Note : Physical Address Logical Adress

11 Ciri alamat segment Tidakbisadiletakkandialamatawalselain xxxx0 Alamatsegmenterakhirpasti F000 Contoh: CS= F100 tidakboleh Min CS:IP  F100:0000 alamatfisik F1000 Maks CS:IP  F100:FFFF alamatfisik 100FFF diluarbatasmaksimum FFFFF

12 Contoh lain CS:1000, offset : FFFF  fisik : 1FFFF Fisik:2FFFF, ES:2100  offset:EFFF

13 H/W Segment  Program IP  offset CS  segment  Data Offset sesuai mode pengalamatannya DS  segment  Stack SP  offset SS  segment ES CS SS DS CONTROL SYSTEM AHAL BHBL CHCL DHDL SP BP SI DI OPERAND FLAGS C-BUS IP ALU INSTRUCTION STREAM BYTE QUEUE A-BUS BIU EU

14 H/W alamat Alamat program – IP  offset – CS  segment – Fisik:IP + CS(digeser) – Contoh IP:2345 ES CS SS DS CONTROL SYSTEM AHAL BHBL CHCL DHDL SP BP SI DI OPERAND FLAGS C-BUS IP ALU INSTRUCTION STREAM BYTE QUEUE A-BUS BIU EU

15 Perintah PUSH –Asumsi : SP=1236,AX=24B6,DI=85C2,DX=5F93 Perhatikan isi stack setiap dijalankan perintah sbb: PUSH AXPUSH DIPUSH DX PUSH DXPUSH DIPUSH AXstart SS: SS:1235 B6 SS: SS:1233 C2 SS:1232 5F SS: SS:1230

16 Perintah POP –Asumsi : SP=1230, Perhatikan isi stack setiap dijalankan perintah berikut : POP AXPOP DXPOP BX POP BXPOP DXPOP AXSTART SS: SS:1235 B6 SS: SS:1233 C2 SS:1232 5F SS: SS:1230

17 INSTRUKSI KENDALI Adalah instruksi untuk mengatur dan mengarahkan alur program dan terkadang arah suatu program perlu di belokan atau dicabangkan. Beberapa contoh instruksi kendali yg digunakan adalah : JMP(lompat),LOOP(kalang), CALL(memanggil prosedur), RET(kembali ke program utama) dan INT (interupsi)

18 1. Lompatan (JMP) Instruksi akan menyebabkan program tersebut melompati bagian tertentu pd program dan mengeksekusi instruksi yg di kehendaki, ada 2 jenis lompatan yaitu: a. lompat tak bersyarat (unconditional jump) b. Lompat bersyarat (conditional jump)

19 A. Lompatan tak bersyarat adalah jenis lompatan ke lokasi memori tertentu tanpa ada pengecekan kondisi tertentu. Ada 3 jenis lompatan tak bersyarat yaitu : 1. Lompatan pendek (short jump) adalah instruksi yg mengizinkan program melakukan lompatan sejauh-jauhnya kurang lebih 127 byte ke depan atau ke belakang, dan lompatan pendek terdiri dari 2 byte(1 byte opcode dan 1 byte operand) Contoh : JMP SHORT 04h

20 2.Lompatan dekat (near jump) Pada dasarnya sama dengan lompatan pendek tetapi jangkauannya hanya 32 byte. Instruksi lompatan ini memp 3 byte yaitu 1 byte untuk opcode dan 2 byte untuk opperand. Contohnya : JMP 0200h

21 3. Lompatan jauh (far jump) Instruksi yg mengizinkan program melakukan lompatan ke seluruh daerah memory. Instruksi ini terdiri dari 5 byte,1 byte opcode,2 byte pertama operand untuk menunjukan alamat offset yg baru dan 2 byte terakhir operand untuk menunjukan alamat segmen yg baru. Syntaksnya adalah : JMP IP low Ip high CS low Cs high

22 B. Lompatan Bersyarat Seringkali lompatan bersyarat ini merupkn lompatan pendek atau dekat. Biasanya didahului dengan instruksi pengujian (CMP atau TEST). Lompatan bersyarat akan mengecek kondisi bit- bit flag register : S (sign), Z (zero),C (carry),P (parity) dan O (over flow) jika yg dicek benar maka lompatan bersyarat ke alamat yg dituju akan dilakukan, sedangkan apabila salah maka yg di eksekusi adalah baris instruksi yg berikutnya.

23 Contoh-contohnya : JA kondisi yg di cek : C=0,Z=0 JAE kondisi yg dicek : C=0 JB kondisi yg dicek : C=1 JBE kondisi yg dicek : C=1, Z=1 JG kondisi yg di cek : Z=0, S=0 JGE kondisi yg di cek : S=0

24 KALANG ( LOOP) Operasi kalang digunakan untuk mengulangi proses tertentu sebanyak cacah tertentu. Jumlah cacah perulangan diletakan di register counter (CX atau ECX) operasi loop akan mengurangi isi register counter dengan 1(decrement) dan bila isi register counter bernilai 0 maka perulangan akan dihentikan.

25 MEMANGGIL PROSEDUR(CALL) DAN KEMBALI KE PROGRAM UTAMA (RET) 1. Near CALL dan Near RET. Pada dasarnya near call mirip dengan Near jmp yaitu jangkauannya 32 Kbyte. Instruksi ini mempunyai 3 byte opcode dan 2 byte operand untuk menunjukan displacement. Suatu instruksi call merupakan near call apabila prosedur yg di panggil tersebut adalah near prosedur, dan secara otomatis instruksi RET nya adalah Near RET.

26 2. Far Call dan Far RET Far call mirip dengan far jmp (jangkauannya seluruh daerah memory) instruksi far call terdiri dari 5 byte : 1 byte opcode,2 bytepertama operand untuk menunjukan alamat ofset yg baru dan 2 byte terakhir operand untuk menunjukan alalmat segmen yg baru. Suatu instruksi CALL merupakan far call bila prosedur yg dipanggil tersebut adalah Far prosedur dan secara otomatis instruksi RET nya ADALAH Far RET.

27 INTERUPSI(INTERRUPT) Interupsi adalah permintaan khusus kepada mikroprosessor untuk melakukan sesuatu. Bila terjadi interupsi maka akan dihentikan dahulu apa yg sedang dikerjakan dan melayani permintaan khusus tersebut.

28 1. Vektor interupsi Adalah sebuah interupsi 4 byte yg disimpan pada 1024 byte pertama memory(000000h-0003FFFh) jika MP dijalankan pada real mode(dalam protected mode,tabel vektor ini digantikan oleh deskriptor-deskriptor)

29 2. Interupsi pada PC (personal computer) Berbeda dengan intrupsi pada interupsi di atas sebab PC pada awal di kembangkan berbasis dengan tabel tersendiri.


Download ppt "Register di dalam 8088/8086 Nama RegisterBitKatagori AX,BX,CX,DX16general AH,AL,BH,BL,CH,CL,DH,DL8 SP,BP16pointer SI,DI16index CS,DS,SS,ES16segment IP16instruction."

Presentasi serupa


Iklan oleh Google