İlk defa easy68k kullanıyorum ve programımda aramak istediğim iki makro yazdım. Makro tanımları iyi derlenmişti. Ancak, makroyu ana programın içinden (yani "org" ifadesinden sonra) çağırmaya çalıştığımda, derleme yapmaz.Easy68k: Montajda bir makro nasıl aranır?
Düşünebildiğim tüm sözdizimini denedim, yardım bölümünü ve internetteki birkaç siteyi kontrol ettim ve hiçbir şey işe yaramadı.
Bir diyor ki:: Satır 57 (MUL_MAC d1, d3) HATA: Aşağıdaki kod derleme yaparken
Halen, iki hata iletileri görüntüler Geçersiz değişken diğer diyor: Satır 60 (MUL_SUB bsr) HATA:
MUL_MAC macro
movem.l d6-d7, -(a7)
move.w \1, d6
clr.l d7
loop\@ add.w \2, d7
dbra d6, loop\@
move.w d7, \2
movem.l (a7)+, d6-d7
endm
MUL_SUB equ * ; Subroutine
move.w d2, d3
clr.l d4
loop_sub add.w d1, d4
dbra d3, loop_sub
move.w d4, d2
rts
PRINT_RES macro
movem.l d5-d7, -(a7)
clr.l a1
move #248, d7 ; Code to display character
cmp \1, \2
beq right\@
move.b INC_L, d5
loop_ch_2\@ move.b INC(a1)+, d0
trap #14
dbra d5, loop_ch_2\@
bra finish\@
right\@ move.b COR_L, d5
loop_ch_2\@ move.b COR(a1)+, d0
trap #14
dbra d5, loop_ch_2\@
finish\@ movem.l (a7)+, d5-d7
endm
ORG $1000
START: ; first instruction of program
clr.w d1
clr.w d2
clr.w d3
clr.w d4
move.w X, d1
move.w Y, d2
move.w d2, d3
move.w d2, d4
mulu d1, d4 ; Store the actual result in d2 to compare later
MUL_MAC d1,d3,
PRINT_RES d3,d4,
bsr MUL_SUB
PRINT_RES d2,d4,
move #228, d7
trap #14
* Put program code here
SIMHALT ; halt simulator
* Put variables and constants here
X ds 1
Y ds 1
INC dc.b 73, 78, 67, 79, 82, 82, 69, 67, 84 ; INCORRECT
COR dc.b 67, 79, 82, 82, 69, 67, 84 ; CORRECT
INC_L dc.b 9 ; Length of INCORRECT
COR_L dc.b 7 ; Length of CORRECT
END START ; last line of source
_ "derleme yapmıyor" _. Hata mesajı alıyor musunuz? Eğer öyleyse, mesaj tam olarak ne diyor? – Michael
Bu iyi bir nokta, bunu içerecek şekilde düzenlemeyi düzenleyeceğim, ancak temel olarak aşağıdakileri derlediğimde iki hata iletisi görüntüleniyor: Biri şöyle diyor: Çizgi 57 (MUL_MAC d1, d3,) HATA: Geçersiz değişken Diğeri ise: Line 60 (bsr MUL_SUB) HATA: Geçersiz argüman – gameCoder95