User Tag List

Страница 11 из 12 ПерваяПервая ... 789101112 ПоследняяПоследняя
Показано с 101 по 110 из 113

Тема: ASTEROIDS на УКНЦ

  1. #101

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    ADD R3, R0 после команды MUL, к R0 прибавляет не R2*5, а старшую часть умножения на 40., то, что за 16 бит из R2 вылезло.
    Код эквивалентный по результату.
    в первом примере Y (в точках) делится на 8 (8х8) тайл и умножается на 40 (ширина буфера в байтах) = адрес в нужной строке буфера.
    во втором примере сократили деление на 8 и сделали быстрое умножение.

    - - - Добавлено - - -

    работает заметно быстрее
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  2. #102

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот только MUL #40.,R2 - это, внезапно, не умножение R2 на 40, а умножение 32-ух битного числа (R2 старшая часть и R3 младшая часть) на 40, так что по результату - тупо умножить R3 на 40 с усечением до 16 бит

  3. #103

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    не умножение R2 на 40, а умножение 32-ух битного числа
    А MUL как будет работать с 16ю битами?
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  4. #104

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нет, с умножением ошибся (всё таки 16-ти битное из R2, с DIV спутал), но результат всё равно интересный

    Код:
    .EXE T
              0          0
              1          0
              2          0
              3          0
              4          0
              5          0
              6          0
              7          0
              8         40
              9         40
             10         40
             11         40
             12         40
             13         40
             14         40
             15         40
             16         80
             17         80
             18         80
             19         80
             20         80
             21         80
             22         80
             23         80
             24        120
             25        120
             26        120
             27        120
             28        120
             29        120
             30        120
             31        120
             32        160
             33        160
             34        160
             35        160
             36        160
             37        160
             38        160
             39        160
             40        200
             41        200
             42        200
             43        200
             44        200
             45        200
             46        200
             47        200
             48        240
             49        240
             50        240
             51        240
             52        240
             53        240
             54        240
             55        240
             56        280
             57        280
             58        280
             59        280
             60        280
             61        280
             62        280
             63        280
             64        320
             65        320
             66        320
             67        320
             68        320
             69        320
             70        320
             71        320
             72        360
             73        360
             74        360
             75        360
             76        360
             77        360
             78        360
             79        360
             80        400
             81        400
             82        400
             83        400
             84        400
             85        400
             86        400
             87        400
             88        440
             89        440
             90        440
             91        440
             92        440
             93        440
             94        440
             95        440
             96        480
             97        480
             98        480
             99        480
            100        480
            101        480
            102        480
            103        480
            104        520
            105        520
            106        520
            107        520
            108        520
            109        520
            110        520
            111        520
            112        560
            113        560
            114        560
            115        560
            116        560
            117        560
            118        560
            119        560
            120        600
            121        600
            122        600
            123        600
            124        600
            125        600
            126        600
            127        600
            128        640
            129        640
            130        640
            131        640
            132        640
            133        640
            134        640
            135        640
            136        680
            137        680
            138        680
            139        680
            140        680
            141        680
            142        680
            143        680
            144        720
            145        720
            146        720
            147        720
            148        720
            149        720
            150        720
            151        720
            152        760
            153        760
            154        760
            155        760
            156        760
            157        760
            158        760
            159        760
            160        800
            161        800
            162        800
            163        800
            164        800
            165        800
            166        800
            167        800
            168        840
            169        840
            170        840
            171        840
            172        840
            173        840
            174        840
            175        840
            176        880
            177        880
            178        880
            179        880
            180        880
            181        880
            182        880
            183        880
            184        920
            185        920
            186        920
            187        920
            188        920
            189        920
            190        920
            191        920
            192        960
            193        960
            194        960
            195        960
            196        960
            197        960
            198        960
            199        960
            200      1 000
    
    .

  5. #105

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    612
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    Код эквивалентный по результату.
    Он был бы эквивалентный, если бы в оригинале было бы
    Код:
            MOV	R3,R2
    	ASR	R2
    	ASR	R2
    	ASR	R2
    	MUL	#40.,R2    ;Y/8*40
    	ADD	R2, R0     ; адрес под спрайтом в тайлбуфере
    к R0 прибавляли бы R2

    Цитата Сообщение от Hunta Посмотреть сообщение
    Вот только MUL #40.,R2 - это, внезапно, не умножение R2 на 40, а умножение 32-ух битного числа
    В 1801ВМ2 и ВМ3 - нет, MUL там умножение Rn:Rn+1 = Rn * (SS), т.е. умножение 16-битного числа на 16 битное число, с сохранением результата в 32-х битное число

  6. #106

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    В 1801ВМ2 и ВМ3 - нет, MUL там умножение
    Уже написал

    - - - Добавлено - - -

    Цитата Сообщение от gid Посмотреть сообщение
    Rn+1
    Rn v 1

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

  8. #107

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    с сохранением результата в 32-х битное число
    Правильно, в R3 младшая часть.. В R2 ноль будет (и есть)
    Оба примера рабочие, первый еще двухлетней давности, когда не заботился о скорости выполнения.
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  9. #108

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    612
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Уже написал
    А я слоупок, пока я пишу ответ, могут вперед меня ответить и трое и пятеро, и уже даже забыть про тот пост, на который я отвечаю.
    Цитата Сообщение от Hunta Посмотреть сообщение
    Rn v 1
    это я скопипастил с распространённых источников, подозреваю, "+" там подразумевается как старая советская запись операции или, которая всех в заблуждение потом вводить начала.

  10. #109

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    подозреваю, "+" там подразумевается как старая советская запись операции или
    Скорее всего в первоначальном источнике был + в кружке

  11. #110

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    612
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    Правильно, в R3 младшая часть
    блин. Точно, тут же задом наперёд. Опять я всё перепутал. Привык уже к Low Order, и автоматом подразумеваю, что в регистре с мл. номером и часть младшая.
    Чтож, извиняюсь, был неправ во всех местах.

Страница 11 из 12 ПерваяПервая ... 789101112 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 247
    Последнее: 17.11.2024, 07:55
  2. УКНЦ 3D
    от nzeemin в разделе ДВК, УКНЦ
    Ответов: 29
    Последнее: 15.01.2021, 17:07
  3. Гигаскрин на УКНЦ
    от S_V_B в разделе ДВК, УКНЦ
    Ответов: 62
    Последнее: 03.10.2020, 03:54
  4. УКНЦ и я
    от Hunta в разделе ДВК, УКНЦ
    Ответов: 122
    Последнее: 03.05.2019, 17:55
  5. Продам МС5310 блок дисководов к УКНЦ+КМД УКНЦ
    от Mad Killer/PG в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 19.03.2012, 11:27

Ваши права

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