어셈블리 기초 2

Hello World! 어셈블리 분석 - AMD64 어셈블리 기초

Hello, World! 출력을 분석해보자 Hello.c #include //표준 라이브러리 int main(void){//main 함수 선언 printf("Hello world\n");//printf표준함수로 문자열 출력 return 0;//무결성 증명 } 간단한 Hello world 프로그램이지만 많은 원리가 있다. 어셈블리를 분석하려면 당연히 어셈블리어를 알아야 한다. 어셈블리 구조 어셈블리어 수행 방식 Opcode Operand INC RAX 어셈블리는 Opcode와 Operand 그리고 ;로 시작하는 주석이 있다. Opcode는 명령어 Operand는 명령이 수행될 공간 또는 데이터 ; 주석 Opcode Operand1(Destination) Operand2(Source) ADD RBX RAX ..

개발/Assembly 2022.02.09

RISC vs CISC 차이 - Processor

RISC vs CISC 가 무엇일까? 기술의 발전으로 다양한 프로세서가 등장했다. 구분을 위해 연산 방식에 따라 분류할 때 주로 RISC 와 CISC 로 나눌 수 있다. 구조가 다르기 때문에 컴파일러도 다르다. RISC 에는 ARM 이 대표격이며, CISC 에서는 AMD64 가 대표적이다. 표 CISC vs RISC 요약: C(omplex)ISC 는 코드 단순/계산 복잡,단순처리 R(educed)ISC 는 코드 복잡/계산 단순,병렬처리 CISC (복잡 명령어셋 컴퓨터) RISC (단순 명령어셋 컴퓨터) 1 하드웨어에서 주로 처리(Memory-to-Memory) 소프트웨어에서 주로 처리 (Register-to-Register) 2 멀티 클럭 동작 싱글 클럭 동작만 3 코드 용량 작음 코드 용량 큼 4 주소..

개발/Assembly 2022.02.03