이 간단한 어셈블리 프로그램 asm1.asm
이 있는데 컴파일하려고하면 오류가 발생합니다. 이것은 내가이 오류경고 : 콜론이없는 행의 라벨에만 오류가있을 수 있습니다.
C:\Users\David\Desktop>nasm -f elf asm1.asm
asm1.asm:23: warning: label alone on a line without a colon might be in error
나는 그래서 그것을 사소한 뭔가 같아요하지만 누군가가 경고의 원인을 말씀 해주십시오 수있는 어셈블리에 새로 온 사람을 얻는 코드
;--- constant variables ---
SECTION .data
msg: db "Hello World!", 10, 0; 10: carriage return, 0: NULL end of msg (stop)
;--- dynamic variables ---
; SECTION .bss
;--- assembler code ---
SECTION .text
extern _printf
global _main ;
_main: ; void main() {
push ebp ;basepointer ; /* creation of the stack */
mov ebp, esp ;stackpointer ;
push msg ; /* pushing memory address */
call _printf ; /* call printf */
mov esp, ebp ; /* function body */
pop ebp ;
return; ; }
입니까?
경고가 아닌 오류입니다. 그 뒤에 콜론을 붙이면 NASM은 당신이 라벨을 만들고 싶어한다는 것을 압니다. 콜론없이 레이블을 만들 때 NASM은 다음과 같이 생각합니다. 레이블로 취급 하겠지만 단 하나의 단어로 작동 코드를 잘못 입력 한 것일 수 있습니다. 나는 그것에 대해 사용자에게 경고 할 것이다. http://www.nasm.us/doc/nasmdoc3.html – Blechdose
asm1.asm : 23은 "**이 오류/경고는 ** asm1.asm ** 파일의 ** ** ** 온라인에 있습니다."NASM은 " 나는 이것을 라벨로 취급하고 있지만 콜론이 없으며 지시 사항으로 보이지 않습니다. "- 그래서 경고를 무시하는 것은 안전하지 않습니다 ... – Magoo
예,이 경우에는 의도하지 않았습니다. – Blechdose