; Bathroom Acid on Tiles ; by Citrus ; Aberration Creations ; QBParty 256byte intro category ; 2016 ; Greetings to: ; Conspiracy, Mercury, Rebels ; Fresh!Mindworkz, Umlaut Design ; Digital Dynamite, Logicoma ; Outracks, Satori, Decree ; How to run it: ; You need to download NASM and DOSBox ; You can get it run with the commands below: ; nasm asmfilename.asm -o outfile.com ; dosbox outfile.com org 100h mov ax, 13h int 10h %define rectx raw + 0 %define recty raw + 2 %define rectw raw + 4 %define recth raw + 6 %define color raw + 8 %define frame raw + 10 xor ax, ax mov [frame], ax mov [color], ax runforevermotherfucker: push 08000h pop es mov di, [frame] mov cx, 200 effecty: push cx mov dx, cx add dx, [frame] mov cx, 320 effectx: mov ax, dx xor ax, cx stosb loop effectx pop cx loop effecty xor di, di mov si, data mov cx, 8 shadowforloop: mov word [color], 16h xor ax, ax lodsb add ax, 45 mov word [rectx], ax xor ax, ax lodsb add ax, 5 mov word [recty], ax xor ax, ax lodsb mov word [rectw], ax lodsb mov word [recth], ax push cx call drawRectangle pop cx loop shadowforloop mov si, data mov cx, 8 logoforloop: mov word [color], 0eh xor ax, ax lodsb add ax, 35 mov word [rectx], ax xor ax, ax lodsb mov word [recty], ax lodsb mov word [rectw], ax lodsb mov word [recth], ax push cx call drawRectangle pop cx loop logoforloop push ds push es pop ds push 0a000h pop es xor si, si xor di, di ;xor cx, cx mov cx, 320*200 rep movsb pop ds inc word [frame] ; escape on exit in al, 60h cmp al, 1 jnz runforevermotherfucker ret data: db 73,17,73,10,73,17,25,76,73,73,50,20,130,17,18,100,173,17,25,100,173,100,75,17,208,43,40,20,230,63,18,40 db "CitrusBrCr" drawRectangle: mov bx, [recty] imul bx, 320 mov cx, [recth] yloop: push cx mov di, bx add di, [rectx] mov ax, [recth] sub ax, cx add ax, [recty] shr ax, 1 sub di, ax mov al, [color] mov cx, [rectw] rep stosb pop cx add bx, 320 loop yloop ret raw: