есть маленький вопрос где почитать описание самого ассемблера на русском (директивы)
а сейчас подскажите как вводить например опрос клавиш?
на клавишу "P" не реагирует.если вместо "P" постоавить "0" тогда реагирует на 0 .как же прописать тогда клавиши?Код:device zxspectrum48 ORG 60000 XOR A LD (23560),A ;в системную переменную LAST_K (код ; последней нажатой клавиши) заносится 0 LOOP LD A,(23560) ;из этой системной переменной ; считывается значение кода нажатой клавиши CP "P" ;сравнение двух кодов - находящегося ; в регистре A и символа P JR NZ,LOOP ;если результат сравнения не равен 0, ; то переход на метку LOOP, если 0, RET savesna "probe.sna",#6000
После того как вы нажмете клавишу P, O, Q или A, программа напечатает в левом верхнем углу экрана одну из фраз, перечисленных в блоке данных, например, «KEY Q».Код:KEY XOR A LD (23560),A MET1 LD A,(23560) CP "P" ;сравнение двух кодов ; Если результат сравнения не равен нулю (то есть нажата не P), ; то переход на метку MET2, после которой проверяются нажатия других клавиш JR NZ,MET2 LD DE,TXT1 PRINT LD BC,5 ;вывод на экран символа, CALL 8252 ; соответствующего нажатой клавише LD A,13 RST 16 JR KEY ;переход на начало программы MET2 CP "O" ;проверка нажатия клавиши O JR NZ,MET3 LD DE,TXT2 JR PRINT MET3 CP "Q" ;проверка нажатия клавиши Q JR NZ,MET4 LD DE,TXT3 JR PRINT MET4 CP "A" ;проверка нажатия клавиши A JR NZ,MET5 LD DE,TXT4 JR PRINT MET5 CP "0" ;проверка нажатия клавиши 0 JR NZ,MET1 ;если коды не совпадают, ; повторяем все сначала RET ; иначе - выход из программы ; Данные для печати TXT1 DEFM "KEY P" TXT2 DEFM "KEY O" TXT3 DEFM "KEY Q" TXT4 DEFM "KEY A"




Радио-Губитель
Канал на
Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
