palnew.asm 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. .model small
  2. .code
  3. org 100h
  4. start: push bp ; á⥪
  5. mov bp,sp
  6. sub sp, 02FDh
  7. mov ah,0 ; ãáâ ­®¢ª  ० 320å200å256
  8. mov al,13h
  9. int 10h
  10. mov ax,0A000h ; ãáâ ­ ¢«¨¢ ¥¬ es:di ­  ¢¨¤¥® ¯ ¬ïâì
  11. mov es,ax
  12. xor ax,ax
  13. mov di,ax
  14. mov cx,0FA00h ; ­ ç¨­ ¥¬ à¨á®¢ âì
  15. mov al,00h
  16. LP: mov es:[di],BYTE PTR al ; 横« ¯à®à¨á®¢ª¨
  17. mov ax,di
  18. add ax,01h
  19. xor dx,dx ; ¯à®¢¥à塞, ªà â­® «¨ di 320â¨
  20. mov bx,0140h
  21. div bx
  22. mov al, BYTE PTR es:[di]
  23. add di,1h
  24. cmp dx,0h
  25. je UVEL ; ¥á«¨ ¤ , 㢥«¨ç¨¢ ¥¬ 梥â
  26. LOP: loop LP ; ª®­¥æ 横« 
  27. jmp e
  28. UVEL: add al,1h ; §¤¥áì 㢥«¨ç¨¢ ¥¬ 梥â
  29. jmp LOP
  30. e: mov bx,1 ; áç¨â뢠¥¬ ¯ «¨âàã ¢ [BP-4]-[BP+FD00h]
  31. mov cx,0FFh
  32. lea dx,[bp][-02FDh]
  33. mov ax,ds
  34. mov es,ax
  35. mov ax,01017h
  36. int 10h
  37. mov ax,1015
  38. mov bl,0FFh
  39. int 10h
  40. mov bp[-003h],dh
  41. mov bp[-002h],cl
  42. mov bp[-001h],ch
  43. mov dx,03DAh ; ¯®àâ á®áâ®ï­¨ï «ãç  ¬®­¨â®à 
  44. in1: in al,dx ; ®â á¨å
  45. and al,008h
  46. jne in1
  47. in2: in al,dx
  48. and al,008h
  49. je in2 ; ¤® á¨å - ¦¤¥¬ ®¡à â­®£® 室  «ãç 
  50. mov bx,2 ; ®â á¨å
  51. mov cx,0100h
  52. lea dx,[bp][-02FDh]
  53. mov ax,ds
  54. mov es,ax
  55. mov ax,01012h
  56. int 10h ; ¤® á¨å - ¢áâ ¢«ï¥¬ ¯ «¨âàã
  57. mov ax,1010
  58. mov bx,0h
  59. mov ch,bp[-003h]
  60. mov cl,bp[-002h]
  61. mov dh,bp[-001h]
  62. int 10h
  63. mov ah,01h ; ¯à®¢¥àª  ­  ­ ¦ â¨¥ ª­®¯ª¨
  64. int 16h ; -----
  65. jz e ; ¥á«¨ ­¥âã, â® á­®¢ 
  66. mov ah,0
  67. mov al,3h ; ®¡à â­® ¢ ⥪áâ®¢ë© à¥¦¨¬
  68. int 10h ; -----
  69. mov sp,bp ; ¢¥àâ ¥¬ á⥪
  70. pop bp
  71. int 20h ; ⨯  ª®­¥æ :)
  72. end start