Как STA связан с портами ввода? Assembly i8080

Всем привет, есть такая задача: нужно последовательно ввести числа в порты ввода от 00 до 07 и проверить каждое введенное число на то является ли оно отрицательным положительным или нулем

Вот код:

org 0
.startup
mvi c,8
in 00

ana a
jm minusCheck
jz zeroCheck
jp plusCheck

minusCheck:
inr e
jmp counter

zeroCheck:
inr b
jmp counter

plusCheck:
inr d
jmp counter

counter:
inr h
mov a,h
cmp c
jz output
sta 3
jmp 2

output:
mov a,e
out 00
mov a,b
out 01
mov a,d
out 02

hlt

Не могу понять как в данном случае работает sta и почему он последовательно меняет порты ввода? То есть если изначально у нас идет проверка 00 порта но на строке с sta проверяется уже порт 01 и т.д. до 07, как это работает?


Ответы (0 шт):