Maestro de montaje, explica este programa que ganó el primer premio en el Concurso Mundial de Programación
Los primeros párrafos son cambios de código tres veces y luego se realizan cálculos de punto flotante en los mosaicos en el modo de gráficos 13H de 320*200,
se muestran secuencialmente. El archivo COM descomprimido tiene aproximadamente 5K y termina con: MNISCENT(C) 1997 SANCTION.
Parte del código anterior está descompilado en:
.386
.model tiny
segmento de código byte uso público 'CÓDIGO'16
org 100h
asume cs: code, ds: code
inicio público
iniciar proc lejos
xor si, si
mov di, 2000h
mov ch, 10h
rep movsw; estas oraciones mueven 2000 bytes de sí mismo (incluido PSP) a CS: 2000H colocar
mov hacha, cs
añadir hacha, 200h
empujar hacha
empujar 113h
retf ; modificar CS:IP a (CS 200H): 0113H
push cs
pop ds
mov si, 1A1h
mov di , 100h
empujar es
empujar di
mov hacha, 111h
mov bx, 1321h
loc_123 :
mov [bx], ax
dec bx
dec bx
dec ax
jns corto loc_123
lodsw
xchg ah, al
mov cx, ax
mov bp, 0FFFFh
loc_132 :
llamada sub_155
cmp hacha, 100h
jz short locret_154
jg short loc_13F
stosb
jmp corto loc_132
loc_13F:
sub hacha, 0FFh
hacha de empuje
llamada sub_155
pop dx
neg ax
mov bx, ax
loc_14B:
mov al, es: [ bx di ]
stosb
dec dx
jnz corto loc_14B
jmp corto loc_132
locret_154:
retf
iniciar endp
sub_155 proc cerca
push di
mov bx, 1321h
mov ax, cx
inc ax
mul palabra ptr [bx]
div bp
mov di, bx
mov dx, 111h
loc_165:
dec di
dec di
dec dx
cmp [di], ax
jg short loc_165
push dx
mov ax, bp
mul palabra ptr [ di] <
/p>
div palabra ptr [bx]
sub cx, ax
xchg ax, bp
mul palabra ptr [di 2] p>
div palabra ptr [bx]
xchg ax, bp
sub bp, ax
loc_17E:
dec byte_10FE
jns short loc_18A
mov byte_10FE, 7
inc si
loc_18A:
rcl byte ptr [si], 1
rcl cx, 1
shl bp, 1
jns short loc_17E
pop dx
mov hacha, 111h
loc_196:
inc palabra ptr [bx]
dec bx
dec bx
dec ax
cmp dx, ax
jnz short loc_196
pop di
retn
sub_155 endp
; La siguiente parte es código cifrado y no tiene sentido descompilarlo.
db 83h, 0F7h, 83h, 0A6h, 5Dh, 59h, 82h, 0CDh
... ...
fin del código
finalizar inicio