256字节大赛__ca4
debug吧
全部回复
仅看楼主
level 7
ca4
2008年05月01日 13点05分 1
level 7
; 256 byte demo by Ameno ([email protected])[bits 16][org 0x0100][section .text];------------------------------- Initialisation du mode vid閛---;movax,0013h;mode video 320*200;int10h;256 couleurs;movax,0A000h;adresse de la m閙oire;moves,ax;vid閛 dans ES;;---------------------------------------------------------------;; palette ------------------------------------------------------;mov dx, 0x03c9setcolor:out dx, alxchg bx, axout dx, alxchg bx, axout dx, alxchg bx, axinc axjnz setcolor;------------------------ Premiere ligne ------------------------movword [y],0movword [x],150moval,150ligne0:incword [x]callaffiche_pixelcmpword [x],250jetout_debut_2jmpligne0;--------------------- Premier ecran -----------------------------tout_debut_2:movword [y],0y_loop:movword [x],0incword [y]cmpword [y],200jabouclex_loop:incword [x]cmpword [x],319jay_loop;--------------------------On ce place ?la ligne du dessus-----;;movdi,[x];X;movax,[y];Y;decax;Y-1;movcx,320;mulcx;Y*320;adddi,ax;Y*320+X;;;;---------------------------------------------------------------;movax,0moval,byte [ES:DI-1]addal,byte [ES:DI]addal,byte [ES:DI+1]movbl,3divblincalcallaffiche_pixeljmpx_loop;------------------------------- Attend touche --------------;boucle:;inal,60h;cmpal,1;jnedecale_ligne;;------------------------------- Fin du programme --------------;fin:;movax,4C00h;int21h;;---------------------------------------------------------------;decale_ligne:movax,319decale_loop:incaxcmpax,63680jaderniere_lignemovdi,axmovbl,byte [ES:DI]movbyte [ES:DI-320],bljmpdecale_loopderniere_ligne:movword [y],198movword [x],0x_loop_derniere_ligne:incword [x]cmpword [x],319jaboucle;--------------------------On ce place ?la ligne du dessus-----;;movdi,[x];X;movax,[y];Y;decax;Y-1;movcx,320;mulcx;Y*320;adddi,ax;Y*320+X;;;;---------------------------------------------------------------;movax,0moval,byte [ES:DI-1]addal,byte [ES:DI]addal,byte [ES:DI+1]movbl,3divblincalcallaffiche_pixeljmpx_loop_derniere_ligne;------------------------------- Affiche le pixel --------------;affiche_pixel:;pushaxmovdi,[x];X;movax,[y];Y;movcx,320;mulcx;Y*320;adddi,ax;Y*320+X;popax;stosb;affiche le pixel;ret;;---------------------------------------------------------------;;---Data ------------------------------------------------------------------[section .data]y: dw 2x: dw 2;---EOF--------------------------------------------------------------------
2008年05月01日 13点05分 2
1