B8 13 00 : MOV AX, 13h CD 10 : INT 10h <<== changement de l'écran pour un écran 40*80 BA C8 03 : MOV DX, 03C8h 33 C0 : XOR AX, AX EE : OUT DX, AL 42 : INC DX B9 40 00 : MOV CX, 40h (rouge:) EE : OUT DX, AL 50 : PUSH AX 32 C0 : XOR AL, AL EE : OUT DX, AL EE : OUT DX, AL 58 : POP AX 40 : INC AX E2 F6 : LOOP -10 (rouge) (décrémente CX) B9 40 00 : MOV CX, 0040h (jaune:) 50 : PUSH AX B0 3F : MOV AL, 003Fh EE : OUT DX, AL 58 : POP AX EE : OUT DX, AL 50 : PUSH AX 32 C0 : XOR AL,AL EE : OUT DX, AL 58 : POP AX 40 : INC AX E2 F2 : LOOP -14 (jaune) (décrémente CX) B9 3F 00 : MOV BX, 003Fh (Blanc:) 50 : PUSH AX B0 3F : MOV AL, 3F EE : OUT DX, AL EE : OUT DX, AL 58 : POP AX EE : OUT DX, AL E2 F7 : LOOP -9 (Blanc) (décrémente CX) 68 00 A0 : PUSH 0A00h <== adresse vidéo... 07 : POP ES C7 06 B8 7E 34 12 : MOV WORD PTR [7EB8h], 1234h <== appelle d'une fonction définie à la fin BE B8 01 : MOV SI, 01BEh <== offset de l'écran virtuel 81 C6 C0 7B : ADD SI, 7BC0h [ADD SI, 31680 = (32000 - 320) ] B9 40 01 : MOV CX, 0140h [= 320] (Foyer:) E8 5E 00 : CALL 0058h (random) 88 14 : MOV DS:[SI], DL 46 : INC SI 49 : DEC CX 75 F7 : JNZ -9 [Foyer] B9 C0 7B : MOV CX, 7BC0h BE B8 01 : MOV SI, 01B8h 81 C6 40 01 : ADD SI, 0140h (Feu:) 33 C0 : XOR AX, AX 8A 04 : MOV AL, DS:[SI] 02 44 01 : ADD AL, DS:[SI+1] 80 D4 00 : ADC AH, 0 02 44 FF : ADD AL, DS:[SI-01h] (FF = -1) 80 D4 00 : ADC AH, 0 02 84 40 01 : ADD AL, DS:[SI+320] 80 D4 00 : ADC AH, 0 C1 E8 02 : SHR AX, 02h 74 03 : JZ 03 [JZ zero] 90 : NOP 90 : NOP 48 : DEC AX (zero:) 88 84 C0 FE : MOV DS:[SI+FEC0h],AL 46 : INC SI 49 : DEC CX 75 D9 : JNZ D9h (-39d = Feu) BA DA 03 : MOV DX, 03DAh (ret1:) EC : IN AL, DX 24 08 : AND AL, 08h 75 FB : JNZ -5 (ret1) (ret2:) EC : IN AL, DX 24 08 : AND AL, 08h 74 FB : JZ -5 (ret2) B9 C0 1C : MOV CX, 1C0Ch BE B8 01 : MOV SI, 01B8h BF 80 7F : MOV DI, 7F80h F3 66 A5 : REP MOVSD B4 08 : MOV AH, 08h CD 21 : INT 21h 3C 0D : CMP AL, 13 74 9B : JE 9B (-101d) B8 03 00 : MOV AX, 0003h CD 10 : CD 10h <== écran 80x25 C3 : RET A1 B8 7E : MOV AX, B87Eh BA 05 84 : MOV DX, 8405h F7 E2 : MUL DX 40 : INC AX A3 B8 7E : MOV AX, B8Eh C3 : RET