일단 가볍게 마지막 키워드 단어 정리
&
, *
옛날엔 기술이 지금보다 구렸고 16비트가 기본이었다
이를 워드라 불렀고
32비트, 64비트 늘어남에 따라 이들을
더블 워드, 쿼드 워드라 부른다
float을 단일 정밀도와 이중정밀도로 나타내는데
각각 4비트, 8비트 값이다
과거에 80비트(10바이트)도 인텔에서 구현했지만
다른 기기와 호환성이 없어 권장되지 않는다
gcc
가 생성하는 대부분의 어셈블리 코드 명령어는
피연산자의 크기를 나타내는 단일 문자 접미사를 가짐
C 선언 | Intel 데이터 타입 | 어셈블리 접미사 | 크기 (바이트) |
---|---|---|---|
char |
Byte | b |
1 |
short |
Word | w |
2 |
int |
Double word | l |
4 |
long |
Quad word | q |
8 |
char * |
Quad word (포인터) | q |
8 |
float |
Single precision | s |
4 |
double |
Double precision | l |
8 |
그에 대한 표
1바이트나 2바이트 생성 명령어는 레지스터 나머지를 건들지 않는다
4바이트를 생성하는 명령어는 레지스터 상위 4바이트를 0으로 설정한다