Sunday 1 December 2013

Cookbook of Assembly

1. Kita akan modifikasi register berikut ini: AX, DS, CS, IP  menggunakan perintah register, assemble, dump, enter, trace command.

register: to display the content of our CPU register
assemble: to entering code to our code segment
dump: to display the content of our data segment
enter: to fill/change the content of our data segment
trace: to execute a code one at a time.




2. Semua angka yang dimasukkan kedalam debugger adalah hexadecimal.

3. Segment register = DS, ES, SS, CS

DS= data segment
ES = extra segment
SS =
CS = Code segment (place of code)

Flags: NV, VP, EI, PL, NZ, NA, PO, NC


Langkah 1: melihat isi register untuk pertama kali
How?
-r
What you see?
AX, BX, CX, DX, ......
AX= Acummulator register (Arithmetic and logic)
DX = Data register (DH + DL)

Int 21: print character to screen
Int 20: terminate program

-h
contoh: 
-n name

Langkah 2: mengisi register AX dengan nilai 1234
How?
- r ax
:1234

Langkah 3: Melihat (dump) isi register DS (untuk pertama kali)
How?
-d ds:0000
ds:0000
0B3C:0000

What you see?
Isi dari memory dari 0B3C:0000 sampai 0B3C:0070 dan printable ASCII character-nya
. --> unprintable ASCII character

Langkah 4: Memasukkan(enter)/mengubah data di data segment
How?
-e ds:0000


Langkah 5: Melihat kembali hasil perubahan yang tlah dilakukan
How?
-d ds:0000

Langkah 6: Put some code to the machine
How?
-a cs
Watch IP address (next instruction to be fetched)
so
-a cs:100
mov [0], ax

Langkah 7: trace
-t
what?
IP pointer from 0100 to 0103 is change


Langkah 8: Periksa isi konten register ds
-d ds:0000

What you see?
isi dari register ds:0000 berubah menjadi Langkah 4

Langkah 9: Assemble another code
- a cs:0000
mov ax, [0]

Langkah 10: Ubah register IP (Instruction Pointer)
-r IP



1. Ketik a
2. Setelah tanda - muncul, ketik baris berikut ini satu baris per satu baris:
mov ax,B800
mov ds,ax
mov byte[0F9E],24
int 20
3. Ketik return/enter dua kali, untuk keluar dari editor
4. Ketik g untuk menjalankan program

Keterangan:

No comments:

Post a Comment