home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / utils / miscutil.zip / TBWINDOW.ZIP / QATTR.ASM < prev    next >
Assembly Source File  |  1987-06-05  |  3KB  |  97 lines

  1.               title          QATTR
  2.               page           60,132
  3.  
  4. attr          equ            [bp + 06h]
  5. snochk        equ            [bp + 0Ah]
  6. cols          equ            [bp + 0Eh]
  7. rows          equ            [bp + 12h]
  8. col           equ            [bp + 16h]
  9. row           equ            [bp + 1Ah]
  10.  
  11. program       segment
  12.               assume         cs:program
  13.               push           bp
  14.               mov            bp,sp
  15.               push           ds
  16.               push           es
  17.               mov            ah,15
  18.               int            10h
  19.               mov            dx,0B000h
  20.               push           dx
  21.               pop            es
  22.               mov            dx,03BAh
  23.               cmp            al,7
  24.               jz             ok
  25.               mov            dx,0B800h
  26.               push           dx
  27.               pop            es
  28.               mov            dx,03DAh
  29. ok:           lds            si,rows
  30.               mov            cx,ds:[si]
  31.               push           cx
  32.               lds            si,attr
  33.               mov            ax,ds:[si]
  34.               push           ax
  35.               lds            si,row
  36.               mov            ax,ds:[si]
  37.               dec            ax
  38.               lds            si,col
  39.               mov            bx,ds:[si]
  40.               dec            bx
  41.               shl            bx,1
  42.               mov            cl,05
  43.               shl            ax,cl
  44.               mov            cx,ax
  45.               shl            ax,1
  46.               shl            ax,1
  47.               add            cx,ax
  48.               add            bx,cx
  49.               pop            ax
  50.               push           bx
  51.               lds            di,snochk
  52.               mov            cx,ds:[di]
  53.               jcxz           snow
  54.               pop            bx
  55. nxtrow:       lds            di,cols
  56.               mov            cx,ds:[di]
  57.               cld
  58. nosnow:       mov            di,bx
  59. doagain:      inc            di
  60.               stosb
  61.               loop           doagain
  62.               pop            cx
  63.               dec            cx
  64.               push           cx
  65.               add            bx,160
  66.               jcxz           endit
  67.               jmp            nxtrow
  68. snow:         pop            bx
  69. nxtrow1:      lds            di,cols
  70.               mov            cx,ds:[di]
  71.               cld
  72.               mov            di,bx
  73.               cli
  74. doagain1:     inc            di
  75.               push           ax
  76. waitlo1:      in             al,dx
  77.               shr            al,1
  78.               jc             waitlo1
  79. waithi1:      in             al,dx
  80.               shr            al,1
  81.               jnc            waithi1
  82.               pop            ax
  83.               stosb
  84.               loop           doagain1
  85.               pop            cx
  86.               dec            cx
  87.               push           cx
  88.               add            bx,160
  89.               jcxz           endit
  90.               jmp            nxtrow1
  91. endit:        pop            cx
  92.               pop            es
  93.               pop            ds
  94.               pop            bp
  95. program       ends
  96.               end
  97.