История изменений
Исправление EXL, (текущая версия) :
По факту нынче все развращены всепрощающим x86 и на такие «мелочи» не обращают внимание. Спарки обожали кидать SIGBUS при misaligned memreads/writes. Кто об это обжигался - тот «подкован» ;)
Это да. Кстати у более дорогих моторолок того времени была ещё более экзотическая архитектура CPU собственной разработки, о которой вообще мало кто когда-либо слышал.
Называлась она M·CORE и была каким-то там идейным наследником M68K для Embedded, хотя версия M68K для Embedded тоже существовала, так называемый DragonBall.
Так вот, процессоры на этой архитектуре M·CORE ставились в продвинутые в технологическом плане и дорогие мобильники с 3G и видеосвязью, тогда как уделом процессоров ARM был рынок бюджетных мобилок за $100-$200.
Но за 20+ лет всё очень круто изменилось и теперь про M·CORE многие слышат в первый раз, а ARM вознёсся на недосягаемые высоты.
ПыСы: там где «WTF» - прикольно ;) А чего ему не хватает? Типа аргумент в регистре передаётся и адрес взять нельзя?
Это я разбирался в чужом примере, на базе которого делал собственное приложение. Поэтому при беглом взгляде так и не понял, зачем там нужно это присваивание, если функция APP_Register()
ниже по идее должна записывать по адресу этой переменной какое-то собственное значение, которое потом кстати нигде не используется. Пока просто не дошли руки поэкспериментировать и разобраться нужно ли это вообще там, потому и отметил, чтобы не забыть. Попробую позже в APP_Register()
просто NULL
поставить первым аргументом.
Исходная версия EXL, :
По факту нынче все развращены всепрощающим x86 и на такие «мелочи» не обращают внимание. Спарки обожали кидать SIGBUS при misaligned memreads/writes. Кто об это обжигался - тот «подкован» ;)
Это да. Кстати у более дорогих моторолок того времени была ещё более экзотическая архитектура CPU собственной разработки, о которой вообще мало кто когда-либо слышал.
Называлась она M·CORE и была каким-то там идейным наследником M68K для Embedded, хотя версия M68K для Embedded тоже существовала, так называемый DragonBall.
Так вот, процессоры на этой архитектуре M·CORE ставились в продвинутые в технологическом плане и дорогие мобильники с 3G и видеосвязью, тогда как уделом процессоров ARM был рынок бюджетных мобилок за $100-$200.
Но за 20+ лет всё очень круто изменилось и теперь про M·CORE многие слышат в первый раз, а ARM вознёсся на недосягаемые высоты.
ПыСы: там где «WTF» - прикольно ;) А чего ему не хватает? Типа аргумент в регистре передаётся и адрес взять нельзя?
Это я разбирался в чужом примере, на базе которого делал собственное приложение. Поэтому при беглом взгляде так и не понял, зачем там нужно это присваивание, если функция APP_Register()
ниже по идее должна записывать по адресу этой переменной какое-то собственное значение. Пока просто не дошли руки поэкспериментировать и разобраться нужно ли это вообще там, потому и отметил, чтобы не забыть.