home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung 2 / Power-Programmierung CD 2 (Tewi)(1994).iso / c / library / dos / diverses / cexpress / keyboard / defgrphc.asm < prev    next >
Encoding:
Assembly Source File  |  1989-05-03  |  1.0 KB  |  38 lines

  1. ;void  define_graphics_cursor(pattern,horz_spot,vert_spot);
  2. ;  char  *pattern;
  3. ;  unsigned short  horz_spot,vert_spot;
  4.  
  5.     EXTRN  _memory_model:byte
  6.  
  7. _TEXT    SEGMENT BYTE PUBLIC 'CODE'
  8.     ASSUME CS:_TEXT
  9.     PUBLIC _define_graphics_cursor
  10. _define_graphics_cursor proc near
  11.     push bp            ;save BP
  12.     mov  bp,sp        ;set stack frame
  13.     cmp  _memory_model,0    ;near or far?
  14.     jle  begin        ;jump if near
  15.     inc  bp            ;else add 2 to BP
  16.     inc  bp            ;
  17. begin:    cmp  _memory_model,2    ;data near or far?
  18.     jb   L1            ;jump if near
  19.     les  dx,dword ptr[bp+4] ;point ES:DX to array
  20.     inc  bp            ;add two to stack pointer
  21.     inc  bp            ;  to compensate for DW ptr
  22.     jmp  short L2        ;jump ahead
  23. L1:    mov  ax,ds        ;DS to ES
  24.     mov  es,ax        ;
  25.     mov  dx,[bp+4]        ;point ES:DX to array
  26. L2:    mov  bx,[bp+6]        ;horizontal hot spot
  27.     mov  cx,[bp+8]        ;vertical hot spot
  28.     mov  ax,9        ;function number
  29.     int  33h        ;define the cursor
  30.     pop  bp            ;restore BP and quit
  31.     cmp  _memory_model,0    ;quit
  32.     jle  quit        ;
  33.     db   0CBh        ;RET far
  34. quit:    ret            ;RET near
  35. _define_graphics_cursor ENDP
  36. _TEXT    ENDS
  37.     END
  38.