Курсовая работа: Измеритель расхода топлива
MULAB
MOVB, 52h; Результат этого умножения снова делится
DIVAB; на новый делитель и целая часть этого
ADDA, 57h; деления складывается с десятыми долями
MOV 57h, A; деления старшего байта произведения.
MOV 56h, 52h
MOV 42h, B; Остаток последнего деления фиксируется.
JMP VPERED ; Переход к нахождения сотых долей.
B7: MOVA, #8h; Если остаток от деления делителя на 10
CJNEA, 57h, C5 ; равен 9, то переход в метку HELP_1.
C5: JCDALEE
JNCB8 ; Если меньше или равен 8, то в метку B8.
B8: MOVA, #7h; Если остаток от деления делителя на 10
CJNEA, 57h, C6 ; равен 8, то переход в метку B5.
C6: JCB5
JNCB6 ; Если равен 7, то переход в метку B6.
HELP_1: SJMPDALEE; Переход в метку DALEE.
B6: MOVA, 56h; Если остаток от деления делителя на 10
MOVB, #3h; равен 3 или 7, тогда целая часть от
MULAB; деления делителя на 10 умножается на 3.
MOV 52h, A
MOVA, #5h; Полученный результат в случае, если
CJNEA, 57h, RAZD; остаток от деления делителя на 10 равен 7
RAZD: JCDEL1 ; увеличивается на 2. А если остаток равен
JNCDEL2 ; 3, то - на 1. Получен новый делитель.
DEL1: INC 52h
INC 52h
SJMPRETURN; Переход в метку RETURN.
DEL2: INC 52h