jun-wiki

View My GitHub Profile

Posts (Latest 10 updated) :
Read all
Contents:
  1. Pointer, &, *
  2. csapp
    1. csapp 3.3
      1. 부동 소수점
      2. 어셈블리 코드 접미사
      3. 레지스터 상위 바이트 처리



일단 가볍게 마지막 키워드 단어 정리



Pointer, &, *

포인터와 포인터 연산자



csapp

csapp 3.3

옛날엔 기술이 지금보다 구렸고 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으로 설정한다