Важная информация

User Tag List

Страница 46 из 70 ПерваяПервая ... 424344454647484950 ... ПоследняяПоследняя
Показано с 451 по 460 из 699

Тема: SjASMPlus от z00m

  1. #451

    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,087
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    230
    Поблагодарили
    98 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dart Alver Посмотреть сообщение
    Всё верно компилирует, вы неверно ORG выставили.
    org ($+255)/256
    а надо
    ($+255)/256*256
    Как только не извращаются люди, чтобы не делать align 256
    Все любят гипножабу

    Этот пользователь поблагодарил SAM style за это полезное сообщение:

    SAVC(18.06.2021)

  2. #451
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #452

    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    810
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    59 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SAM style Посмотреть сообщение
    не делать align 256
    даже дерективу придумали чтобы не писать ds -$&0xff

  4. #453

    Регистрация
    10.05.2019
    Адрес
    Prague, Czech Republic
    Сообщений
    229
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    103
    Поблагодарили
    77 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    it should be visible in listing, that the address after ORG is not what you expected... (I'm hinting to use listing files often, when you see unexpected result from assembler, often the listing shows where the wrong result start, and then you can search for real reason)

    ALIGN 256 is probably least error prone, if I would be forced to use ORG, I would use probably something like `($+255)&$FF00`, but that's still a bit complex = more room for error.

    Glad it works now, if you have further issue, post again. Have fun.

  5. #454

    Регистрация
    06.05.2019
    Адрес
    г. Подольск
    Сообщений
    108
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    18
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    main.a80
    Код:
    org   50000
    ...
    include  "slave.a80"
    
    Label1
    ....
    slave.a80
    Код:
    ...
    org   30000
    ....
    При компиляции Label1 возвращает адрес относительно slave.a80 (т.к. там org 30000). Есть какой нибудь механизм, чтобы включённый дополнительный исходный файл с частью кода выделенным адресом по ORG (здесь он стал от 30000) не влиял на Label1. А продолжал бы компилировать код от основного ORG, который был от 50000?

  6. #455

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Biland Посмотреть сообщение
    main.a80
    Код:
    org   50000
    ...
    include  "slave.a80"
    
    Label1
    ....
    slave.a80
    Код:
    ...
    org   30000
    ....
    При компиляции Label1 возвращает адрес относительно slave.a80 (т.к. там org 30000). Есть какой нибудь механизм, чтобы включённый дополнительный исходный файл с частью кода выделенным адресом по ORG (здесь он стал от 30000) не влиял на Label1. А продолжал бы компилировать код от основного ORG, который был от 50000?
    а что мешает разместить сначала include "slave.a80" и потом org 50000?
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  7. #456

    Регистрация
    06.05.2019
    Адрес
    г. Подольск
    Сообщений
    108
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    18
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вариант. Но если подключать нужно много разных сорцов, где много разных процедур, одноразовых или постоянных. Типа, как с "кучей" и "мусором" нужен механизм, хотя бы точка сборки.

    И, ещё, тогда вопрос, как узнать при компиляции (в .sna) размер куска кода, либо того же slave.a80? Ещё бы в .sna это где-нибудь записать.

  8. #457

    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,980
    Спасибо Благодарностей отдано 
    1,084
    Спасибо Благодарностей получено 
    1,180
    Поблагодарили
    918 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть DISPLAY "Show len",/A,$-Start
    Выдаст в консоль при компиляции.
    Подробности в мануале.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

    Этот пользователь поблагодарил Black Cat / Era CG за это полезное сообщение:

    Biland(28.06.2021)

  9. #458

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Biland Посмотреть сообщение
    И, ещё, тогда вопрос, как узнать при компиляции (в .sna) размер куска кода, либо того же slave.a80? Ещё бы в .sna это где-нибудь записать.
    Код:
        device zxspectrum48
    
        org $5B00
    start_block:
        ....
    end_block:
        ....
    
        savebin "lode.bin", start_block, end_block-start_block    ; сохраняем блок кода
        savesna "lode.sna", game_start    ; сохраняем снапшот со стартовым адресом
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

    Эти 2 пользователя(ей) поблагодарили Bedazzle за это полезное сообщение:

    Biland(28.06.2021), Ped7g(29.06.2021)

  10. #459

    Регистрация
    10.05.2019
    Адрес
    Prague, Czech Republic
    Сообщений
    229
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    103
    Поблагодарили
    77 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Biland Посмотреть сообщение
    main.a80
    Код:
    org   50000
    ...
    include  "slave.a80"
    
    Label1
    ....
    slave.a80
    Код:
    ...
    org   30000
    ....
    При компиляции Label1 возвращает адрес относительно slave.a80 (т.к. там org 30000). Есть какой нибудь механизм, чтобы включённый дополнительный исходный файл с частью кода выделенным адресом по ORG (здесь он стал от 30000) не влиял на Label1. А продолжал бы компилировать код от основного ORG, который был от 50000?
    There is no "stack" to push/pop current address, but for simple code just to preserve/restore original address you can do either in main or in slave file:
    Код:
        org   50000
        ...
    old_main_pc = $
        include  "slave.a80"
        org old_main_pc
    Label1
        ....
    But I would rather consider moving `include "slave.a80"` to different part of source, like at beginning or end, so it's own `org` doesn't interefere with flow of main.

    To get size of the piece of code, use labels and subtract them (`block_end-block_start` or `$-block_start` at the end of the block).

    SAVESNA dumps "current" virtual memory of the device, all things assembled before the savesna line, but not the things assembled after.

  11. #460

    Регистрация
    06.05.2019
    Адрес
    г. Подольск
    Сообщений
    108
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    18
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    \SJAsm\Source\main.a80(232): error: Unrecognized instruction: old_main_pc = $
    \SJAsm\Source\main.a80(232): error: Label not found: old_main_pc
    Что-то ему не нравится.

Страница 46 из 70 ПерваяПервая ... 424344454647484950 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. SjASMPlus Z80 кросс ассемблер
    от Aprisobal в разделе Программирование
    Ответов: 1663
    Последнее: 19.06.2021, 01:36
  2. Исходники TR-DOS для SjASMPlus
    от Keeper в разделе Программирование
    Ответов: 20
    Последнее: 11.02.2011, 11:57
  3. Запуск STS из .sna, сгенерированного sjasmplus.
    от siril в разделе Программирование
    Ответов: 7
    Последнее: 11.10.2010, 21:33
  4. Breakpoints в связке Sjasmplus+UnrealSpeccy
    от Kurles в разделе Программирование
    Ответов: 19
    Последнее: 26.01.2009, 12:36
  5. Disturbed COverMAnia ( music disk with z00m music collection)
    от kyv в разделе Музыка
    Ответов: 10
    Последнее: 27.03.2008, 10:01

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •