본문 바로가기

전체 글182

C로 정말 간단한 어셈블러 구현하기. 기능 : Free Format의 SIC SOurce FIle을 읽어서 FIxed FOrmat의 SIC Source FIle로 변환 변환한 FIle에 행 번호를 추가해 리스트 파일 생성 후 화면에 출력 심볼에 대한 참조 리스트를 화면에 출력 [헤더파일] #include #include #include #include #define buf_len 62 //buf 길이 //symbol table 자료구조 내용 typedef struct symtab{ char symbol[10]; //symbol값 저장 char defined[10]; //정의된 line저장 struct used *used_head; //이 symbol이 사용된 라인값들의 처음을 가르키는 리스트 포인터 struct used *used_rear;.. 2009. 1. 15.
배열의 합과 평균 구하고 출력하기 사용자에게 배열의 값을 입력받는다. 배열의 값을 입력받은 프로그램은 입력받은 배열의 합과 평균을 구해 그 값과 배열의 내용을 출력한다. #include #define ROW 3 //행의 수 #define COL 3 //열의 수 //서브 함수의 프로토타입 선언 void printArray(int table[ROW][COL]); int Sum(int table[ROW][COL]); float Avg(int SumVal); void main() { int i, j; int nTable[ROW][COL]; //배열선언 int nSumVal; //합계를 저장할 변수 for(i=0; i 2009. 1. 15.
기본 어셈블러의 기능 2.1 기본 어셈블러의 기능 1.연산명령어 2.어셈블러 지시자 -버퍼 2.1.1 단순 SIC 어셈블러 어셈블러의 기능 : hello.s -> hello.o 1.연상명령어 -전방참조 : 나중에 정의되어지는 레이블을 참조하는 것 2.어셈블러 지시자(의사 명령어) -목적 프로그램에 영향은 주지만, 기계 명령어로 번역은 되지 않는다. 즉 어셈블러 자체의 명령어라고 보면 된다. -Ex) BYTE, WORD, RESB, RESW, END, START, BASE, NOBASE, LTORG, EQU, ORG -헤더: 프로그램 이름, 시작 주소, 프로그램의 전체 길이 -텍스트: 번역된 명령어, 프로그램 데이터, 프로그램이 로드될 주소 지시 -엔드: 프로그램의 끝을 알리고 프로그램 실행이 시작될 주소(=실행될 첫 번째 명.. 2008. 12. 7.
Hannibal Rising(한니발 라이징) - 토머스 해리스 지음 2008.11.26 화려하지는 않지만 아버지의 성격처럼 우뚝 솟은 성.. 그 가격보다 더 가치있는 그림들.. 책을 읽는 내내 모든 글들이 그림처럼 상상되었다. 한니발이 다른 시대에 태어났다면 과연 어떤 사람으로 성장하게 됬을까? 그 결과는 아무도 모르지만 한니발의 배경, 성격, 재능을 볼 때 아마도 세상을 깜짝 놀랠킬 만한 사람이 되어 있지 않을까하고 생각이 들었다. 잠깐 방심했다가는 입맛을 다시고 있는 죽음에게 먹혔을 상황에서 한니발은 유일하게 미카에게 의지했다. 미카가 동생이여서 더 간절했겠지만 그런 상황에서 혼자 살아남는 다는게 무슨 의미가 있을까. 동생을 먹어버린 사람들에게 차례로 복수해나가는 한니발은 결국 자기 자신도 죽여버렷다. 한니발은 더 이상 한니발이면서도 한니발이 아니였다. 동생을 사랑한.. 2008. 11. 26.