;This program will put out message(s)

;Demos a procedure

        mov     si, offset msg1
        call    printit

        mov     si, offset msg2
        call    printit

        int     20h

msg1     db 'I just love assembler!!!',0

msg2     db 'Oh yeah, right.  Sure.  I believe you....',0

:This procedures requires that SI point to an ASCIIZ string
printit:  push  ax
          push  bx
          push  si

          mov   ah, 0eh
          mov   bh, 0                   ;setup for write teletype

prlp:     mov   al, [si]
          or    al, al
          je    prfini

          int   10h
          inc   si
          jmp   prlp

prfini:   mov   al, 0ah
          int   10h
          mov   al, 0dh                 ;carriage return/line feed
          int   10h

          pop   si
          pop   bx
          pop   ax