Skip to content

Latest commit

 

History

History

Speccy-asm

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Examples for ZX Spectrum

Examples for ZX Spectrum written in Pasmo assembler

  1. Changing one color attribute
  2. Blinking color attribute
  3. Symbolic names in assembly sources
  4. Operators in assembly sources
  5. Symbolic names are usually written in uppercase
  6. Generating tape image with BASIC loader (incorrect version)
  7. Generating tape image with BASIC loader (correct version)
  8. Counted loop to fill-in attribute memory based on JP instruction
  9. Counted loop to fill-in attribute memory based on JP instruction
  10. Counted loop to fill-in attribute memory based on DJNZ instruction
  11. Simplified counted loop to fill-in attribute memory based on DJNZ instruction
  12. Counted loop to fill-in attribute memory based on DJNZ instruction and IX register
  13. Counted loop to fill-in attribute memory based on DJNZ instruction and IY register
  14. Counted loop with 16-bit counter (non optimized variant)
  15. Counted loop with 16-bit counter (optimized variant)
  16. Counted loop with 8-bit counter (optimized variant)
  17. Counted loop with 8-bit counter (optimized variant with DJNZ)
  18. Clear screen and opening I/O channel #2
  19. Clear screen and print character to screen
  20. Clear screen and print character, ROM subroutine called via RST instruction
  21. Open channel #2 to write on screen
  22. Print ASCII table on screen. unoptimized version
  23. Print ASCII table on screen, optimized version
  24. Change character colors via control characters
  25. Change character blinking attribute via control characters
  26. Change text position on screen via control characters
  27. Print whole string onto screen, unoptimized version
  28. Print whole string onto screen, optimized version
  29. Print string with changing text color
  30. Print string using subroutine stored in ROM
  31. Print string using attribute changed directly in memory
  32. Fill-in screen by ink color
  33. Fill-in screen by ink color, RET optimization
  34. Fill-in screen by specified bit pattern
  35. Fill-in the whole screen by ink color
  36. Fill-in the whole screen by ink color, RET optimization (no return to system)
  37. Fill-in the 8x8 block of pixels by constant pattern
  38. Fill-in the 8x8 block of pixels by specified pattern, unoptimized variant
  39. Fill-in the 8x8 block of pixels by specified pattern, optimized variant
  40. Draw one selected character using own drawing routine
  41. Draw any character using own drawing routine
  42. Draw any character anywhere on screen using own drawing routine
  43. Draw any character anywhere on screen using own drawing routine (based on RRCA instruction)
  44. Draw any character anywhere on screen using own drawing routine (better solution)
  45. Draw any character anywhere on screen using own drawing routine (even better solution)
  46. Drawing blocky pixel of 8x1 real pixels size (no mask applied)
  47. Drawing real pixel, but erasing whole 8x1 pixel block background
  48. Drawing real pixel, but erasing whole 8x1 pixel block background (optimized variant)
  49. Drawing real pixel, but erasing whole 8x1 pixel background (optimized variant)
  50. Drawing real pixel without erasing background
  51. Print ASCII table in inverse colors on screen
  52. Drawing real pixel without erasing background onto screen with inverse ASCII table
  53. Drawing inverse pixel without erasing background onto screen with inverse ASCII table
  54. Print ASCII table in normal and also inverse colors on screen
  55. Inverse pixel color (simulation of PLOT OVER statement from BASIC)
  56. Print a number using standard ROM call
  57. Print negative number using standard ROM call
  58. Print largest supported number (9999) using standard ROM call
  59. Print very large number (10000) using standard ROM call
  60. Print sequence of numbers on screen
  61. Print sequence of numbers on screen
  62. Print flags after arithmetic operation 1+2
  63. Print flags after arithmetic operation 0+0
  64. Print flags after arithmetic operation 255+1
  65. Print flags after arithmetic operation 254+1
  66. Print flags after arithmetic operation 255+255
  67. Print flags after arithmetic operation 100+100
  68. Print flags after arithmetic operation 128+128
  69. Print hexadecimal number (naive implementation)
  70. Print hexadecimal number (naive implementation, but optimized a bit)