Я пытаюсь записать через ячейки значения адреса переворота 100h to 110h с отрицательными значениями. (Если значение отрицательное - оно остается отрицательным). Не используйте Compare CMP. поэтому я стараюсь, чтобы проверить знак MSB с текстовой команды и он не работает, я написал этуЯ пытаюсь написать в сборке
code segment
assume ds:code,cs:code
start: mov ax,code
mov cx,10
mov si,100h
check:
mov al,[si]
test al,10000000h//here i have problem!
je isntnegative
inc si
dec cx
cmp cx,0
jz finish
jmp check
isntnegative:
neg al
inc si
dec cx
cmp cx,0
jz finish
jmp check
finish:
int 21h
nop
code ends
end start
Я знаю, что это долго и эффективно, но это лучшее, что я могу сделать в данный момент.
Непонятно, что вы пытаетесь сделать, на какой платформе вы пишете и какой результат вы ожидаете. Пожалуйста, отредактируйте и укажите некоторый контекст. –
как я говорю, я пытаюсь преобразовать положительное число в отрицательное число –
Почему вы ожидаете найти что-нибудь разумное по адресу 100h? На какой платформе вы нацеливаетесь? В Windows или Linux ваша программа, скорее всего, сбой. В DOS он обработает бессмысленные данные. –