SHARE
TWEET

33 byte sierpinski fractal

a guest Jul 17th, 2011 26,607 Never
  1. ; Tri.asm - sierpinski fractal, assembles to 33 bytes.  Tested using TASM.
  2. ; Note - only compatible with MS-DOS, due to startup register state.
  3. ; Originally written by James Smith
  4. ; Modifications by Daniel Deptford (redmercury@gmail.com)
  5.  
  6. ; If some of the registers look to be initially set in an "undefined" state, that's
  7. ; because MS-DOS actually sets them to be in a known state at startup.
  8.  
  9.  
  10. .model tiny
  11. CODESEG
  12. STARTUPCODE
  13.         lds si,[bx]
  14.          mov al,13h           ; initialise graphics mode:
  15.          int 10h              ; 320x200x256 at 0xa000
  16. ; Do the triangle
  17.          push ds
  18.          pop si
  19. looper: xor al,[si]           ; Initially assumes al=0. Ok?
  20.          mov [si-319],al
  21.          mov al,[si]
  22.          dec si
  23.          jnz looper
  24.          int 16h              ; keystroke? ah is already 0
  25. ; Tidy up
  26.          mov ax,3              ; return from graphics mode,
  27.          int 10h              ; back to text
  28.          ret
  29. ENDS
  30. END
RAW Paste Data
Top