본문 바로가기

Programming Language/Assembly

[Assembly] 문자열 변환

실행환경

- cpu : 인텔계열(64bit)

- 컴파일러 : nasm

- 리눅스 : ubuntu 16.04 LTS


설치방법

sudo apt-get install nasm


컴파일

- nasm -f elf64 파일명.asm -o 파일명.o  --> 목적파일을 만든다.

- ld 파일명.o -o 파일명  --> 실행파일을 만든다.


ex1_6.asm

SYS_WRITE     equ 4 ;#define SYS_WRITE 4와 같은 의미

SYS_STDOUT   equ         1

SYS_READ      equ 3

SYS_EXIT       equ 1


section .data

msg db 'hello world '

len equ $ -msg

end db 0x0a


section .bss


section .text

global _start


_start:

mov eax,SYS_WRITE

mov ebx,SYS_STDOUT

mov ecx,msg

mov edx,len

int 0x80


mov eax,SYS_WRITE

mov ebx,SYS_STDOUT

mov ecx,end

mov edx,1

int 0x80


mov [msg] , dword 'Hi'   ;[]대괄호 의미는 자기 자신의 주소를 나타낸다.

    ;dword --> 4byte

mov eax,SYS_WRITE

mov ebx,SYS_STDOUT

mov ecx,msg

mov edx,len

int 0x80

mov eax,SYS_WRITE

mov ebx,SYS_STDOUT

mov ecx,end

mov edx,1

int 0x80


mov eax,SYS_EXIT

int 0x80


'Programming Language > Assembly' 카테고리의 다른 글

[Assembly] 짝수 홀수 판별2  (0) 2016.12.04
[Assembly] 짝수 홀수 판별1  (0) 2016.12.04
[Assembly] * 찍어보기  (0) 2016.12.04
[Assembly] Hello World 출력하기  (0) 2016.12.04
[Assembly] 어셈블리 명령어  (0) 2016.12.04