home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / tasm / chapxmpl.arc / UP1.ASM < prev    next >
Encoding:
Assembly Source File  |  1988-10-09  |  1.0 KB  |  43 lines

  1.         DOSSEG
  2.         .MODEL    SMALL
  3.         .DATA
  4.         GLOBAL    ErgebnisString:BYTE
  5.         .CODE
  6. ;
  7. ; Unterprogramm, kopiert zunächst einen String
  8. ; und hängt dann den zweiten String hinter dem
  9. ; ersten String in ErgebnisString an.
  10. ;
  11. ; Eingabewerte:
  12. ;    DS:AX = Zeiger auf den ersten String
  13. ;    DS:BX = Zeiger auf den zweiten String
  14. ;
  15. ; Ausgabewerte:
  16. ;    Keine
  17. ; Veränderte Register:
  18. ;    AL, SI, DI, ES
  19. ;
  20.         PUBLIC    StringsVerketten
  21. StringsVerketten    PROC
  22.         cld
  23.         mov    di,SEG ErgebnisString
  24.         mov    es,di        ; ES:DI zeigt auf ErgebnisString
  25.         mov    di,OFFSET ErgebnisString
  26.         mov    si,ax        ; Ersten Stringzeiger laden
  27. String1Schleife:
  28.         lodsb            ; Zeichen aus String1
  29.         and    al,al        ; Ist es 0?
  30.         jz    ZweiterString    ; ja, fertig mit dem ersten
  31.         stosb            ; Zeichen speichern
  32.         jmp    String1Schleife
  33. ZweiterString:
  34.         mov    si,bx        ; Zweiten Stringzeiger laden
  35. String2Schleife:
  36.         lodsb            ; Zeichen laden
  37.         stosb            ; Zeichen speichern
  38.         and    al,al        ; Ist es 0?
  39.         jnz    String2Schleife    ; Nein, nächstes Zeichen
  40.         ret                ; fertig
  41. StringsVerketten    ENDP
  42.         END
  43.