home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / assemblr / library / sampler0 / 35.asm < prev    next >
Assembly Source File  |  1987-05-07  |  2KB  |  64 lines

  1. .radix    16
  2.         ;
  3. cseg    segment
  4.         assume    cs:cseg, ds:cseg
  5.         ;
  6.         video    equ    10    ; bios video interrupt
  7.         exit    equ    20    ; return to ccp routine
  8.         getmode    equ    0f
  9.         setmode    equ    0
  10.         cgual    equ    1110    ; char gen routine, user alpha load
  11.         inforeq    equ    1130    ; char gen routine, get info
  12.         ;
  13.         org    100
  14.         ;
  15.         ; get pointer to rom character set (rom double dot set)
  16.         ;
  17. line35:        mov    bh, 03        ; get pointer to char set (double dot)
  18.         mov    ax, inforeq
  19.         int    video        ; returns es:bp as pointer
  20.         ;
  21.         ; set up to copy to here
  22.         ;
  23.         mov    ax,  es
  24.         mov    ds,  ax        ; set ds to char seg segment
  25.         mov    ax,  cs
  26.         mov    es,  ax        ; set es to this segment
  27.         mov    si,  bp        ; move from char set ...
  28.         mov    di, offset temp    ; to the end of the code
  29.         cld
  30.         xor    ax,  ax
  31.         mov    bx, 0100    ; number of characters
  32.         ; now move the character set
  33. letterloop:    mov    cx, 0004    ; 4 words (8 bytes) /char
  34.         rep    movsw
  35.         stosw            ; and zero last word
  36.         dec    bx
  37.         jnz    letterloop    ; do next character
  38.         ;
  39.         ; get the current mode
  40.         mov    ah, getmode
  41.         int    video
  42.         ;
  43.         ; above returns mode in al, below uses it there
  44.         ;
  45.         ; set the current mode
  46.         mov    ah, setmode
  47.         int    video
  48.         ;
  49.         ; tell bios to upload what we just downloaded
  50.         ;
  51.         ; (do this only  after setting mode ) 
  52.         mov    bp, offset temp    ; es still points at us, es:bp is temp
  53.         xor    dx, dx        ; offset into table is zero
  54.         mov    cx, 0100    ; now load 
  55.         mov    bx, 0a00
  56.         mov    ax, cgual
  57.         int    video
  58.         int    exit
  59.         ;
  60.         temp    db    0    ; temp storage for char set
  61.         ;
  62. cseg    ends
  63.     end    line35
  64.