[Back to MEMORY SWAG index] [Back to Main SWAG index] [Original]
{
ET> On entry in an assembler routine, I haven't (yet?) noticed a
ET> difference between the DS and ES registers. Can I rely on that??
No. You can assume ES to be uninitialized (ie, random value), and
DS pointing to the program's data segment.
Try this and see for yourself :-)
Note that if you change "b^:=a" to "a:=b^", DS and ES hold the same
value when entering ShowESAndDS.
}
Var a : String ;
b : ^String ;
Procedure ShowESAndDS ;
Var _ES,
_DS : Word ;
Begin
Asm
Mov _ES, ES
Mov _DS, DS
End ;
WriteLn('ES=', _ES, ', DS=', _DS) ;
End ;
Begin
New(b) ;
b^:=a ;
ShowESAndDS ;
Dispose(b) ;
End.
[Back to MEMORY SWAG index] [Back to Main SWAG index] [Original]