Курсовая работа: Реалізація функцій ABS(X), [X], {x}
;1) якщо d15=1 - bh=80h (знак), iнакше bh=0
xor bh,bh
test ax,8000h
jz plus
neg ax
mov bh,80h
plus:
;2)зсунути AX влiво так, щоб старша одиниця була в CF.
; пiдрахувати кiлькiсть зсувiв
xor di,di
mov cx,16
shift: inc di
shl ax,1
jc stop_shift
loop shift
stop_shift:
;3)обчислити порядок: bl=127+16-di
mov cx,di
mov bl,127+16
sub bl,cl
pop di
;отже,маємо:bh-знак,bl-порядок,ax-мантиса
;ставимо найстарший байт (3) в 0
mov byte ptr es:[di],0
;ставимо молодший байт: знак+7 старших бiтiв порядку
mov dl,bh
push bx
shr bl,1
or dl,bl