[전광성의 어셈블리어 이해하기:2회] IA-32 프로세서 아키텍쳐란? (2) 저자: 전광성 | 날짜: 2004년 12월 08일 1 .0 IA-32 프로세서 아키텍쳐란? (1) 0 IA-32 프로세서 아키텍쳐란? (2) 3 .0 IA-32 프로세서 아키텍쳐란? (3) IA-32 프로세서 아키텍쳐(Processor Architecture) IA-32란 인텔386에서 시작하여 최근의 32비트 프로세서인 펜티엄4에 이르는 프로세서'군' 의미한다. 물론 펜티엄 4에 이르러가면서 많은 변화가 있었지만, 프로그래머의 관점에서 보면 크게 바뀐것이 없다고 할 수 있다. 왜냐하면 프로세서의 수행속도의 향상과 구현방법의 변화로 프로세서가 진화해 갔기 때문이다. 굳이 다른 것이 있다면 멀티미디어 처리에 대한 명령의 성능 향상..
[전광성의 어셈블리어 이해하기:2회] IA-32 프로세서 아키텍쳐란? (1) 저자: 전광성 | 날짜: 2004년 12월 01일 0 IA-32 프로세서 아키텍쳐란? (1) 2 .0 IA-32 프로세서 아키텍쳐란? (2) 3 .0 IA-32 프로세서 아키텍쳐란? (3) 시작하기에 앞서... 컴퓨터는 어느새 우리의 생활과 너무나도 밀접한 연관을 갖게 되었다. 또한 수많은 사람들의 노력으로 컴퓨터에서 계산기 하나만 실행시켜주면 각종 연산을 해내고, 사람과 친숙한 언어를 이용하여 프로그램을 짤 수도 있게 되었다. 하지만 그 기반을 이루기 위해 어떤 일들이 이루어 졌는지 한번 생각해 보았는가? 0과 1로만 이루어진 것들을 어떤 방법을 통해 친숙해 보이도록 만들었을까?필자가 언급한 질문에 대한 대답은 정말 광범위하다..
[전광성의 어셈블리어 이해하기:1회] 어셈블리어를 배우기 위한 기본개념 (3) 저자: 전광성 | 날짜: 2004년 11월 24일 1 .0 어셈블리어를 배우기 위한 기본개념 (1) 2 .0 어셈블리어를 배우기 위한 기본개념 (2) 0 어셈블리어를 배우기 위한 기본개념 (3) 이진수로 나타낸 부호있는 정수 컴퓨터는 음의 정수를 어떻게 표현하는가에 대해 알아보겠다. 컴퓨터는 -1을 만들기 위해 1에다가 2의 보수를 취한다. 2의 보수가 어떤 것인지는 다음 표를 보면 알 수 있다. 참고로 표에서 데이타의 크기는 1바이트이다. 또 비트반전은 1의 보수와 같은 말로서, 1은 0으로, 0은 1로 바꾸어주는 것을 의미한다.10000 0001비트반전(1의보수)1111 1110 더하기 11111 1111 결과1111 11..
[전광성의 어셈블리어 이해하기:1회] 어셈블리어를 배우기 위한 기본개념 (2) 저자: 전광성 | 날짜: 2004년 11월 17일 1 .0 어셈블리어를 배우기 위한 기본개념 (1) 0 어셈블리어를 배우기 위한 기본개념 (2) 3 .0 어셈블리어를 배우기 위한 기본개념 (3) 이진수로 나타낸 부호없는 정수 자, 이제 이진수를 이용하여 자료를 표현해 보자. 우선은 제일 쉽고 간단하면서도 흔한 부호없는 정수에 대해 생각해보자. 부호없다는 것은 ‘음이 아닌 정수’라는 뜻이다. 그럼 음수는?... 다음 단락에서 다룰 것이니 걱정마라.우선은 2진수를 어떻게 10진수로 변환하는지 알아보자. ㅁㅁㅁㅁ ㅁㅁㅁㅁ 이렇게 8비트의 이진수가 있다고 하자. 아까 비트에 번호붙였던 것이 기억나는가? 8비트니까 맨 왼쪽이 비트7, ..
[전광성의 어셈블리어 이해하기:1회] 어셈블리어를 배우기 위한 기본개념 (1) 저자: 전광성 | 날짜: 2004년 11월 10일 0 어셈블리어를 배우기 위한 기본개념 (1) 2 .0 어셈블리어를 배우기 위한 기본개념 (2) 3 .0 어셈블리어를 배우기 위한 기본개념 (3) 시작하기에 앞서... 어셈블리어는 저급언어다. 원론적으로 이야기 하자면, 사람보다는 기계에 더 친한 언어이다. 이 언어는 대부분 하드웨어에 직접 명령을 내리는 형식을 갖추고 있고, 고급언어에서 신경 쓰지 않아도 되었던 것들에 대해서 일일이 신경 써 주어야 한다. 그렇기 때문에 기본 개념이 필요하다.중학생 시절, 내가 C언어 책을 사서 공부하는 것을 보고 나의 친형이 경쟁심에 더 어려운 것을 해보겠다며 어셈블리어 책을 샀던 것이 기억난다..
[전광성의 어셈블리어 이해하기] 강좌 소개 및 목차 저자: 전광성 | 날짜: 2004년 11월 10일 1. 강좌 소개 본 강좌에서는 어셈블리어(Intel-based Assembly Language)를 배울 것이다. 고급언어 중에서도 특히 객체지향언어를 활용하는 지금, 굳이 어셈블리어를 배워보려는 이유는 무엇일까? 첫번째 이유는 어셈블리어가 여전히 하드웨어 컨트롤과 커널 개발 등에 쓰인다는 것이고, 두번째 이유는 이것을 배움으로써 CPU가 어떤 일을 하는지, 컴퓨터가 어떻게 프로그램을 수행하는지 알 수 있다는 것이다. 프로그래밍 언어를 한번이라도 접해본 사람이라면 쉽게 이해할 수 있도록 설명할 예정이다.어셈블러로는 매크로어셈블러(masm)6.15을 사용할 것이며, 아래 참고자료에 있는 라이브러리를 이용하여..