본문 바로가기

Programming Language/Assembly

[Assembly] 어셈블리 Test15

실행환경

- cpu : 인텔계열(64bit)

- 컴파일러 : nasm

- 리눅스 : ubuntu 16.04 LTS


설치방법

sudo apt-get install nasm


컴파일

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

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



문제 : 문자 'x' 를 입력할 때 까지 계속해서 문자 입력을 받아 화면에 출력

       단, 종료문자 'x'는 대소문자 구분 없다.)

       출력 예) 문자 입력 : a

            문자 입력 : b

            문자 입력 : X


test15.asm

section .data

msg db '문자 입력 : '

lm equ $ -msg


ent db 0x0A


section .bss

cha resb 1

t resb 1

section .text

global _start


%macro write 2

mov eax,4

mov ebx,1

mov ecx,%1

mov edx,%2

int 0x80

%endmacro


%macro read 2

mov eax,3

mov ebx,1

mov ecx,%1

mov edx,%2

int 0x80

%endmacro


_start:

write msg,lm

read cha,1

read t,1


mov al, [cha]

cmp al, 'x'

je _exit


jmp _start


_exit:

mov eax,1

int 0x80



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

[Assembly] 어셈블리 Test17  (0) 2016.12.05
[Assembly] 어셈블리 Test16  (0) 2016.12.05
[Assembly] 어셈블리 Test14  (0) 2016.12.05
[Assembly] 어셈블리 Test13  (0) 2016.12.05
[Assembly] 어셈블리 Test12  (0) 2016.12.05