Лабораторная работа: Выполнение арифметических операций над числами с фиксированной запятой
;-----------ВЫХОД ИЗ ПРОГРАММЫ
ENDPROG: MOV AH, 4CH
INT 21H
;===========ПРОЦЕДУРА CONTROL - ЧИСЛО ДЕВЯТИРИЧНОЕ?
CONTROL PROC
PUSHA ;СОХРАНЕНИЕ РЕГИСТРОВ В СТЕКЕ
MOV BX, DX
INC BX
MOV AL, [BX]
MOV AH, 0
MOV CX, AX
;-----------ЯВЛЯЕТСЯ ЛИ СТРОКА ПУСТОЙ?
CMP AL, 0
JE ERR1 ;ЯВЛЯЕТСЯ
;-----------ПРОВЕРКА ДЛИНЫ СТРОКИ
CMP AL, 6
JA ERR1 ;ЧИСЛО ВВЕДЕНО НЕВЕРНО
INC BX
MOV AH, [BX]
CMP AH, '-'
JE MINUS
JMP NEAR PTR FOR1
MINUS: INC BX ;ЧИСЛООТРИЦАТЕЛЬНОЕ
DEC CX
;-----------ВВЕДЕННОЕ ЧИСЛО ДЕВЯТИРИЧНОЕ?
FOR1: MOV AH, [BX]
CMP AH, '9'
JB N1
ERR1: JMP NEAR PTR ERROR ;ЧИСЛОВВЕДЕНОНЕВЕРНО