verOS

:

x86- , - , , .
, x86- EAX, EBX, ECX EDX. 16- 32-:

┌────────┬────────┬────────┬────────┐┌────────┬────────┬────────┬────────┐
│EAX│ECX│EDX│EBX││EAX│ECX│EDX│EBX│
│/ \│/ \│/ \│/ \││/ \│/ \│/ \│/ \│
│EAH EAL │ECH ECL │EDH EDL │EBH EBL ││EAH  AX │ECH  CX │EDH  DX │EBH  BX │
│    / \ │    / \ │    / \ │    / \ ││    / \ │    / \ │    / \ │    / \ │
│  AH AL│  CH CL│  DH DL│  BH BL││  AH AL│  CH CL│  DH DL│  BH BL│
└────────┴────────┴────────┴────────┘└────────┴────────┴────────┴────────┘
x86- -, 0x66-. . :

EAX=0x01234567EDX=0x89ABCDEF
-----------------------------
6686C4|XCHGEAL,EAH>EAX=0x45670123
>>>XCHGAL,AH>EAX=0x01236745
>>>BSWAPEAX>EAX=0x45672301
>>>XCHGAL,AH>EAX=0x45670123

6686C2|XCHGEAL,EDH>EAX=0x012389ABEDX=0x4567CDEF
>>>XCHGAL,AH>EAX=0x01236745
>>>BSWAPEDX>EDX=0xEFCDAB89
>>>XCHGDL,DH>EDX=0xEFCD89AB
>>>XCHGAX,DX>EAX=0x012389ABEDX=0xEFCD6745
>>>BSWAPEDX>EDX=0x4567CDEF

6686E2|XCHGEAH,EDH>EAX=0x89AB4567EDX=0x0123CDEF
>>>BSWAPEAX>EAX=0x67452301
>>>BSWAPEDX>EDX=0xEFCDAB89
>>>XCHGAX,DX>EAX=0x6745AB89EDX=0xEFCD2301
>>>BSWAPEDX>EDX=0x0123CDEF
>>>BSWAPEAX>EAX=0x89AB4567

6602C4|ADDEAL,EAH>EAX=0x0123468A
>>>XCHGDX,AX|EAX=0x0123CDEFEDX=0x89AB4567
>>>BSWAPEAX|EAX=0xEFCD2301
>>>XCHGAL,AH|EAX=0xEFCD0123
>>>ADDDX,AX|EDX=0x89AB468A
>>>XCHGAL,AH|EAX=0xEFCD2301
>>>BSWAPEAX|EAX=0x0123CDEF
>>>XCHGDX,AX|EAX=0x0123468AEDX=0x89ABCDEF

, 6 , :

╔════════╦═════════╦═════════════╦═══════════════════════════════════╗
║║║║堠║
╠════════╬═════════╬═════════════╬═══════════════════════════════════╣
║ES║Y║/║ 蠠║
║CS║N║ ║ 蠠║
║SS║L║ ║ 堠║
║DS║Z║/║-/ ║
║FS║M║/║, ║
║GS║X║/║ 𠠠║
║[EBP-n]║ W127..W0║/║ ࠠ║
║[EBP+n]║ V0..V127║/║ ║
╚════════╩═════════╩═════════════╩═══════════════════════════════════╝

- , :

ADD EAX,[EDX+ECX*8-5] >>> EAX += EDX + ECX * 8 - 5
ADD [EDX+ECX*8-5],EAX >>> EAX += EDX - ECX * 8 - 5
XOR EAX,[EDX+ECX*8-5] >>> EAX ^= EDX + ECX * 8 - 5
XOR [EDX+ECX*8-5],EAX >>> EAX ^= EDX - ECX * 8 - 5

:
CALL [EDX+ECX*8+5]    >>>
JMP  [EDX+ECX*8+5]    >>>
POP  [EDX+ECX*8+5]    >>>
PUSH [EDX+ECX*8+5]    >>>

15 2012