실행환경
- cpu : 인텔계열(64bit)
- 컴파일러 : nasm
- 리눅스 : ubuntu 16.04 LTS
설치방법
- sudo apt-get install nasm
컴파일
- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.
- ld 파일명.o -o 파일명 --> 실행파일을 만든다.
문제 : 변수 x가 ‘x' 또는 ’X'일 때 true 출력
test4.asm
section .data
first db 'Input : '
len1 equ $ -first
true db 'true!'
len2 equ $ -true
false db 'false!'
len3 equ $ -false
newLine db 0x0a
section .bss
char1 resb 1
temp 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 first,len1
read char1,1
read temp,1
mov al,[char1]
cmp al,'x'
je _true
cmp al,'X'
je _true
write false,len3
write newLine,1
call _exit
_true:
write true,len2
write newLine,1
_exit:
mov eax,1
int 0x80
'Programming Language > Assembly' 카테고리의 다른 글
[Assembly] 어셈블리 Test6 (0) | 2016.12.04 |
---|---|
[Assembly] 어셈블리 Test5 (0) | 2016.12.04 |
[Assembly] 어셈블리 Test3 (0) | 2016.12.04 |
[Assembly] 어셈블리 Test2 (0) | 2016.12.04 |
[Assembly] 어셈블리 Test1 (0) | 2016.12.04 |