[Back to TEXTEDIT SWAG index]  [Back to Main SWAG index]  [Original]

{
BRIAN PAPE

Ok, I was writing a little program that I was trying to make as small as
possible, so I wrote this little WriteString function.  Since I'm not an
assembly language mogul by any stretch of the imagination, could one of
you assembly wizards out there tell me if this is Ok.  I mean, it works
fine (and saves almost 1k over linking in the writeln code), but I want
to make sure that I'm not trashing a register or something that needs to
be preserved.  Thanks...  BTW, anybody, go ahead and use it if it
doesn't crash!
}

procedure WriteString(s : string); assembler;
asm
  push ds
  mov  ah, 40h    { DOS fcn call 40h write string to file handle }

  mov  dx, seg s
  mov  ds, dx
  mov  bx, offset s

  mov  dx, bx     { now put the offset into dx for the fcn call }
  inc  dx         { plus 1, to avoid the length byte }
  mov  cl, [bx]   { cl is length to write }
  xor  ch, ch

  mov  bx, 1      { file handle to write to }
  int  21h
  pop  ds
end;


[Back to TEXTEDIT SWAG index]  [Back to Main SWAG index]  [Original]