ASMを学ぼうとしていて、いくつかのチュートリアルを終えたばかりでなく、MASM .ifと.whileの代わりにjmpとcmpなどを使用するチュートリアルのコンテンツを修正しましたマクロ。MASMを使ってコンソールにレジスタを出力する
私はもっと先進的なチュートリアルを続ける前に、非常に簡単に何かを書いてみることにしました。私はフィボナッチ数生成器を書いています。
.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
.code
start:
mov eax, 1
mov ecx, 1
_a:
push eax
add eax, ecx
pop ecx
; Jump to _b if there is an overflow on eax
; Print Values Here
jmp _a
_b:
push 0
call ExitProcess
end start
私はEAX/ECXのオーバーフローをチェックしていきますが、今、私は、画面上EAX/ECXの値を表示するのにちょうど興味:ここで私はこれまで持っているソースです。
私は一定の文字列のアドレスを.dataからプッシュし、hello worldチュートリアルの最初の例であるStdOutを呼び出す方法を知っていますが、これは全く異なるようです(?)。
だから、あなたは最高に最下位桁から印刷していますか? –