ZXNet эхоконференция «code.zx»


тема: ввод строки.



от: Yaroslav Kozlov
кому: Kirill Frolov
дата: 23 Apr 1998

Kirill Frolov at 21-04-98 =>
Igor Krauklis ....

[...]

Привет, Kirill & Igor!

IK>> Люди, а есть ли у кого-нидудь
IK>> подпрограммка ввода строки ?

KF> У "кого-нидудь" может и есть. А куда ее и откуда вводить ?
KF> С клавы типа инпута в бейсике ?

Если для виевера, то...

LD B,42; символы в строке
LD HL,lab2
PUSH HL
LD HL,adr_str;адрес тек. строки
LD DE,string ;строка, что будет
lab1 LD A,(HL) ;напечатана
INC HL
CP #D
RET Z
;здесь можно опросить
;на наличие упр.
;символов

LD (DE),A
INC DE
DJNZ lab1
CP #D
RET NZ
INC HL; в HL адрес след. строки.
RET

lab2 ..... ;теперь можно и напечатать.


Если хотите, чтобы Спек работал с полной
отдачей, можно позаботится о скорости.
INC RR, на 2 такта больше, чем INC R,
и INC RR не влияет на флаги. Этим можно
воспользоватся. Многие системные програм-
меры забывают, что у Z80 есть стек.
Его использоание в чтении данных дает
ускорение в 2, а то и больше раз.
Притом, что трата памяти при разумном
использовании незначительна. Конечно,
когда стеком пользуются в таких целях,
прерывания обязательно надо запретить!
И еще: на скорпе magic в таких местах
нажимать не следует.

.....

; в HL адрес экрана

LD (savesp+1),SP
LD C,H
LD B,32; печать по 2 символа
EXX
DI
LD SP,strind
LD B,#F0; маска
EXX
P64_0 EXX
POP DE
LD H,#60
LD L,D
LD D,H
LD A,(DE)
INC D
AND B
LD C,A
LD A,(HL)
INC H
AND #F
OR C
EXX
LD (HL),A
INC H

....
....

LD H,C
INC L
DJNZ p64_0
savesp LD SP,0 ; здесь стек
EI
RET ; вот и вернулись..

Это был фрагмент процедуры печати строки
на 64 символа.

[...]


С наилучшими пожеланиями, PHOENIX

-+- ZXASM 3.0




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Мысли в слух - некий человек, читает Body только потому, что ему интеpесно, поменяли мы читалку или нет.
Обзор прессы - обзор новинок прессы за 2003-2004 год.
Инструментарий - Статья о том, как работать в системе для разработки Адвентюрных игр "THE GRAPHIC ADVENTURE CREATOR".
RtYtb=Ru - Карта мира.
AMIGA NEWS - События 1998 года (обзор событий).

В этот день...   31 декабря