Seems we have all dword pointers on the stack. This is the stack I have for the DOSVM_EmulateInterruptPM call, Cs and Eip have been pushed on the stack. 0x36f and 0xc are the location the location of the call to the interrupt.
Wine-dbg>info stack Stack dump: 0x41a60948 (_end+0x10bff4): 4008de8b 41a60a44 0000003d 00000000 0x41a60958 (_end+0x10c004): 40016720 00010206 0000036f 0000000c ... Wine-dbg>disass 0x36f:0xc 0x036f:0x0000000c: int $0x3d 0x036f:0x0000000e: movw 0xfffffffc(%bp),%ax
I'm using a word because I am trying to split the segment word and the offset word. My references show the stack, in real mode, as 4
bytes with
two being the offset and two being the segment. The whole problem
results from
trying to alter this return address in real mode where I have to
modify the
address as two parts. Maybe there is a difference under wine. God Bless, --Robert 'Admiral' Coeyman
===== Sylvain Petreolle (spetreolle_at_users_dot_sourceforge_dot_net) ICQ #170597259
alias upsf='false ; while [ $? -ne 0 ] ; do cvs update -APd ; done 2>&1 |tee cvslog'
"What if tomorrow the War could be over ?" Morpheus, in "Reloaded".
___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com