home bbs files messages ]

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