Автор Тема: PS1 macros  (Прочитано 1908 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dedok179

  • Пользователь
  • Сообщений: 496
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
PS1 macros
« : 17 Май 2019, 22:21:44 »
Вопрос есть, можно ли в asm на PS1 макросы использовать c изменяемым значением? Чтобы не писать целиком каждый раз функцию, а к примеру вызывать func_write(adr). Такую конструкцию компилятор ест нормально:
ACTIV macro
LUI a0,0x8006
ORI a0,a0,0xA832
ORI t0,zero,0x0001
LB t9,0x0000(a0)
NOP
BNE t0,t9,go_back_home
NOP
endm

Но стоит ее поменять для ввода своих значений:
ACTIV macro adr
LUI a0,0x8006
ORI a0,a0,adr
ORI t0,zero,0x0001
LB t9,0x0000(a0)
NOP
BNE t0,t9,go_back_home
NOP
endm

и вызывать ее как ACTIV 0xA832, то компилятор ругается что мол нельзя так делать, хотя если вызвать просто ACTIV то скомпилится все нормально. Хз. Компилирую через asmpsx из пакета PSY-Q, файл с макросом подрубаю в конец основного через incbin. Думал насчет задания переменных в основном файле, и перед вызовом функции присваивать им нужное значение, хз.