У меня есть простая программа, которая добавляет 1 + 1, пока не достигнет миллиона, а затем печатает «Готово!». на консоль. Но когда он работает, он ничего не делает. Вот код:x86 assembly- Простая арифметическая программа не работает, MASM32 на xp
.386
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib
.data
main dd 0
msg db "Done!", 0
.code
start:
_loop: mov eax, 1
mov main, eax
cmp main, 1000000
jz _next
jmp _loop
_next: invoke StdOut, addr msg
invoke ExitProcess, 0
end start
Это не делает ничего, когда я запускаю его. Я не понимаю, почему. В настоящее время я запускаю его через cmd, щелкая и перетаскивая его в подсказку и нажимая enter. А также, MASM32 самый простой ассемблер, чтобы узнать, или там лучше и проще? Если да, может ли кто-нибудь опубликовать те, которые лучше? Благодарю. Мне просто нужно где-то начать изучение сборки x86.
Спасибо заранее,
Progrmr
Я сомневаюсь, что вы найдете любые другие ассемблер заметно проще в использовании. То, с чем вы боретесь, - это язык ассемблера x86, а не сама ассемблерная программа. Тем не менее, некоторые люди предпочитают NASM (http://www.nasm.us/), над MASM. –