Forums before death by AOL, social media and spammers... "We can't have nice things"
|    alt.os.development    |    Operating system development chatter    |    4,255 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 3,077 of 4,255    |
|    wolfgang kern to James Harris    |
|    Re: The EA jump immediately after enabli    |
|    14 Feb 22 10:56:40    |
      From: nowhere@nevernet.at              On 13/02/2022 16:50, James Harris wrote:              [about stack...]       > Not sure what you mean but AIUI the B bit (big bit) of the SS descriptor       > selects the size of stack pointer (32-bit ESP or 16-bit SP) used for       > implicit stack references.              > Rather than having all segments 32-bit or all segments 16-bit it is       > looking more and more likely that a programmer could use any arbitrary       > mix of 16-bit and 32-bit segments - even on current processors - so       > having a 'big' code segment would make operands and addresses default to       > 32-bit while simultaneously having a 'small' stack segment would make       > implicit stack references use SP rather than ESP.              you mean implicit stack references (all push pop call return)?              BUT how about       PM32:       8B 44 24 fc mov eax.[esp-04] ;SP or ESP depending on seg-size ?       RM:       67 8B 44 24 fc mov ax,[esp-04] ;could have an UnReal flat big stack              and I'm not sure yet if my mixed code CALL/RET work on SP only due to       my 16 bit stack. OK I use 66 c3 and 66 E8xxxxxxxx here and there and my       esp is always in 16 bit range (initially decided to fit BIOS calls).       So I never noticed it's using only SP.       __       wolfgang              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca