home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 October / PCWorld_1999-10_cd1.bin / Novinky / expert / INTRO256 / BURNING.ZIP / burning.asm next >
Assembly Source File  |  1999-08-23  |  1KB  |  117 lines

  1. .386
  2. cra segment use16
  3. assume es:cra,cs:cra,ss:cra,ds:cra
  4. org 100h
  5. all:
  6.  
  7.  mov  al,13h
  8.  int  10h
  9.  mov  dx,03C8h
  10.  mov  cl,3Fh
  11. @p:
  12.  mov  al,cl
  13.  out  dx,al
  14.  inc  dx
  15.  out  dx,al
  16.  out  dx,al
  17.  shr  al,1
  18.  out  dx,al
  19.  dec  dx
  20.  loop @p 
  21. ; mov  dx,03C8h
  22. ; xor  al,al
  23. ; out  dx,al
  24. ; inc  dx
  25. ; mov  cx,300h
  26. ;@p1:
  27. ; out  dx,al
  28. ; inc  ax
  29. ; loop @p1
  30.  mov  ah,9
  31.  mov  dx,offset napis
  32.  int  21h
  33. ;skopiruje 2560 bytu z A000h:0000h do cs:0400h
  34.  PUSH DS
  35.  push cs
  36.  pop  es
  37.  mov  di,0400h
  38.  push 0A000h
  39.  pop  ds
  40.  xor  si,si
  41.  mov  ch,0Ah
  42. @m1:
  43.  lodsb
  44.  shl  al,3
  45.  stosb
  46.  loop @m1
  47.  POP  DS
  48.  push 0A000h
  49.  pop  es
  50.  xor  di,di
  51.  mov  ch,0Ah
  52.  rep  stosb
  53.  xor  bx,bx    ;bx-offset textu
  54. @main:
  55. ;prdne text z cs:0400h na A000:bx
  56.  PUSH DS
  57.  push 0A000h
  58.  pop  es
  59.  push cs
  60.  pop  ds
  61.  mov  si,0400h
  62.  add  bx,0140h
  63.  cmp  bx,64000-8*320
  64.  jb   @1
  65.  xor  bx,bx
  66. @1:
  67.  mov  di,bx
  68.  mov  ch,0Ah
  69. @k1:
  70.  lodsb
  71.  or   al,al
  72.  jz   @k2
  73.  mov  es:[di],al
  74. @k2:
  75.  inc  di
  76.  loop @k1
  77.  POP  DS
  78.  call @inportsub
  79.  in   al,60h
  80.  dec  al
  81.  jnz  @main
  82.  xor  ax,ax
  83.  int  16h
  84.  mov  ax,3
  85.  int  10h
  86.  retn
  87.  
  88. napis    db    9,'I''m burning!  I''m burning!$'
  89.  
  90. @inportsub:
  91.  push 0A000h
  92.  pop  es
  93.  xor  di,di
  94.  mov  dh,200    ;radky
  95. @2:
  96.  in   al,40h
  97.  mov  ah,al
  98.  mov  cx,320
  99. @3:
  100.  inc  ah
  101.  and  ah,argument
  102.  mov  al,es:[di]
  103.  sub  al,ah
  104.  jns  @4
  105.  xor  al,al
  106. @4:
  107.  stosb
  108.  loop @3
  109.  dec  dh
  110.  jnz  @2
  111.  retn
  112.  
  113. argument equ 15
  114.  
  115. cra ends
  116. end all
  117.