flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
revolution 29 Mar 2009, 12:00
Code: use32 JMP FAR DWORD AAAA:BBBB ;66 EA BBBB AAAA use16 JMP FAR AAAA:BBBB ;EA BBBB AAAA Last edited by revolution on 29 Mar 2009, 12:06; edited 1 time in total |
|||
![]() |
|
edfed 29 Mar 2009, 12:02
66 is a size prefix.
your code is first encoded for 32 bits instrctions, then , the processor needs to see the instruction as a 16bit instruction, then, the size prefix is there. if you encode 32bits instructions in 16 bits code, you have the same result. |
|||
![]() |
|
Tomasz Grysztar 29 Mar 2009, 12:05
revolution wrote:
I'd rather put it this way: Code: use32 jmp far 0xAAAA:0xBBBB ; EA BB BB 00 00 AA AA jmp far dword 0xAAAA:0xBBBB ; 66 EA BB BB AA AA use16 jmp far 0xAAAA:0xBBBB ; EA BB BB AA AA jmp far pword 0xAAAA:0xBBBB ; 66 EA BB BB 00 00 AA AA ouadji: you're not supposed to put "use16" code into PE drivers (well, unless you really know what you're doing). You only have to put the right size operator into the instruction to generate the 16-bit variant. |
|||
![]() |
|
revolution 29 Mar 2009, 12:07
Wow, I just fixed my post and already two replies in between. Hehe, that will teach me to post before testing.
|
|||
![]() |
|
ouadji 29 Mar 2009, 16:17
ok, I understand, thank you very much PS : to Tomasz Grysztar "You only have to put the right size operator into the instruction to generate the 16-bit variant" ... yes indeed, this is the right solution. thank you for your advice. ![]() |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.