* BGT:
* Чтение 8-разрядного A/D регистра, присвоение знака и проверка на правильность диапазона
*
* Ввод: Новое чтение в AD_RES
* Вывод: Результат, со знаком, в A. Если результат вне диапазона, то устанавливается ERR_FLG
*
*
Метка Операция Операнд Комментарий
ORG $50 ; Адресное пространство RAM
ERR_FLG RMB 1 ; Флаг выхода за пределы диапазона
AD_RES RMB 1 ; A/D регистр результата
*
*
ORG $6E00 ; Адресное пространство ROM/EPROM
BCLR 0, ERR_FLG
LDA AD_RES ; Получение последнего считывания (с 0 до
; 256)
EOR #$80 ; Установка знака (от -128 до 256)
CMP #$73 ; Если больше верхней границы, то
BGT OUT ; переход к установке флага ошибки
CMP #$8D ; Если больше нижней границы ($8D = -$73)
BGT IN ; то переход к выходу
OUT BSET 0, ERR_FLG ; Установка флага ошибки
IN RTS ; Возврат
*
|