БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO
Вот только MUL #40.,R2 - это, внезапно, не умножение R2 на 40, а умножение 32-ух битного числа (R2 старшая часть и R3 младшая часть) на 40, так что по результату - тупо умножить R3 на 40 с усечением до 16 бит
Нет, с умножением ошибся (всё таки 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 .
Он был бы эквивалентный, если бы в оригинале было бы
к R0 прибавляли бы R2Код:MOV R3,R2 ASR R2 ASR R2 ASR R2 MUL #40.,R2 ;Y/8*40 ADD R2, R0 ; адрес под спрайтом в тайлбуфере
В 1801ВМ2 и ВМ3 - нет, MUL там умножение Rn:Rn+1 = Rn * (SS), т.е. умножение 16-битного числа на 16 битное число, с сохранением результата в 32-х битное число
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
А я слоупок, пока я пишу ответ, могут вперед меня ответить и трое и пятеро, и уже даже забыть про тот пост, на который я отвечаю.
это я скопипастил с распространённых источников, подозреваю, "+" там подразумевается как старая советская запись операции или, которая всех в заблуждение потом вводить начала.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)