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,534 of 4,675    |
|    Jean pierneef to Jean pierneef    |
|    Re: Debug.exe Memory location.    |
|    26 Dec 22 03:08:54    |
      From: jean.pierneef@nospicedham.gmail.com              On Monday, December 26, 2022 at 11:33:44 AM UTC+2, Jean pierneef wrote:       > For the purpose of getting to grips with debug.exe on MSDOS 6.22 I have the       following code example:       >       > .model tiny       > .data       > msg DB 'test string',0       > .code       > start:       > mov al,msg       > end start       >       > When I compile it with tasm /zi t.asm and link it with tlink t I get the       following behaviour in debug.exe:       >       > When pressing 'r' to show registers and next command, I get:       >       > mov al,[0008] as the next instruction to execute.       >       > I was expecting the memory location of 'test string' to thus be at ds:0008       but when I do:       >       > d ds:0108       >       > I find 'test string' there instead (and garbage at ds:0008).       >       > Can somebody please explain why 0100h is 'subtracted' from 0108h when I do       the 'r' command in debug.exe ?              I have tried this on an MSDOS 6.22 running in Virtual Box (tasm v2.0, unknown       debug.exe version) as well as on Doxbox (tasm 2.51, debug.exe 1.25 which I       presume comes from some open source project).              I do not understand why "test string" is at location ds:0108h in memory, but       why debug says it wants to mov 0008 into the al register. Why the discrepancy ?              --- 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