Red de conocimiento informático - Conocimiento sistemático - Maestro de montaje, explica este programa que ganó el primer premio en el Concurso Mundial de Programación

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]

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