본문 바로가기

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 파일명  --> 실행파일을 만든다.


div.asm

section .data

end db 0x0a

section .bss

result1 resb

result2 resb

section .text

global _start


_start:

mov al,'9'

sub al,'0'


mov bl,'2'

sub bl,'0'

div bl


add al,'0'

add ah,'0' ;ah -> 나머지 값이 들어감


mov [result1],al

mov [result2],ah


mov eax,4

mov ebx,1

mov ecx,result1

mov edx,1

int 0x80

call _print


mov eax,4

mov ebx,1

mov ecx,result2

mov edx,1

int 0x80

call _print


mov eax,1

int 0x80


_print:

mov eax,4

mov ebx,1

mov ecx,end

mov edx,1

int 0x80

ret



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

[Assembly] 숫자 곱하기  (0) 2016.12.04
[Assembly] 숫자 빼기  (0) 2016.12.04
[Assembly] 사칙연산 프로그램  (0) 2016.12.04
[Assembly] 배열선언 및 숫자더하기  (0) 2016.12.04
[Assembly] 숫자 더하기  (0) 2016.12.04