2016년 10월 9일 일요일

ASSEMBLY LANGUAGE FOR X86 PROCESSORS CHAPTER1

assembler 는 어셈블리 언어로 작성된 소스코드 프로그램을 기계어로 변환하는 유틸리티프로그램이다

linker 는 어셈블러가 생성한 각 파일을 하나의 실행 프로그램으로 합치는 유틸리티 프로그램이다

debugger라고 하는 관련 유틸리티는 프로그램 실행 동안 프로그램을 단계적으로 실행하고 레지스터와 메모리를 살펴보게 한다

16비트 실제 주소 모드:
real-address 모드 프로그램은 MS-DOS와 MS-Window,의 콘솔 윈도우에서 수행된다.

32비트 보호 모드
이 프로그램은 실제 모드 프로그램보다 작성하고 이해하기가 쉽다

왜 어셈블리 언어를 배우는가 ?

기계어의 각 명령어는 비교적 적은 수의 전자회로를 사용하여 수행하므로 단순하다
따라서 L0이라고 부르기도 한다.

L0- 매우 상세하게 기술해야함 순수하게 숫자로만 구성됨
따라서 사용하기 더 편한 L1 이 개발됨.

1.해독 : L1의 각 명령어는 L0언어로 작성된 프로그램에 의해서 해독되어 실행됨
즉시 실행되기 시작하지만 각 명령어는 먼저 해독되어야 실행될 수 있다.

2. 변환 : L1 프로그램 전체가 프로그램에 의해 L0프로그램으로 변환된다
변환된 L0 프로그램은 컴퓨터 하드웨어에서 직접 실행 될 수 있다.

---------------------
1.3 data
8bit - byte 16bit- word 32bit- doubleword 64bit- quadword

16진수는 알파벳으로 시작할시 앞에 0을 넣어야한다.

16진수의 2의 보수
모든 비트를 반전시키고 1을 더한다
16진수에서 비트 반전시키려면 자리 숫자를 15에서 빼는것이다
ex) 6A3D ----> 95C2 +1 => 95C3

ASCII 코드는 7BIT 정수가 각 문자에 지정된다 즉 하위 7비트만 사용한다

매우 다양한 국제 언어를 표현할 필요성이 생겨 유니코드 표준이 만들어졌다

댓글 없음:

댓글 쓰기