;systeam call tables 검색
SECTION .data
msg: db "Asembly is freakin cool",10,0
msgLen: db 26
; msg:다른 코드 참조 레이블
; db:바이트 정의
; 10은 개형 문자 \n
: 0은 null 바이트
SECTION .bss
SECTION .text
global main ;외부 사용 가능
main:
push ebp
mov ebp, esp
;코드 작성 영역
; 시스템 호출 작성
; 정의: write(fileDescriptor, char* msgAddr, bytes)
push DWORD [mesgLen]
push msg
call write
;스택 해재
mov esp, ebp
pop ebp
ret
write:
push ebp
mov ebp, esp
;코드 작성 영역
; 시스템 호출 작성
; 정의: write(fileDescriptor, char* msgAddr, bytes)
mov ebx, 4
mov ebx, 1 ;0=stdin 1=stdout 2=stderror
mov ecx, [ebp + 8]
mov edx, [ebp + 12]
;인터럽트 생성
int 0x80
;compile
;nasm -f elf32 -o asm.o systemCalls.asm
;gcc -m32 -o program asm.o
댓글 없음:
댓글 쓰기