;;; -*-asm-*-
+;;; (c) 2021 Mark Wooding
;;;
;;; Best not to ask why.
+;;;----- Licensing notice ---------------------------------------------------
+;;;
+;;; This file is part of ZX Fizzbuzz.
+;;;
+;;; ZX Fizzbuzz is free software: you can redistribute it and/or modify it
+;;; under the terms of the GNU Lesser General Public License as published
+;;; by the Free Software Foundation; either version 3 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; ZX Fizzbuzz is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; Lesser General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU Lesser General Public
+;;; License along with ZX Fizzbuzz. If not, see
+;;; <https://www.gnu.org/licenses/>.
+
;; Look at the buffer and decide what to do.
again: ld e, 0
jr nz, prnl
;; OK, so just print the value.
- ld a, (len)
- ld b, 0
- ld c, a
ld hl, buf - 1
+ ld bc, (len)
add hl, bc
ld b, c
djnz incr
;; Carry out.
- ld a, (len)
- ld b, 0
- ld c, a
- ld hl, buf
- add hl, bc
ld (hl), 1
- inc a
- ld (len), a
+ ld hl, len
+ inc (hl)
jp again
squish:
;; Initial state. The buffer notionally continues for another 254
;; bytes, but there's no point in including them in the image.
-len: db 1
+len: db 1, 0
buf: db 1