в полученном снапшоте с адреса 0x5c00 - мусор ( системные переменные и какой-то загрузчик? а зачем? )Код:device zxspectrum128 org 0x6000 start savesna "output.sna", start
в полученном снапшоте с адреса 0x5c00 - мусор ( системные переменные и какой-то загрузчик? а зачем? )Код:device zxspectrum128 org 0x6000 start savesna "output.sna", start
ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO
Писание чего-либо в скобках дает лишний ноль:
ld a, (1+2)
Результате дает #3e, 3, 0
Зачем?
До кучи вопрос - а округлять как? Скажем мне надо из #0124 получить #02. Ну или целочисленно поделить на 256.
Последний раз редактировалось Shadow Maker; 27.09.2008 в 04:18.
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
Проверил, такого результата не бывает. Возможно два варианта:
3e,NN - ld a, N
3a,NN,NN - ld a, (N)
Судя по всему, признаком первой команды для компилятора является отсутствие внешних скобок, хотя возможно, что есть какие-то нюансы.
Можно как предлагает 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.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Везде, где установлен старший бит.
Например:
0x8000 - это 32768 для беззнаков и -32768 для знаковых
Делаем сдвиг к младшим разрядам (делим на 2) двумя способами:
беззнаково- получаем 0x4000- 16384 в обоих нотациях, что неверно для знаковых
знаково- получаем 0xc000- 49152 для беззнака, что неправильно и -16384 для знаковых, что правильно
Ладно, ага. Спасибо. У меня тупилово-режим включился.
Последний раз редактировалось Shadow Maker; 28.09.2008 в 02:06.
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
2Aprisobal
наскока реально имплементировать нечто похожее в макросах?
имеется ввиду ##.Код:#include <iostream> #define MY_MACRO( arg ) arg##_test(); void ff_test() { std::cout << "ff_test"; } void main() { MY_MACRO( ff ); }
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)