Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p><strong>Assembler, 165 bytes assembled</strong></p> <p><strong>Build Instructions</strong></p> <ol> <li>Download A86 from <a href="http://eji.com/a86/#Download" rel="nofollow noreferrer">here</a></li> <li>Add a reference to the A86 executable into your DOS search path</li> <li>Paste the code below into a text file (example: <code>triforce.asm</code>)</li> <li>Invoke the assembler: <code>a86 triforce.asm</code></li> <li>This will create a .COM file called <code>triforce.com</code></li> <li>Type <code>triforce</code> to run</li> </ol> <p>This was developed using the standard WinXP DOS box (Start->Programs->Accessories->Command Prompt). It should work with other DOS emulators.</p> <p>Assemble using A86 and requires WinXP DOS box to run the .COM file it produces. Press 'q' to exit, keys 1-7 to draw the output.</p> <pre><code> l20:mov ah,7 int 21h cmp al,'q' je ret sub al,'0' cmp al,1 jb l20 cmp al,7 ja l20 mov [l0-1],al mov byte ptr [l7+2],6 jmp $+2 mov ah,2 mov ch,0 mov bh,3 l0:mov bl,1 l1:mov dh,0 l3:cmp dh,ch je l2 mov dl,32 int 21h inc dh jmp l3 ret l2:mov dh,bh l6:mov cl,12 l5:mov dl,42 cmp cl,bl ja l4 mov dl,32 cmp dh,1 je l21 l4:int 21h dec cl jnz l5 l21:dec dh jnz l6 mov dl,10 int 21h mov dl,13 int 21h l10:inc ch l9:add bl,2 l7:cmp ch,6 jne l1 l13:add byte ptr [l7+2],6 l11:dec bh l12:cmp bh,0 jne l0 xor byte ptr [l0+1],10 xor byte ptr [l9+1],40 xor byte ptr [l10+1],8 xor byte ptr [l13+1],40 sub byte ptr [l7+2],12 mov dh,[l0-1] inc dh xor [l12+2],dh xor byte ptr [l11+1],8 xor byte ptr [l1+1],1 inc bh cmp byte ptr [l0+1],11 je l0 jmp l20 </code></pre> <p>It uses lots of self-modifying code to do the triforce and its mirror, it even modifies the self-modifying code.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload