mov ax,0
metka:
inc ax
cmp cf,1
jne metka
mov bx,ax
Assembler
1. Непрерывно, начиная с числа 01Н, наращивать на единицу содержимое регистра А до появления признака переноса. При появлении признака переноса переслать содержимое регистра А в регистр В.
2. Установить в нуль область памяти, начиная с адреса 2200Н, содержащую 5 байт.
К сожалению моих начальных сведений о языке Ассемблер не хватило, чтоб их решить(((
это вообще элементарно читай попобольше книжек по асму
Код:
Код:
mov ax,0
metka:
inc ax
cmp cf,1
jne metka
mov bx,ax
metka:
inc ax
cmp cf,1
jne metka
mov bx,ax
Псевдокод?:D
Ага, типа того ))
Тяжело бывает при изучении чего-то нового, без советов опытных людей не обойтись. Судя по решению задания номер 1, второе решается аналогично, только нужно поставить условие на проверку 5 байт в памяти или нет, правильно мыслю?
2. Установить в нуль область памяти, начиная с адреса 2200Н, содержащую 5 байт.
Если наращивать по единице содержимое регистра А до переноса, разве в этом регистре А после переноса будет не 0?
Код:
mov ax,0
metka:
inc ax
[COLOR=red]cmp cf,1[/COLOR]
jne metka
mov bx,ax
metka:
inc ax
[COLOR=red]cmp cf,1[/COLOR]
jne metka
mov bx,ax
а как эту строку понять? может проще использовать jnc?
неважно значение регистра, если перенос был - cf будет установлен .
OlgaKr
inc/dec не влияют на CF.
я и не спорю, с тех пор как сдала последний экзамен по асм-у я им и не занимаюсь, но использование команды компар подобным образом для меня сомнительно =), для проверки флагов вроде условные переходы существуют.
Код:
mov ax,0
metka:
inc ax
cmp cf,1
jne metka
mov bx,ax
metka:
inc ax
cmp cf,1
jne metka
mov bx,ax
Код:
mov ax, 0
L:
add ax, 1
jnc L
mov bx, ax
L:
add ax, 1
jnc L
mov bx, ax