Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.lang.asm.x86    |    Ahh, the lost art of x86 assembly    |    4,675 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 4,515 of 4,675    |
|    Paul Edwards to Paul Edwards    |
|    Re: seg keyword    |
|    22 Nov 22 18:14:07    |
      From: mutazilah@nospicedham.gmail.com              On Sunday, November 20, 2022 at 8:35:48 PM UTC+8, Paul Edwards wrote:              > And here is the new code, which is now preventing PDOS/86       > from booting:              I decided to have another crack at this, to see if the       recent changes to pdos/86 to build it using the huge       memory model instead of the large memory model,       with a 32-bit size_t, but still pure 8086 code, had made       this problem go away. But the problem was still there.              > .data       > addr0 dd handler0       > addr1 dd handler1       > addr3 dd handler3       > addr20 dd handler20       > addr21 dd handler21       > addr25 dd handler25       > addr26 dd handler26       >       > .code       >       > instint proc uses bx es ds       > mov bx, 0       > push bx       > pop es       > cli       > lds bx, addr0              This causes ds to be destroyed.              > mov es:[0h], bx       > mov es:[02h], ds       >       > lds bx, addr1              This uses the destroyed ds to attempt to access addr1 :-)              I solved the problem by doing this:               push ds        lds bx, addr1        mov es:[04h], bx        mov es:[06h], ds        pop ds              And now all of wasm, masm and as86 assemble the code,       but I can only test that wasm and masm actually work.              BFN. Paul.              --- 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