アセンブリ言語を学ぼうとしていますが、nasm を搭載した Intel Core i5 win 7 ラップトップで .asm コードを実行するのに何十時間も費やさなければなりません。問題は、ほとんどのアセンブリ コードの本に .Section,.Data が含まれていることです。コンパイルすると、hello world プログラムであっても、常にエラーが発生します。
(nasm) を実行するプログラム
org 100h
mov dx,string
mov ah,9
int 21h
mov ah,4Ch
int 21h
string db 'Hello, World!',0Dh,0Ah,'$'
この形式のプログラムは実行しないでください
%include "io.mac"
.STACK 100H
.DATA
number_prompt db "Please type a number (<11 digits): ",0
out_msg db "The sum of individual digits is: ",0
.UDATA
number resb 11
.CODE
.STARTUP
PutStr number_prompt ; request an input number
GetStr number,11 ; read input number as a string
nwln
mov EBX,number ; EBX = address of number
sub DX,DX ; DX = 0 -- DL keeps the sum
repeat_add:
mov AL,[EBX] ; move the digit to AL
cmp AL,0 ; if it is the NULL character
je done ; sum is done
and AL,0FH ; mask off the upper 4 bits
add DL,AL ; add the digit to sum
inc EBX ; update EBX to point to next digit
jmp repeat_add
done:
PutStr out_msg
PutInt DX ; write sum
nwln
.EXIT
本はそれ以降の形式でのみ提供されるため、助けてください。