| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- .model small
- .code
- org 100h
- start: push bp ; á⥪
- mov bp,sp
- sub sp, 303h
- mov ah,0 ; ãáâ ®¢ª ० 320å200å256
- mov al,13h
- int 10h
- xor bx,bx ; áç¨âë¢ ¥¬ ¯ «¨âàã ¢ [BP-4]-[BP+FCFDh]
- mov cx,0FDh
- lea dx,[bp][0FCFDh]
- mov ax,ds
- mov es,ax
- mov ax,01017h
- 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 al, [bp][0FD00h] ; á®åà 塞 ¯¥à¢ë© 梥⠢ [BP-3]
- mov [bp-0003], al
- mov al, [bp][0FD01h] ; á®åà 塞 ¯¥à¢ë© 梥⠢ [BP-2]
- mov [bp-0002], al
- mov al, [bp][0FD02h] ; á®åà 塞 ¯¥à¢ë© 梥⠢ [BP-1]
- mov [bp-0001], al
- lea ax,[bp][0FD00h] ; ®â á¨å
- lea bx,[bp][0FD03h]
- mov si,bx
- mov di,ax
- mov ax,ds
- mov es,ax
- mov cx,02FAh
- repe movsb ; ¤® á¨å, á¬¥é ¥¬ ¯ «¨âàã ¨¦¥
- mov al, [bp][-0003h]
- mov [bp-0006], al ; ¯®â¥àïë© æ¢¥â ¢ ª®¥æ ¯ «¨âàë
- mov al, [bp][-0002h]
- mov [bp-0005], al
- mov al, [bp][-0001h]
- mov [bp-0004], al
- mov dx,03DAh ; ¯®àâ á®áâ®ï¨ï «ãç ¬®¨â®à
- in1: in al,dx ; ®â á¨å
- and al,008h
- jne in1
- in2: in al,dx
- and al,008h
- je in2 ; ¤® á¨å - ¦¤¥¬ ®¡à ⮣® 室 «ãç
- xor bx,bx ; ®â á¨å
- mov cx,0100h
- lea dx,[bp][0FCFDh]
- mov ax,ds
- mov es,ax
- mov ax,01012h
- 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
|