Jean pierneef
2022-12-26 09:23:31 UTC
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 ?
.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 ?