home *** CD-ROM | disk | FTP | other *** search
/ ftp.update.uu.se / ftp.update.uu.se.2014.03.zip / ftp.update.uu.se / pub / rainbow / msdos / decus / RB139 / mwc-rb.lzh / PUTLINE.S < prev    next >
Text File  |  1986-03-26  |  3KB  |  108 lines

  1. /       module name Rainbow
  2.  
  3.         .shri
  4.  
  5.  
  6.         .globl disable_
  7. disable_:
  8.         push    si
  9.         push    di
  10.         push    bp
  11.         mov     di, $0x0008
  12.         int     24
  13.         pop     bp
  14.         pop     di
  15.         pop     si
  16.         ret
  17.  
  18.  
  19.         .globl enable_
  20. enable_:
  21.         push    si
  22.         push    di
  23.         push    bp
  24.         mov     di, 0x000a
  25.         int     24
  26.         pop     bp
  27.         pop     di
  28.         pop     si
  29.         ret
  30.  
  31.  
  32.         .globl fv_RingBell_
  33. fv_RingBell_:
  34.         push    si
  35.         push    di
  36.         push    bp
  37.         mov     di, $0x001e
  38.         int     24
  39.         pop     bp
  40.         pop     di
  41.         pop     si
  42.         ret
  43.  
  44.  
  45.         .globl putline_
  46. putline_:                               /putline(row, col, txt)
  47.         push    si                      /save registers
  48.         push    di
  49.         push    bp
  50.  
  51.         mov     di, $0x0008             / disable cursor
  52.         int     24
  53.  
  54.         mov     bp, sp
  55.  
  56.         push    12(bp)                  /call strlen to get length(txt)
  57.         call    strlen_
  58.         add     sp, $2
  59.         mov     si, ax                  /save length in si for later
  60. /
  61.         mov     ax, $0x0002             /code for text only
  62.         movb    bh, 10(bp)              /bh <- column
  63.         movb    bl,  8(bp)              /bl <- row
  64.         mov     cx, si                  /set length computed above into cx       
  65.         mov     si,12(bp)               /offset of txt
  66.         mov     bp,ds                   /segment of txt
  67.         mov     di, $0x00014
  68.         int     24
  69. /
  70.         mov     di, $0x000a             /re-enable cursor
  71.         int     24
  72.         pop     bp                      /restore registers
  73.         pop     di
  74.         pop     si
  75.         ret
  76.  
  77.         .globl putattr_
  78. putattr_:                               /putattr(row, col, txt)
  79.         push    si                      /save registers
  80.         push    di
  81.         push    bp
  82.  
  83.         mov     di, $0x0008             / disable cursor
  84.         int     24
  85.  
  86.         mov     bp, sp
  87.  
  88.         push    12(bp)                  /call strlen to get length(txt)
  89.         call    strlen_
  90.         add     sp, $2
  91.         mov     si, ax                  /save length in si for later
  92. /
  93.         mov     ax, $0x0001             /code for text only
  94.         movb    bh, 10(bp)              /bh <- column
  95.         movb    bl,  8(bp)              /bl <- row
  96.         mov     cx, si                  /set length computed above into cx       
  97.         mov     dx,12(bp)               /offset of txt
  98.         mov     bp,ds                   /segment of txt
  99.         mov     di, $0x00014
  100.         int     24
  101. /
  102.         mov     di, $0x000a             /re-enable cursor
  103.         int     24
  104.         pop     bp                      /restore registers
  105.         pop     di
  106.         pop     si
  107.         ret
  108.