PART I
.686P use certain microprocesser
.model storage medol pseudoinstruction
ExitProcess Windows API, relying on includelib, using stdcall
.data .stack .code data segment definition pseudoinstruction
PART II
universal registers
| register name | use |
|---|---|
| eax | accumulator |
| ebx | base address |
| ecx | counter |
| edx | data |
| esi | source index |
| edi | destination index |
| esp | stack top pointer |
| ebp | base address pointer |
the value of esp will be updated automatically when executepush pop ret
all of these registers are 32bits
ax, bx, cx, dx, si, di, sp, bp are 16bits
we also have ah, bh, ch, dh and al, bl, cl, dl
flag registers
| register name | use |
|---|---|
| SF | sign flag |
| ZF | zero flag |
| OF | overflow flag |
| CF | carry flag |
| AF | auxiliary carry flag |
| PF | parity flag |
IP/EIP/RIP: storage effective address(EA)