В общем-то сижу и не получается правильно это сделать. Вот код:
stk segment 'stack'
Db 128 dup (?)
dan segment 'data'
maska1 dw 1100100010000000b
P dw ?
X dw -3
r db 1
dan ends
Cd segment 'code'
Assume cs:cd,ds:dan,ss:stk
start:
mov ax,dan
mov ds,ax
;---------
mov ax,x
cmp ax,-3
jg inv
cmp ax,-3
jl inv
;-----------
mov al,r
mov ah,3
imul ah ;ax=3r
mov bx,ax
mov al,1
mov ah,r
imul ah
add bx,ax
mov p,bx
jmp konec
;-----------вот дальше у меня заминка
inv:
mov cx,maska1
mov ax,x
cbw
and ax,cx
mov x,ax
;-----------
konec:
mov ah,4ch
int 21h
cd ends
end start