실행환경
- cpu : 인텔계열(64bit)
- 컴파일러 : nasm
- 리눅스 : ubuntu 16.04 LTS
설치방법
- sudo apt-get install nasm
컴파일
- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.
- ld 파일명.o -o 파일명 --> 실행파일을 만든다.
3. 정삼각형을 만들어라
*
***
*****
*******
exam3.asm
section .data
star db '*'
ent db 0x0A
space db ' '
section .bss
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:
mov rcx,4
mov rbx,1
mov rdx,3
_lp:
push rdx
push rbx
push rcx
push rbx
mov rcx,rdx
cmp rcx,0
je _jp
_lp2:
push rcx
write space,1
pop rcx
loop _lp2
_jp:
pop rcx
_lp3:
push rcx
write star,1
pop rcx
loop _lp3
write ent,1
pop rcx
pop rbx
pop rdx
dec rdx
add rbx,2
loop _lp
_exit:
mov eax,1
int 0x80
'Programming Language > Assembly' 카테고리의 다른 글
[Assembly] 어셈블리 문제5 (0) | 2016.12.05 |
---|---|
[Assembly] 어셈블리 문제4 (0) | 2016.12.05 |
[Assembly] 어셈블리 문제2 (0) | 2016.12.05 |
[Assembly] 어셈블리 문제1 (0) | 2016.12.05 |
[Assembly] 어셈블리 Test21 (0) | 2016.12.05 |