Examples for ZX Spectrum written in Pasmo assembler
- Changing one color attribute
- Blinking color attribute
- Symbolic names in assembly sources
- Operators in assembly sources
- Symbolic names are usually written in uppercase
- Generating tape image with BASIC loader (incorrect version)
- Generating tape image with BASIC loader (correct version)
- Counted loop to fill-in attribute memory based on JP instruction
- Counted loop to fill-in attribute memory based on JP instruction
- Counted loop to fill-in attribute memory based on DJNZ instruction
- Simplified counted loop to fill-in attribute memory based on DJNZ instruction
- Counted loop to fill-in attribute memory based on DJNZ instruction and IX register
- Counted loop to fill-in attribute memory based on DJNZ instruction and IY register
- Counted loop with 16-bit counter (non optimized variant)
- Counted loop with 16-bit counter (optimized variant)
- Counted loop with 8-bit counter (optimized variant)
- Counted loop with 8-bit counter (optimized variant with DJNZ)
- Clear screen and opening I/O channel #2
- Clear screen and print character to screen
- Clear screen and print character, ROM subroutine called via RST instruction
- Open channel #2 to write on screen
- Print ASCII table on screen. unoptimized version
- Print ASCII table on screen, optimized version
- Change character colors via control characters
- Change character blinking attribute via control characters
- Change text position on screen via control characters
- Print whole string onto screen, unoptimized version
- Print whole string onto screen, optimized version
- Print string with changing text color
- Print string using subroutine stored in ROM
- Print string using attribute changed directly in memory
- Fill-in screen by ink color
- Fill-in screen by ink color, RET optimization
- Fill-in screen by specified bit pattern
- Fill-in the whole screen by ink color
- Fill-in the whole screen by ink color, RET optimization (no return to system)
- Fill-in the 8x8 block of pixels by constant pattern
- Fill-in the 8x8 block of pixels by specified pattern, unoptimized variant
- Fill-in the 8x8 block of pixels by specified pattern, optimized variant
- Draw one selected character using own drawing routine
- Draw any character using own drawing routine
- Draw any character anywhere on screen using own drawing routine
- Draw any character anywhere on screen using own drawing routine (based on RRCA instruction)
- Draw any character anywhere on screen using own drawing routine (better solution)
- Draw any character anywhere on screen using own drawing routine (even better solution)
- Drawing blocky pixel of 8x1 real pixels size (no mask applied)
- Drawing real pixel, but erasing whole 8x1 pixel block background
- Drawing real pixel, but erasing whole 8x1 pixel block background (optimized variant)
- Drawing real pixel, but erasing whole 8x1 pixel background (optimized variant)
- Drawing real pixel without erasing background
- Print ASCII table in inverse colors on screen
- Drawing real pixel without erasing background onto screen with inverse ASCII table
- Drawing inverse pixel without erasing background onto screen with inverse ASCII table
- Print ASCII table in normal and also inverse colors on screen
- Inverse pixel color (simulation of PLOT OVER statement from BASIC)
- Print a number using standard ROM call
- Print negative number using standard ROM call
- Print largest supported number (9999) using standard ROM call
- Print very large number (10000) using standard ROM call
- Print sequence of numbers on screen
- Print sequence of numbers on screen
- Print flags after arithmetic operation 1+2
- Print flags after arithmetic operation 0+0
- Print flags after arithmetic operation 255+1
- Print flags after arithmetic operation 254+1
- Print flags after arithmetic operation 255+255
- Print flags after arithmetic operation 100+100
- Print flags after arithmetic operation 128+128
- Print hexadecimal number (naive implementation)
- Print hexadecimal number (naive implementation, but optimized a bit)