![]() |
|
|
|
|
|
#1 |
|
Guru
Join Date: 1st March 2005
Location: Samara
Posts: 2,649
Thanks: 395
Thanked 542 Times in 366 Posts
![]() ![]() ![]() ![]() ![]() ![]() |
Какой из кросс ассемблеров для спеки может понять
вот такое точнее сказать правильно интерпретировать вот такую запись Code:
;RAY 1,1,H,L,D,E,y,x
MACRO RAY
mainplus=\0 ;основное направление положительно
secplus=\1 ;побочное направление положительно
;\2=основное направление для hl
;\3=побочное направление для hl
;\4=основное направление для de
;\5=побочное направление для de
;\6=основное направление
;\7=побочное направление
;LD DE,(cur\7\6)
cur\0\1\7\6=$+1
LD DE,0
LD A,E ;основное направление
;IFN mainplus ;основное направление положительно
; CPL ;1-основное направление
; LD E,A
;ENDIF
LD LX,A ;IX=dist*cos
MULPOS
IFN secplus ;побочное направление положительно
ADD A,D ;побочное направление
LD B,A
;LD HL,(curYX)
ray\0\1\7\6_YX=$+1
LD HL,0
IFN "\6\6"-"xx"
;LD D,H,E,L
;SET mapdifbit,E
ray\0\1\7\6_YX2=$+1
LD DE,0
ELSE
LD D,H,E,L
ENDIF
JNC raynshort\0\1\7\6
INC \5 ;e/d
LD A,(DE)
RLA
JC raysec\0\1\7\6
INC \3 ;l/h
raynshort\0\1\7\6
IFN "\6\6"-"yy"
SET mapdifbit,L
ENDIF
ELSE
LD L,A
LD A,D ;побочное направление
SUB L
LD B,A
;LD HL,(curYX)
ray\0\1\7\6_YX=$+1
LD HL,0
IFN "\6\6"-"xx"
;LD D,H,E,L
;SET mapdifbit,E
ray\0\1\7\6_YX2=$+1
LD DE,0
ELSE
LD D,H,E,L
ENDIF
JNC raynshort\0\1\7\6
LD A,(DE)
RLA
JC raysec\0\1\7\6
DEC \3,\5 ;l/h,e/d
raynshort\0\1\7\6
IFN "\6\6"-"yy"
SET mapdifbit,L
ENDIF
ENDIF
raynsec\0\1\7\6
INC HX
IFN mainplus ;основное направление положительно
INC \2 ;h/l
ENDIF
LD A,(HL)
RLA
JP C,rayhlq ;b=texx
IFN mainplus ;основное направление положительно
INC \4 ;d/e
ELSE
DEC \2,\4 ;h/l,d/e
ENDIF
LD A,B
IFN secplus ;побочное направление положительно
ADD A,C
ELSE
SUB C
ENDIF
LD B,A
JNC raynsec\0\1\7\6
IFN secplus ;побочное направление положительно
INC \5 ;e/d
ENDIF
LD A,(DE)
RLA
JC raysec\0\1\7\6
IFN secplus ;побочное направление положительно
INC \3 ;l/h
ELSE ;побочное направление отрицательно
DEC \3,\5 ;l/h,e/d
ENDIF
JP raynsec\0\1\7\6
raysec\0\1\7\6
EXD
LD A,B
IFN secplus ;побочное направление положительно
SUB C
DIVPOS
ELSE
ADD A,C
DIVNEG
ENDIF
IFN mainplus ;основное направление положительно
CPL
LD B,A ;b=texx
ELSE
LD B,A ;b=texx
CPL
ENDIF
JP raydeq
ENDM
__________________
[02.05.2014] не забудь этот день. Чубайс должен умереть. Dixi. [l'Abbey des morts TSEvo EV...5%] kiwi кошелек +79178162712 |
|
|
|
|
|
#2 |
|
Guru
Join Date: 3rd January 2006
Location: Рязань
Posts: 2,935
Thanks: 1,713
Thanked 1,069 Times in 552 Posts
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
jerri хочет ассемблер, в котором были бы явные конструкции, аналогичные этим - макросы с параметрическими метками и вложенная условная компиляция. А ещё чтобы можно было читать скомпилированные данные типа {$-256}.
|
|
|
|
|
|
#3 |
|
Guru
Join Date: 1st March 2005
Location: Samara
Posts: 2,649
Thanks: 395
Thanked 542 Times in 366 Posts
![]() ![]() ![]() ![]() ![]() ![]() |
да да он много хочет
просто совсем небольшой набор условных конструкций вызвал у cjasma взрыв мозга вот вам пример
__________________
[02.05.2014] не забудь этот день. Чубайс должен умереть. Dixi. [l'Abbey des morts TSEvo EV...5%] kiwi кошелек +79178162712 |
|
|
|
| The Following User Says Thank You to jerri For This Useful Post: | perestoronin (29th September 2013) |
|
|
#4 |
|
Guru
Join Date: 1st March 2005
Location: Samara
Posts: 2,649
Thanks: 395
Thanked 542 Times in 366 Posts
![]() ![]() ![]() ![]() ![]() ![]() |
вот этот вот исходник при наличии DUP (смотри вариант 1) ругается на конец файла
если DUP убрать то не ругается
__________________
[02.05.2014] не забудь этот день. Чубайс должен умереть. Dixi. [l'Abbey des morts TSEvo EV...5%] kiwi кошелек +79178162712 |
|
|
|
|
|
#6 |
|
Guru
Join Date: 1st March 2005
Location: Samara
Posts: 2,649
Thanks: 395
Thanked 542 Times in 366 Posts
![]() ![]() ![]() ![]() ![]() ![]() |
TmK, терпит
просто в DUP:EDUP условное ассемблирование несделано потому и вылетает
__________________
[02.05.2014] не забудь этот день. Чубайс должен умереть. Dixi. [l'Abbey des morts TSEvo EV...5%] kiwi кошелек +79178162712 |
|
|
|
|
|
#8 |
|
Activist
Join Date: 17th January 2005
Location: Belarus, Minsk
Posts: 373
Thanks: 150
Thanked 23 Times in 21 Posts
![]() |
Предлагаю из ALASM создать чудо монстра - кросс-компилятор путем оборачивания его в эмулятор Unreal Speccy без графической части с 2мб расширенной памяти, постановки хуков на операции ввода-вывода диска и операции вывода на экран результатов компиляции. Это решит все вопросы совместимости, разве что нужно добавить дополнительные директивы, которые любит народ, например сохранение снапшота SNA/Z80.
__________________
GFXSpeConvertor(closed) / ATW4GS / BIN2SNA 1.02 / SjASMPlus 1.07 RC8 PRERELEASE / SquareMania <ТИ-3> |
|
|
|
|
|
#10 |
|
Guru
Join Date: 1st March 2005
Location: Samara
Posts: 2,649
Thanks: 395
Thanked 542 Times in 366 Posts
![]() ![]() ![]() ![]() ![]() ![]() |
Aprisobal, ты лучше sjasm почини а то при таких ограничениях ничего нормально в нем не напишешь
__________________
[02.05.2014] не забудь этот день. Чубайс должен умереть. Dixi. [l'Abbey des morts TSEvo EV...5%] kiwi кошелек +79178162712 |
|
|
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|