Курсовая работа: Реалізація функцій ABS(X), [X], {x}
xor bh,bh
mov bl,dh
shl bl,1
adc bh,0
shl bh,7
mov dl,byte ptr ds:[si+2]
mov ah,dl
and ah,80h
shr ah,7
or bl,ah ;в BH - знак, в BL - порядок, в EDX - число
shl edx,16
mov dh,byte ptr ds:[si+1]
mov dl,byte ptr ds:[si]
cmp bl,127
jb stop_tr ;це вже число <0!
shl edx,9 ;прибрати все зайве (знак i порядок)
sub bl,127 ;кiлькiсть зсувiв (бiтiв з цiлою частиною)
mov cl,bl
shl edx,cl ;вiдкинути цiлу частину
;зараз в EDX - дробова частина
;тепер обчислюємо порядок
mov bl,127
shift_l:
dec bl
shl edx,1
jnc shift_l ;отже, тепер порядок в bl, а в edx готова мантиса
;тепер зсунути EDX вправо на 9
shr edx,9
xor eax,eax