Assembler for users (ZX-Spectrum)
(C) Spectre MDM 253-3363
First published on the Rights of the lessons.
This column represents a guide for those who mastered the
spektrumsky Basic and now wishes to explore learn and
experience the possibilities of language directly control the
processor. A person fluent in assembler and is not able to use
it less than perfectly able to write your own programs (games,
systems, utilities, etc.) for quality to the best works on the
Spectrum. So, if you dare, and do not mind the phrase "the
assembler is very difficult to teach," then read on, otherwise
just go to the following article.
To get started you will need some assembly. Their choice
is large enough (XAS, PASM, TASM, MASM, ALASM, ZASM), but I
suggest to stop immeno ZASM'e. If you have a modem, then I I
think you will quickly persuade anyone to give you ZASM'a, but
if no (modem), then look at their system disks - can ZASM 3.0
somewhere, and lying. Suppose your quest to succeed, and you're
not too lazy to read the following instructions to ZASM'u, then
you can start.
To begin with we write the procedure, the action that you
immediately see on the screen:
ORG 30000
LD HL, 42 * 8 15 616
LD DE, 16384
LD B, 8
METKA LD A, (HL)
LD (DE), A
INC HL
INC D
DJNZ METKA
RET
Now, comments:
- Commando ORG need to know assembler, according to kako
Therefore, the address will be your program.
- Number of character "*" (star) = 42. One character takes a
8 bytes of memory, and memory with the symbols begins at
address
15616. Means for calculating the address where the
information tion of our sprocket, we believe: 42 * 8 is how
many bytes
skip from the beginning, plus 15616.
- 16384 (# 4000) is the address of the start screen
- LD B, 8 how many bytes needed to display
- LD A, (HL) take a byte from the address addressable HL
- LD (DE), A put the address in DE
- Increase the address of the HL 1
- Increase the address in DE 256 (due to the linearity of the
screen)
- Using command DJNZ program loops 8 times (it
we asked in B)
- RET return to the assembler.
At present, while all but if you need this topic, I'm her
must go on, just throw at least one message on
any Minsk bbs, or call me (call Andrew).