Как написать игру для ZX Spectrum на ассемблере



         

НЕКОТОРЫЕ НЕДОКУМЕНТИРОВАННЫЕ КОМАНДЫ - часть 3


SLL (HL) ; CB36 SLL (IX+Д) ; DDCBXX36 SLL (IY+Д) ; FDCBXX36 SLL A ; CB37 SLL B ; CB30 SLL C ; CB31 SLL D ; CB32 SLL E ; CB33 SLL H ; CB34 SLL L ; CB35

Эти команды дополняют перечень команд сдвига. При их выполнении содержимое регистра или ячейки памяти сдвигается влево на один разряд. Старший бит переходит во флаг CY, а младший в любом случае заполняется единицей. Например, после сдвига числа 00101110 командой SLL (в такой мнемонике данные команды показываются дизассемблером Mon2, однако в литературе часто предлагается другое обозначение - SLI; тем не менее, это те же самые команды) получится значение 01011101. Команда воздействует на флаги CY, Z, P/V и S. Флаги H и N сбрасываются в 0. Если вы решите использовать в своей программе приведенные выше инструкции, то помните, что ассемблер GENS понятия не имеет о существовании мнемоники SLL. Поэтому все команды придется кодировать исключительно с помощью директивы DEFB.




Содержание  Назад  Вперед