| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- .model small
- .code
- org 100h
- start: push bp ; á⥪
- mov bp,sp
- sub sp, 02FDh
- mov ah,0 ; ãáâ ®¢ª ० 320å200å256
- mov al,13h
- int 10h
- mov ax,0A000h ; ãáâ ¢«¨¢ ¥¬ es:di ¢¨¤¥® ¯ ¬ïâì
- mov es,ax
- xor ax,ax
- mov di,ax
- mov cx,0FA00h ; ç¨ ¥¬ à¨á®¢ âì
- mov al,00h
- LP: mov es:[di],BYTE PTR al ; 横« ¯à®à¨á®¢ª¨
- mov ax,di
- add ax,01h
- xor dx,dx ; ¯à®¢¥à塞, ªà â® «¨ di 320â¨
- mov bx,0140h
- div bx
- mov al, BYTE PTR es:[di]
- add di,1h
- cmp dx,0h
- je UVEL ; ¥á«¨ ¤ , 㢥«¨ç¨¢ ¥¬ 梥â
- LOP: loop LP ; ª®¥æ 横«
- jmp e
- UVEL: add al,1h ; §¤¥áì 㢥«¨ç¨¢ ¥¬ 梥â
- jmp LOP
- e: mov bx,1 ; áç¨âë¢ ¥¬ ¯ «¨âàã ¢ [BP-4]-[BP+FD00h]
- mov cx,0FFh
- lea dx,[bp][-02FDh]
- mov ax,ds
- mov es,ax
- mov ax,01017h
- int 10h
- mov ax,1015
- mov bl,0FFh
- int 10h
- mov bp[-003h],dh
- mov bp[-002h],cl
- mov bp[-001h],ch
- mov dx,03DAh ; ¯®àâ á®áâ®ï¨ï «ãç ¬®¨â®à
- in1: in al,dx ; ®â á¨å
- and al,008h
- jne in1
- in2: in al,dx
- and al,008h
- je in2 ; ¤® á¨å - ¦¤¥¬ ®¡à ⮣® 室 «ãç
- mov bx,2 ; ®â á¨å
- mov cx,0100h
- lea dx,[bp][-02FDh]
- mov ax,ds
- mov es,ax
- mov ax,01012h
- int 10h ; ¤® á¨å - ¢áâ ¢«ï¥¬ ¯ «¨âàã
-
- mov ax,1010
- mov bx,0h
- mov ch,bp[-003h]
- mov cl,bp[-002h]
- mov dh,bp[-001h]
- int 10h
- mov ah,01h ; ¯à®¢¥àª ¦ ⨥ ª®¯ª¨
- int 16h ; -----
- jz e ; ¥á«¨ ¥âã, ⮠ᮢ
- mov ah,0
- mov al,3h ; ®¡à â® ¢ ⥪áâ®¢ë© à¥¦¨¬
- int 10h ; -----
- mov sp,bp ; ¢¥àâ ¥¬ á⥪
- pop bp
- int 20h ; ⨯ ª®¥æ :)
- end start
|