간단한 문장출력
%include "io.inc"
section .text
global CMAIN
CMAIN:
PRINT_STRING 'Assembly' ;PRINT_STRING에 저장된 문자열을 출력하는 명령어
PRINT_STRING 'Language'
xor eax, eax ;eax는 연산의 결과를 저장하는 레지스터로 메모리 상 쓰레기값이 있을수 있으므로 초기화 시켜준다
ret
결과
숫자 대입하고 더하기
%include "io.inc"
section .data ; 변수선언
a dw 0 ; a라는 변수를 double word 로 할당 후 0으로 초기화
d dw 0
section .text
global CMAIN
CMAIN:
GET_DEC 2,[a] ; 사용자의 입력 값을 변수 [a]에 저장
GET_DEC 2,[b]
mov eax, [a] ; 사용자가 입력한 a의 값을 eax에 저장
add eax, [b] ; 사용자가 입력한 b의 값과 eax에 저장된 값과 더하기 연산
PRINT_DEC 2, eax ; eax에 저장된 값을 출력
xor eax, eax ; eax는 연산의 결과를 저장하는 레지스터이며 메모리 상의 쓰레기값이 있을 수 있으므로 초기화 시킨다
ret
결과
삼칙연산
%include "io.inc"
section .data ; 변수를 입력
a dw 0 ; a라는 변수를 선언하고 word로 공간 할당하고 0으로 초기화
b dw 0
c dw 0
y dw 0
section .text
global CMAIN
CMAIN:
GET_DEC 2, [a] ;사용자가 값을 지정할수있게하기
GET_DEC 2, [b]
GET_DEC 2, [c]
mov eax, [a] ;사용자가 입력한 a의 값을 eax에 저장
add eax, [b] ;사용자가 입력한 b의 값을 eax에 저장된 값과 덧셈
imul eax, [c] ;사용자가 입력한 c의 값을 eax에 저장된 값과 곱셈
mov [y], eax ;eax에 저장된 값을 y에 저장
PRINT_DEC 2, [y] ;y의 값을 출력하기
xor eax, eax
ret
결과
'IT > 어셈블리어' 카테고리의 다른 글
(통합) 어셈블리어 문법 및 기초이론 모음 (0) | 2020.04.04 |
---|---|
(1주차)어셈블리어 실습환경 - SASM 설치 (0) | 2020.04.04 |