일부 작업을 수행하거나 설정을 변경하기 위한 어셈블러에 대한 지시이며, 어셈블러 지시문은 명령어를 나타내지 않으며 기계 코드로 변환되지 않는다. .으로 시작한다.
각 문자별 아스키코드로 data를 저장한다.
asciiz -> 문자열을 저장하고 null까지 저장한다.
n개만큼 null을 저장
해당 타입의 byte만큼 자리를 배정한다.
data segement의 시작을 알림
addr은 대부분 16진수의 메모리 주소이면 안 쓰면 임의로 배정해준다.
text segement의 시작을 알림
addr은 대부분 16진수의 메모리 주소이면 안 쓰면 임의로 배정해준다.
다른 파일에서도 해당 symbol에 접근 가능하게 해준다.
Comments : 주석이며 #을 통해 선언 가능
Labels: 레이블이며 :을 뒤에 붙혀서 사용 (뒤에서 더 자세히 다룰 예정)
4개의 byte를 모아(.ascii, .asciiz도 포함) word로 만들때 2가지의 방식이 있다.
Big endian: 우리가 16진수를 읽는것처럼 순차적으로 메모리에 배열
Little endian: 우리가 읽는 것에 반대로 메모리에 배열
spim에서 오른쪽 부분은 byte단위로 보여주고
왼쪽 부분은 word 단위로 보여주는데 이때 little-endian 기준으로 보여준다
따라서 아래 그림처럼 정보를 해석해주면 된다.
word값을 그대로 전달할때는 byte 단위로 읽어올 필요가 없으므로 굳이 말하자면 big endian처럼 순차적으로 메모리에 저장하면 된다.