Как правильно на асемблере сделать loop типа for (C) (TASM) - Assembler
Формулировка задачи:
как
правильно
на асемблере сделать Луп типа for (C) допустим мне надо сложить все числа с адресса 600h до 520h, и хочу я это сделать спомощью лупа?int main(){
int i,data[]=1,2,3,4,5,result=0;
for(i=0;i<5;i++)
result=result+data[i];
return 0;
}Решение задачи: «Как правильно на асемблере сделать loop типа for (C) (TASM)»
textual
Листинг программы
szData equ 4;размер в байтах одного элемента mov ecx,1+(600h-520h)/szData mov esi,520h xor eax,eax for: add eax,[esi+ecx*szData-szData];базово-индексная адресация с маштабированием loop for