Lprint #09
05 июля 1997 |
|
Assembler for the user - fill the screen "*".
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).
Other articles:
Similar articles:
В этот день... 21 November