asm
mov di,smesh
add di,3+2*2
mov ax,k
push ds
mov ds,segm
mov [di],ax
mov bx,[di]
pop ds
add k,bx
end;
Комментарий ассемблерной вставки
Прокомментируйте, пожалуйста, ассемблерную вставку, расположенную ниже.
Код:
asm
mov di,smesh;Пихаем в регистр di содержимое переменной smesh
add di,3+2*2;Прибавляем к di 3+2*2
mov ax,k;Пихаем в регистр ax содержимое переменной k
push ds;Сохраняем содержиое регистра ds в стеке
mov ds,segm ;Пихаем в регистр ds содержимое переменной segm
mov [di],ax; Пихаем в память по адресу di содержимое регистра ax
mov bx,[di] Пихаем в регистр bx содержимое памяти по адресу di
pop ds; Вынимаем из стека в регистр ds
add k,bx;Прибавляем к bx k
end;
mov di,smesh;Пихаем в регистр di содержимое переменной smesh
add di,3+2*2;Прибавляем к di 3+2*2
mov ax,k;Пихаем в регистр ax содержимое переменной k
push ds;Сохраняем содержиое регистра ds в стеке
mov ds,segm ;Пихаем в регистр ds содержимое переменной segm
mov [di],ax; Пихаем в память по адресу di содержимое регистра ax
mov bx,[di] Пихаем в регистр bx содержимое памяти по адресу di
pop ds; Вынимаем из стека в регистр ds
add k,bx;Прибавляем к bx k
end;
А не проще написать k:=k+k?
Цитата:
add k,bx;Прибавляем к bx k
Наоборот! Прибавляем к k bx