User Tag List

Страница 89 из 167 ПерваяПервая ... 858687888990919293 ... ПоследняяПоследняя
Показано с 881 по 890 из 1664

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

  1. #881

    Регистрация
    25.03.2013
    Адрес
    г. Лондон, Великобритания
    Сообщений
    948
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от breeze Посмотреть сообщение
    вопрос к знатокам Решил тут в кое веков использовать макрос, но при передачи числа в качестве параметра > 255 получаю такую хрень
    breeze, больше похоже на проблему компиляции собственно команд. Не приведёшь сам макрос, не весь, а те строки, где ты используешь параметры?
    "introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.

  2. #882

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    breeze,

    у тебя внутри макроса стоит DB
    а передаешь ты ему word (255+)
    других вариантов не бывает

    код покажи.
    С уважением,
    Jerri / Red Triangle.

  3. #883

    Регистрация
    25.03.2013
    Адрес
    г. Лондон, Великобритания
    Сообщений
    948
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    других вариантов не бывает
    Ну почему же, много вариантов
    LD A, 257
    SUB -293
    LD (HL), 100500
    Очень много вариантов!
    "introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.

  4. #884

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    introspec, вместо Byte ты передаешь Word
    все остальное от лукавого
    С уважением,
    Jerri / Red Triangle.

  5. #885

    Регистрация
    25.03.2013
    Адрес
    г. Лондон, Великобритания
    Сообщений
    948
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    introspec, вместо Byte ты передаешь Word
    все остальное от лукавого
    jerri, на этом уровне, мне кажется, breeze и без нас знает.
    "introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.

  6. #886

    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,877
    Спасибо Благодарностей отдано 
    128
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    81 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, вы немного угадали макрос строит структуру db, но…

    Код:
    	MACRO MCreateSprite posX, posY, width, height, pal
    
    		db	low posY		; Y0-7     | 8 bit младшие даные Y координаты (0-255px)
    			;FLAR S Y8
    		db	%00100000|((height/8)-1)<<1|high posY	; Y8       | 0й бит - старшие данные Y координаты (256px >)
    						; YS       | 1,2,3 бит - высота в блоках по 8 px
    						; RESERVED | 4й бит - зарезервирован
    						; ACT      | 5й бит - спрайт активен (показывается)
    						; LEAP     | 6й бит - указывает, что данный спрайт последний в текущем слое. (для перехода по слоям)
    						; YF       | 7й бит - указывает, что данный спрайт нужно отобразить зеркально по вертикали
    		
    		db	low posX		; X0-7     | 8 bit младшие даные X координаты (0-255px)
    			;F  R S X8
    		db	%00000000|((width/8)-1)<<1|high posX	; X8       | 0й бит - старшие данные X координаты (256px >)
    						; XS       | 1,2,3 бит - ширина в блоках по 8 px
    						; RESERVED | 4й бит - зарезервирован
    						; -        | 5,6й бит - не используются
    						; XF       | 7й бит - указывает, что данный спрайт нужно отобразить зеркально по горизонтали
    			;TNUM
    		db	%00000000		; TNUM	   | Номер тайла для левого верхнего угла.
    						;          | 0,1,2,3,4,5й бит - Х координата в битмап
    			;SPALTNUM		;          | 6,7й бит +
    		db	%00000000|(pal<<4)	; TNUM     | 0,1,2,3 бит - Y координата в битмап
    						; SPAL     | 4,5,6,7й биты номер палитры (?)
    
    	ENDM
    возможно я не так понял как пользоваться low/high ?

    ---------- Post added at 17:46 ---------- Previous post was at 17:27 ----------

    короче дело было в этих странных low/high, заменил на posX%255 и (posX/256) и всё ок стало.

    Но теперь другая проблема. Мегаумный компилятор округляет 0.1 до 1 //_—

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

  8. #887

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от breeze Посмотреть сообщение
    db %00100000|((height/8)-1)<<1|high posY
    Заверни вот это вот в low(). Ну и аналогичные строки.

  9. #888

    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,877
    Спасибо Благодарностей отдано 
    128
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    81 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Заверни вот это вот в low()
    эээ… что-то не совсем понял. В первых здесь собираются биты и они означают разные статусы, и кроме того в low я уже заворачивал. Собственно с этого я и начал — вылетает «error: Bytes lost».

    По сути мне нужен какой-то операнд, который скажет sjasm'u? что 0.1 это всё-таки 0, а не 1. Тобишь активировать округление в меньшую сторону.
    Последний раз редактировалось breeze; 06.02.2014 в 19:28.

  10. #889

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    introspec, видишь я был прав
    С уважением,
    Jerri / Red Triangle.

  11. #890

    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,877
    Спасибо Благодарностей отдано 
    128
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    81 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    introspec, видишь я был прав
    Дыкть, а толку. Проблема-то осталась. Во первых не ясно как пользоваться этими low/hight, ибо значение даже не посмотреть в том же DISPLAY.

    Ну и остался открытым вопрос с округлением.

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

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

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

Эту тему просматривают: 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

Ваши права

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