덧셈 명령과 빼기 명령

덧셈 명령과 빼기 명령 번역 감수 http이 장에서는 32비트 정수 덧셈과 뺄셈을 위한 명령에 대해 다룬다. 비트패턴으로 정수를 표현하는 방법도 복습 할 것이다.이 장에서는 다음과 같은 주제를 다룬다. 부호없는 2진수와 2의 보수 표현법에서의 오버플로우(Overflow in unsigned binary and twos complement)-복습 add와...

정수의 곱셈 나눗셈과 산술이동 명령

정수의 곱셈 나눗셈과 산술이동 명령 번역 감수 http이 장에서는 32비트 정수 곱샘을 수행하는 mips명령을 공부한다. 정수를 비트배턴으로 표현하는 주제는 이미 다루었고 복습이다.장의 주제 정수 곱셈과 나눗셈. hi와 lo 레지스터. mult와 multu 명령. div와 divu 명령. mfhi와 mflo 명령. 오른쪽 산술 이동 (Arithmetic...

메모리접근 명령

메모리접근 명령 번역 감수 http 이 장에서는 데이터를 메모리로부터 레지스터로 또는 레지스터로부터 메모리로 복사하는 방법을 공부한다. 주제 로드와 스토어 (Load and store) 데이터 정렬 (Data alignment) 바이트의 순서, 리들 엔디언과 빅엔디언 Byte order (little endian and big endian). lw와 s...

메모리접근 명령2

메모리접근 명령2번역 감수 http이 장에서는 메모리로부터 레지스터에 로드(load)하는 명령들과 레지스터로부터 메모리에 스토어(store)하는 명령들에 대해 추가적으로 논해본다.이 추가적인 명령들은 lw나 sw 명령보다 자주사용되지는 않는다.장의 주제 바이트(byte)를 로드하고 스토어하는 명령들 하프워드(halfword)를 로드하고 스토어하는 명령들 ...

Jump와 Branch 명령

Jump와 Branch 명령 번역 감수 http컴퓨터의 장점은 반복되는 작동을 할 수 있고, 또한 데이터를 사용하여 작동을 변화시킬 수 있다는 것이다. 현대적인 프로그램 언어는 이러한 컴퓨터의 능력을 제어구조를 사용하여 표현한다. 반복되는 작동은 while 구조로 표현할 수 있고. 작동을 변화 시키는 것은 if-then-else 구조로 표현할 수 있다. ...

Set 명령들

Set 명령들 번역 감수 http이 장에서는 추가적으로 2개의 분기 명령과 조건에 따라 Set하는 명령에 대하여 공부한다. Set 명령은 조건이 참또는거짓인가에 따라 레지스터의 값을 1과 0으로 지정한다. 장의 주제 조건 분기 명령 bltz 명령 (0보다 작을 경우 분기한다) bgez 명령 (0보다 크거나 같을 경우 분기한다) 조건에 따라 레지스터의 값...

함수포인터의 사용

함수포인터의 사용요즘 C 하는 개발자를 찾기가 힘들던가요 ? 여기 저기 C언어 개발자를 소개시켜 달라는데, 사람이 없어서 난리입니다.C언어 하면 떠오르는게 포인터죠. 데이터의 위치를 가리키는 데이터 타입라고 생각하면 간단한 개념이긴 한데, 개념이 단순할 뿐 잘 다루기는 쉽지 않습니다. 커널이 관리하는 메모리를 낮은 수준에서 직접 건드리기 때문입니다. 툭하...

라이브러리 만들기

라이브러리 만들기nm을 이용하면 라이브러리(# nm libproc.aalloc.onmcompare.onmdevname.onmksym.onm...

동적 메모리 할당

동적 메모리 할당# 1. 문서가 오래되어서 좀 수정해야 하는데 음.. 1. 솔라리스에서의 malloc()관련문제 추가 - 정리해서 원문에 넣을 수 있음 indra(1ndr4@hanmail.net)#include #include #define MAX (10241024)1024#define ALERT(funct, func...

프로그램이 이미 떠있는지 확인

프로그램이 이미 떠있는지 확인Damon(12) 프로그램을 만들다 보면, 이전에 동일한 프로세스가 떠있는지 확인을 해서, 떠있을 경우 바로 프로그램이 종료되도록 하는 코드를 넣어야할 필요가 있습니다. 이러한 경우 사용가능 한 간단한 함수 입니다. 다음과 같은 프로세스로 작동합니다.이 코드는 리눅스(12) kernel(12) 2.6에서 테스트되었습니다. 아마...