Исправленная версия кода - успешно прошла проверку на реальном Векторе и реальном Джойстике П
Спасибо всем кто помог мне в этом вопросе !!
Вот окончательный вариант моего кода опроса "джойстика П" (может кому пригодится)
; этот код находится в подпрограмме прерываний
; вначале опрашивается клавиатура и результат опроса заносится в ячейку KEYKOD
; если на клавиатуре ничего не было нажато то в ячейку KEYKOD заносится код того что ничего не нажато
; далее идёт опрос "джойстика П" - результат опроса заносится тоже в ячейку KEYKOD
; таким образом работает и клавиатура и джойстик
; ============= Joystik P
; =============
JOY:
in 06h ; читаем порт где подключён джойстик П
cma ; инвертируем для удобства обработки
mov l,a ; сохраняем значение сигнала
ani 128 ; выделяем бит первой кнопки
cpi 128 ;
jnz joykon2asd
mvi a,0FEH ; эта кнопка джойстика аналогична нажатию кнопки "TAB" клавиатуры в игре
sta KEYKOD ; записываем в ячейку для дальнейшей обработки в основном коде
jmp joykon5 ; переход на конец опроса джойстика если было нажатие кнопки
joykon2asd:
mov a,l ; выделяем бит второй кнопки
ani 64 ;
cpi 64 ;
jnz joykon3asd
mvi a,0FEH
sta KEYKOD
jmp joykon5
joykon3asd:
mov a,l
ani 1 ; выделяем бит направления вправо
cpi 1 ; vpravo ?
jnz joykon2
mvi a,0BFH
sta KEYKOD
jmp joykon5
joykon2:
mov a,l
ani 2 ; выделяем бит направления влево
cpi 2 ; vlevo ?
jnz joykon3
mvi a,0EFH
sta KEYKOD
jmp joykon5
joykon3:
mov a,l
ani 4 ; выделяем бит направления вверх
cpi 4 ; vverx ?
jnz joykon4
mvi a,0DFH
sta KEYKOD
jmp joykon5
joykon4:
mov a,l
ani 8 ; выделяем бит направления вниз
cpi 8 ; vniz ?
jnz joykon5
mvi a,7FH
sta KEYKOD
joykon5:





Ответить с цитированием