1
Я пытаюсь работать с nasm от C и просто нелегко с основами nasm. Im пытается преобразовать простой в то время как цикл, как этотПростая петля в NASM от C
while(j < k)
{k = k + 1;
j = j + 2;
count = count + 1;
}
Я знаю, что это будет выглядеть как
Loopee:
????
add dword [k], 1
add dword [j], 2
add dword [count], 1
, но я не уверен, как структурировать время цикла, где она закругляется только до J не меньше k.
Вы видели эту ссылку? [сборка для сравнения двух чисел] (http://stackoverflow.com/questions/1123396/assembly-to-compare-two-numbers) – Tamerz
Сначала напишите на C, затем используйте свой компилятор для создания asm (например, 'gcc -S ... '), затем используйте сгенерированный asm в качестве шаблона для вашего собственного кода. –
Чтобы написать код сборки, вы должны сначала понять набор инструкций процессора. Вот ссылка ** [ссылка] (http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-developer-manual-325462.html) ** к документации. Это всего 3400 страниц, поэтому вы можете закончить чтение завтра :) – user3386109