< 사전지식 >
- 메모리주소는 1byte 마다 있고, 1byte 안에는 16진수 두자리가 들어간다.
- 1 word = 4 byte
- 따라서 메모리주소가 4byte 마다 증가한다.
- 어셈블리어의 Label = 고급언어의 변수명 (시작 메모리주소의 별명)
형태는 [Label 명 : ] 이다.
data segment, text segment 모두에 label을 만들 수 있다.
- 위 어셈블리 코드의 "str1 : " 이 레이블이다.
- .data 뒤에 메모리 주소를 지정하면 해당 주소부터 시작한다.
- .byte 's' : 다음 바이트에 's'를 써라.
- .word 'star' : 다음 워드에 'star'을 써라.
- .ascii "star" : 다음 주소부터 star의 아스키코드를 써라.
- .asciiz "star" : star의 아스키코드를 쓰고 끝에 0을 써라.
[ litte endian byte order (실제 단어에서 주소 작은 순서로 뒤로) vs big endian byte order (실제 단어에서 주소 큰 순서로 뒤로)]
[요약]