вроде бы есть такой:
http://forum.tslabs.info/viewtopic.php?f=9&t=621
пока в разработке.
Проверял твой конвертер на том же самом исходнике, Вычисление числа Пи на ассемблере,
что и транслятор повыше.
Теперь то я знал, что должно получится в итоге, так что было чуточку побыстрее.
Комменты на великом и могучем игнорирует напрочь, ладно.
С комментами совсем бяда. Без зазрения совести вставляет их в аргументы. Например:
Было
сталоКод:ld (NINES),a ;NINES = 0; cpl ld (DIGIT),a ;DIGIT = -1; ld (DOT),a ;DOT = true; ld bc,N ;for(j=0;j<N;j++) {
было cp hКод:ld (NINES ; NINES = 0;),a cpl ld (DIGIT ; DIGIT = -1;),a ld (DOT ; DOT = true;),a ld bc,N ; for(j=0;j<N;j++) {
стало call p,h
И желательно чтобы метки не выравнивал вместе с кодом, хотя это меньшая проблема.
Масштабирование окна тоже желательно включить.
Profi v3.2 -=- Speccy2010,r2
спасибо, отправил g0blinish'у. сказал, пофиксит.
Ну, тут просто: поправь скрипт в текстовом редакторе, строки 235 и 239:
Так сейчас:
будет:Код:I2Z_13: if upper(cargs) = "M" then do cargs = "(hl)" end oline = label||" sub a,"||cargs||" "||comment return I2Z_14: oline = label||" sub a,"||cargs||" "||comment return
А здесь сложнее. Знаю что глючит, пофиксить пока ума не хватает. Придётся ручками дату переносить. Да и в NP++ это достаточно удобно.Код:I2Z_13: if upper(cargs) = "M" then do cargs = "(hl)" end oline = label||" sub "||cargs||" "||comment return I2Z_14: oline = label||" sub "||cargs||" "||comment return
Если, действительно, есть спрос на мой скрипт, постараюсь довести до ума.
С уважением,
Gris / Red Triangle.
_____________________________________
ZX-EVO/TS-Labs config/NGS/HDD/SD-card
Amiga A1200/Blizzard 1230@50/32/60GB
Amiga A1200/Apollo 1260@66/32/60GB
UnAmiga (C5) AGA GM7123 VideoDAC
Ну у меня как бы есть, мне Z80 мнемоники понятнее и ужасм привычнее, но комуу-то - наеборот....
Upd
Еще какая-то заморочка с псевдооператорами HIGH\LOW
такой вариант
mvi m,low(SCR_BUF)
mvi m,high(SCR_BUF)
транслирует в
ld (hl),low(SCR_BUF)
ld (hl),high(SCR_BUF)
и получается как метка, а надо с пробелом между
ld (hl),low (SCR_BUF)
ld (hl),high (SCR_BUF)
Или он их вообще чистаа как метки транслирует?
Тут скорее проблемы исходного асма, который допускает слитное написание псевдооператора и аргумента, а ужасм это понимает по своему...тогда только ручками править ((((
Последний раз редактировалось zebest; 08.04.2016 в 08:54.
Profi v3.2 -=- Speccy2010,r2
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Естественно, как метки.
Целью написания скрипта было избавиться от рутинной работы по трансляции мнемоник. Можно, конечно, допилить скрипт.
Но, по-моему, для трансляции high/low достаточно двух операций замены в любом текстовом редакторе:
"заменить всё" "high(" на "high (" и "low(" на "low (".
С уважением,
Gris / Red Triangle.
_____________________________________
ZX-EVO/TS-Labs config/NGS/HDD/SD-card
Amiga A1200/Blizzard 1230@50/32/60GB
Amiga A1200/Apollo 1260@66/32/60GB
UnAmiga (C5) AGA GM7123 VideoDAC
Нашелся еще один
Где ты был два дня назад (
а5 я на эти "ср" напнулся. Посмотрю на исправленной версии как
- - - Добавлено - - -
Неее, пока все плохо
0+
[свернуть]
Слева код после твоего конвертера, справа - после правильного. Красным соответственно различия.
Ну и табуляцию как бы желательно, после твоего много ручной работы
Profi v3.2 -=- Speccy2010,r2
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)