Показать сообщение отдельно
Старый 12.08.2006, 16:41   #2
jimon
 
Сообщений: n/a
Re: Обмен значениями двух переменных (только двух переменных)

я тут решил поигратся с етой штукой
(ну от нефиг делать)

на asm именно такой алгоритм можно представить как :
mov ax,[a]
mov dx,[b]

add ax,dx //a = a+b

mov cx,ax //b = a-b
sub cx,dx
mov ax,cx

sub ax,dx //a = a-b

mov [a],ax
mov [b],dx
самый низкий уровень программирования
ето система даже не asm
а набор мнемоник который показывает как работает проц со стеком
при таких операциях
push a
push a
push b
//в стеке <- b,a,a

add //складывание a+b в стеке
//в стеке <- a+b,a

push a
//в стеке <- a,a+b,a

sub // (a) - (a+b)
//в стеке <- b,a

pop a //замена b в a
//в стеке <- a

pop b
//в стеке пусто
но вот правильный кодер на asm не парится и пишет сразу :
push [a]
push [b]
pop [a]
pop [b]
учитесь юзать стек господа

ASM РУЛИТ !
 
Ответить с цитированием