Художнике, ау!
Я иногда использую локальные метки и они, кстати, периодически незаменимы (в макросах).
Но у меня как-то мышление неправильно под них выстраивается, и я начинаю психовать, когда пытаюсь писать с ними систематически. Особенно, видимо, мешает как раз их локальность, т.к. номерки скачут через другие метки, а локальные — не могут и меня это как-то очень деморализует.
Вспомнил ещё один мега-важный пункт.

Люди. Складывайте библиотеки в модули. Это реально упрощает жизнь.
Это ты про 3.1 «приемлемо только по началу — одноразовое исполнение, но что делать потом?
с кучей ссылок на ссылки и данными оттуда, которые ссылаются на данные»? Ну да, ссылок больше. Но есть одно достоинство — ты не путаешь метки с данными. Пример из моего кода:
trb_play
track_pos	equ $+1
	ld hl,0
	ld a,(hl) : add a : jp m,plx1

Видишь? Мне не нравится писать ld (trb_play+1),hl, потому что я начал рефактор, добавил команду и получил чудесные глюки.
Да, это больше меток и труда. Но это реально лучше код.
Проще показать:


do_some_stuff
	ld a, b
	or a: jr z, .leave
.loop
	add hl, hl
	djnz .loop
.leave
	dec hl
	ret

do_other_stuff
	ld b, a
.loop
	sbc hl, de
	djnz .loop
	ret


Код, само собой, от балды и смысла не несёт, оптимизировать не надо )
Штука в том, что метки с точкой «видны» только внутри блока, до следующей «обыкновенной» метки. Внутри второй процедуры я спокойно могу использовать имя .loop повторно, и ничего мне за это не будет )
Однако к такой метке можно при желании доступиться и извне, указав полный путь типа jp do_some_stuff.leave.
Т. е. такая себе более удобная / приятная для понимания альтернатива вот этим вот всем 1b / 2f.
  • avatar nodeus
  • 1
7. Просто документируй.
  • avatar VBI
  • 0
а я, оказывается, о них и не в курсе.
расскажи плиз, о .1
Так пишут только мудаки!
И я :)
Про метки — я бы ещё локальные, с точкой которые, упомянул бы. Нравятся они мне, не засоряют неймспейс )
сравни время набора такого кода
Мне кажется, дешевле всё же набрать по-человечески, чем потом сушить мозги.
Хотя я тоже люблю пхать в строку короткие смысловые блоки типа or a: jr z, milf.
  • avatar VBI
  • 0
я прошу прощения, но я пару дней ел АY формат :)
  • avatar VBI
  • 1
вкусовщина.
приемлемо только по началу — одноразовое исполнение, но что делать потом?
с кучей ссылок на ссылки и данными оттуда, которые ссылаются на данные.

либо же — быстрый но рабочий набросок за один вечер, который абсолютно был не описан но сегодня для тебя имеет значение как особенная реализация стандартной процедуры
  • avatar VBI
  • 0
парни, я вижу противостояние кода в линию против кода в строку.
и считаю что оба этих метода — удобны. и знаю последователей — вас, psndcj.
но мне просто удобнее мой, привычый :)
Дима, зевса твоего давно уже проапдейтили под XXI век: www.desdes.com/products/oldfiles/zeus.htm!!!
  • avatar VBI
  • 0
о портах — офигенное замечание, даже не задумывался никогда о таком.
но всё таки — это всё связано удобством для себя, в прошлом и будующем, а так-же для остальных.
с кратким кодом не согласен, но я знаю — это вкусовщина.

3.1. equ для меток
Об этом нельзя сказать ничего плохого, но есть метод проще. Вместо чего-то типа:
equ $+1
ololo ld hl,0

Так пишут только мудаки!

Время 8-ми байтовых меток давно ушло. Экономить не обязательно, не ZEUS.
ага и zeus отменили, да? Помести см себя на место другого, который будет использовать твой код на другом ассемблере.

1. Не пишите код в линию.
ld a,h, b,l,d,i: or a: jr z,milf — это замечательно, и настолько лаконично… но двояко, для меня лично.
а теперь сравни время набора такого кода и форматированного сырка. Учись читать, короче.

фак сам себе написал короче.
  • avatar diver4d
  • 4
Результаты подведены по сумме голосов (не по среднему баллу). На events чуть позднее.
Скачать работы одним архивом с парой бонусных файлов.


   Hype Logo Compo 2
   19.02.2017-25.02.2017

   Official results
                                             vvv
   title                     author      vts ttl  avg
 1 dreamhyper                diver       27  23  0.85
 2 stolen logo               diver       24  20  0.83
 3 hypey                     diver       22  18  0.82
 4 hycolor                   diver       25  17  0.68
 5 blocky                    diver       24  16  0.67
 6 spectrum strings          diver       21  15  0.71
 6 RGB                       diver       23  15  0.65
 6 icehype                   diver       25  15  0.60
 9 smooth                    diver       22  14  0.64
 9 history in the demomaking diver       24  14  0.58
 9 Design 3                  introspec   26  14  0.54
12 stonecrash                diver       24  12  0.50
12 Design 1                  introspec   26  12  0.46
14 hypexolon                 diver       21  11  0.52
14 be-be-be                  diver       21  11  0.52
14 Hype <3                   diver       21  11  0.52
14 sub scribe                diver       23  11  0.48
14 Design 2                  introspec   25  11  0.44
19 there is hype             diver       20  10  0.50
20 H+YP-E                    diver       21   9  0.43
20 shifted                   diver       21   9  0.43
22 hypeboard                 diver       24   8  0.33
22 HYPЪ                      diver       24   8  0.33
24 53c                       aturbidflow 18   6  0.33
24 Subpixels                 aturbidflow 20   6  0.30
26 hope                      diver       21   5  0.24
26 bloody spectrum           diver       21   5  0.24
26 hypr logo                 dman        23   5  0.22
29 raznomast                 diver       22   4  0.18
30 not kpss                  diver       21   3  0.14
30 cracked by hype           dman        21   3  0.14
30 strype                    diver       23   3  0.13
33 Battle City               aturbidflow 24   2  0.08
34 HYPErodius                PheeL       21   1  0.05
34 oldschool_style           prof4d      21   1  0.05
34 triangle simplicity       diver       19   1  0.05
37 Hype loading              nodeus      23  -1 -0.04
37 Hype pulse                nodeus      21  -1 -0.05
37 Papercraft                aturbidflow 21  -1 -0.05
37 hype logo#2               square      19  -1 -0.05
37 Modern                    aturbidflow 17  -1 -0.06
42 Cityscape                 aturbidflow 23  -3 -0.13
42 Design 8                  introspec   23  -3 -0.13
42 Modern #2                 aturbidflow 19  -3 -0.16
45 Design 4                  introspec   22  -6 -0.27
45 Hype 2017                 nodeus      22  -6 -0.27
47 hypr logo 2               dman        21  -9 -0.43
48 text only                 diver       22 -10 -0.45
49 Design 7                  introspec   21 -11 -0.52
49 hype logo #1              egons       19 -11 -0.58

35 voters: 35 online
online party management system provided by nyuk    
Про номер 3 язык уже сбил. Самый важный пункт.

Номер 3.1 — вкусовщина. Раньше я всегда писал (ololo+1), сейчас мне кажется, что это путает. Чаще ввожу специально явную ссылку. Но вообще, обычно у меня в одном исходнике обычно можно найти и так и эдак. Когда-нибудь преодолею…

Номер 4 — вкусовщина.

Номер 6 требует в качестве подпункта ссылку на макро-библиотеку Flying, которая не содержит ни одного компилируемого байта:
zxpress.ru/article.php?id=3614

Реальный дзен и, если чуть серьёзнее, там и правда есть несколько хороших идей.

Хотя у меня всё не так! :)
результаты будут? неясно, кто на первом месте — те, кто оказался или нет?
Про 1. — резко нет. Чем дальше пишу, тем больше кода мне хочется иметь на экране.
Так вот. Проблема не коде в строчку. Проблема в неудобных мнемониках и каше из разных частей кода в строке.
Т.е., твои примеры «неправильные». К коду в строку отношения не имеющие.

Задумайся сам, зачем тратить на это 7 строк:
ShortLine:	ld a,e : sub l : jr nc,Left2Right
		ld a,l : sub e : ex de,hl
Left2Right:	ld e,a					; l=X0, e=DX (always draw left-to-right)
Вот бы кто под спек запилил такое all in one :)