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

User Tag List

Страница 26 из 167 ПерваяПервая ... 222324252627282930 ... ПоследняяПоследняя
Показано с 251 по 260 из 1664

Тема: SjASMPlus Z80 кросс ассемблер

  1. #251
    Member Аватар для Antipod
    Регистрация
    19.08.2008
    Адрес
    Украина, Львов
    Сообщений
    116
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    	device zxspectrum128
    
    	org 0x6000
    start
    	savesna "output.sna", start
    в полученном снапшоте с адреса 0x5c00 - мусор ( системные переменные и какой-то загрузчик? а зачем? )

  2. #252
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Antipod Посмотреть сообщение
    Код:
    	device zxspectrum128
    
    	org 0x6000
    start
    	savesna "output.sna", start
    в полученном снапшоте с адреса 0x5c00 - мусор ( системные переменные и какой-то загрузчик? а зачем? )
    Там находятся системные переменные. Сделано было по просьбе, которая когда-то озвучивалась в этой теме (где именно? нужно искать).

    Новую версию скоро выпущу, тем более мне вчера буржуин прислал патч, исправляющий ошибку в директиве MODULE и множество утечек памяти.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

  3. #253
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,825
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    239
    Поблагодарили
    101 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Писание чего-либо в скобках дает лишний ноль:

    ld a, (1+2)
    Результате дает #3e, 3, 0

    Зачем?

    До кучи вопрос - а округлять как? Скажем мне надо из #0124 получить #02. Ну или целочисленно поделить на 256.
    Последний раз редактировалось Shadow Maker; 27.09.2008 в 04:18.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  4. #254
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,259
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    ld a, (1+2)
    Результате дает #3e, 3, 0

    Зачем?
    O_o
    А что, 16-разрядные адреса уже отменили? Только 8-разрядные используются?

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    До кучи вопрос - а округлять как? Скажем мне надо из #0124 получить #02. Ну или целочисленно поделить на 256.
    Как обычно вроде...
    (addr + 255) shr 8

  5. #255
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,798
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    1,191
    Поблагодарили
    784 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    ld a, (1+2)
    Результате дает #3e, 3, 0

    Зачем?
    а почему не #3A ???

  6. #256
    Member Аватар для Shwartz
    Регистрация
    31.08.2007
    Адрес
    Kharkov
    Сообщений
    37
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    Результате дает #3e, 3, 0
    Проверил, такого результата не бывает. Возможно два варианта:
    3e,NN - ld a, N
    3a,NN,NN - ld a, (N)
    Судя по всему, признаком первой команды для компилятора является отсутствие внешних скобок, хотя возможно, что есть какие-то нюансы.

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    До кучи вопрос - а округлять как? Скажем мне надо из #0124 получить #02. Ну или целочисленно поделить на 256.
    Можно как предлагает Vitamin, но возникнет сложность с адресами, большими чем #ff00 - результат не влезет в байт. Тут можно обрезать результат , используя and или mod, но проще через оператор high - high (addr + 255).
    Целочисленно поделить на 256 - high N.

    Что меня смутило в документации SjAsMPlus'а, так это опраторы сдвига:
    x>>y shift right signed
    x>>>y shift right unsigned
    В чем состоит суть signed сдвига? Не меняется старший бит или что? Я этого не заметил. Назовите значение, на котором эти операторы будут работать по-разному.
    Последний раз редактировалось Shwartz; 27.09.2008 в 23:01.

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

  8. #257
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,259
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shwartz Посмотреть сообщение
    Назовите значение, на котором эти операторы будут работать по-разному.
    Везде, где установлен старший бит.
    Например:
    0x8000 - это 32768 для беззнаков и -32768 для знаковых
    Делаем сдвиг к младшим разрядам (делим на 2) двумя способами:
    беззнаково- получаем 0x4000- 16384 в обоих нотациях, что неверно для знаковых
    знаково- получаем 0xc000- 49152 для беззнака, что неправильно и -16384 для знаковых, что правильно

  9. #258
    Member Аватар для Shwartz
    Регистрация
    31.08.2007
    Адрес
    Kharkov
    Сообщений
    37
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    беззнаково- получаем 0x4000- 16384 в обоих нотациях, что неверно для знаковых
    знаково- получаем 0xc000- 49152 для беззнака, что неправильно и -16384 для знаковых, что правильно
    Именно на этом значении я и проверял, результаты одинаковы, что меня и удивило

    Может знаковость относится к 32-битным числам, в которых SjASMPlus считает?
    Последний раз редактировалось Shwartz; 27.09.2008 в 23:17.

  10. #259
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,825
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    239
    Поблагодарили
    101 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ладно, ага. Спасибо. У меня тупилово-режим включился.
    Последний раз редактировалось Shadow Maker; 28.09.2008 в 02:06.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  11. #260
    Member Аватар для Antipod
    Регистрация
    19.08.2008
    Адрес
    Украина, Львов
    Сообщений
    116
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    2Aprisobal
    наскока реально имплементировать нечто похожее в макросах?

    Код:
    #include <iostream>
    
    #define MY_MACRO( arg ) arg##_test();
    
    void ff_test()
    {
        std::cout << "ff_test";
    }
    
    void main()
    {
        MY_MACRO( ff );
    }
    имеется ввиду ##.

Страница 26 из 167 ПерваяПервая ... 222324252627282930 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Кросс-ассемблеры Z80 для Pc
    от Aprisobal в разделе Программирование
    Ответов: 16
    Последнее: 15.01.2011, 22:46
  2. кросс компилятор С для Z80
    от vitasam в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2007, 18:03
  3. Хороший ПЦшный ассемблер - залог успеха!
    от Aprisobal в разделе Программирование
    Ответов: 35
    Последнее: 08.08.2005, 15:25
  4. ZX ассемблер (и не только?) с библиотеками
    от shade в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2005, 19:43

Ваши права

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