У меня возникли трудности с очисткой флага переноса, но я придумал способ очистить его с помощью вычитания, но мне было интересно, есть ли лучший способ, которым кто-то мог бы поделиться со мной как установить и очистить флаг переноса с помощью сложения и вычитания.Установка и очистка флага переноса с добавлением и вычитанием
.data
binNum1 BYTE 11111111b
binNum2 BYTE 00000001b
.code
main PROC
mov al, binNum1 ; AL = 0FFh
add al, binNum2 ; AL = 00h CF = 1
sub al, binNum2 ; AL = FFh CF = 1
sub al, binNum2 ; AL = FEh CF = 0
Это то, что я должен установить и очистить флаг переноса. Когда я сначала вычитаю binNum2 из AL, я возвращаю свое исходное значение FFh, но флаг Carry все еще установлен до тех пор, пока я не вычитаю binNum2 из AL снова. Затем он устанавливает AL в FEh и очищает флаг Carry.
Есть ли у кого лучший способ очистки флага переноса?
Но дело в том, что я должен это делать, используя сложение и вычитание:/ – Josefhu15
Erm, Ok. Я добавил методы, которые используют вычитание. – Brendan