본문 바로가기

IT전공관련

(57)
어셈블리어 용어 정리 & 리눅스 용어 정리 LAYER 7 과제 - 어셈블리어 용어 정리 & 리눅스 용어 정리 어셈블리어 용어 정리 LEA >> destination register에 주소를 넣는다mov >> destination register에 값을 넣는 역할DWORD PTR DS:[?] >> DWORD PTR은 해당주소에서 32bit를 읽겠단 얘기고, DS는 데이터 세그먼트로, SS 스택 세그먼트도 있다.(피 연산자의 크기를 재설정 한다.)CALL >> 함수를 호출한다.PUSH >> 스택에 데이터를 저장한다.POP >> 스택에서 데이터를 꺼낸다 리눅스 명령어 ls >> 현재 디렉토리 내의 파일을 보여준다. 대표적인 옵션으로는(ls -l)이 있다.cd >> 원하는 디렉토리로 이동한다.(ex) cd .. > 파일을 생성하며 내용을 넣거나,추가하거..
c언어 메모리 구조(코드) 123456789101112131415161718192021222324252627282930313233343536#include#include int num = 0; // num은 전역변수, num1은 스태틱 변수로int abc(int a, int b) { // 프로그램이 종료되기 전까지 static num1; // 소멸되지 않고, 데이터 영역에 포함되어 있다. int temp; // 5줄과 7줄은 각각 매개변수, 지역변수로 if (b > a) { // 함수가 호출되었을때 같이 호출되었다가 temp = a; // 함수가 종료되면 소멸하며, 스택영역에 포함되어있다. a = b; b = temp; } if (num == 1) { //전역변수 num이 1이면 a를 더한다. num1 += a; return nu..
x86 CPU 레지스터 조사 x86 CPU 레지스터 조사 1. 레지스터의 종류와 그 역할먼저 종류가 그 목적에 따라 범용 레지스터, 세그먼트 레지스터, 플래그 레지스터,인스트럭션 레지스터로 구성된다범용 레지스터 : 논리 연산이나 수리 연산에 사용되는 피연산자 또는 주소를 계산하는데 사용되는 피연산자,그리고 메모리 주소가 저장되는 레지스터 이다.세그먼트 레지스터 : 코드 세그먼트, 데이터 세그먼트, 스택 세그먼트를 가르키는 주소가 들어있는 레지스터 이다.플래그 레지스터 : 프로그램의 현재 상태나 조건 등을 검사하는 데 사용되는 플래그들이 있는 레지스터 이다.인스트럭션 레지스터 : 다음 수행해야할 명령이 포함된가상 메모리의 주소가 들어있는 레지스터 이다. 1-1 범용 레지스터프로그래머가 임의로 조작할 수 있게 허용되어 있는레지스터로 8..
시스템 메모리 구조 조사 및 설명 시스템 메모리 구조 조사 및 설명 프로그램을 실행시키면 운영체제는 우리가 실행시킨 프로그램을 위해 메모리구조를 할당해준다.(할당되는 메모리 공간은 크게 스택, 힙, 데이터, 코드 영역으로 나뉘어 진다.)1. 먼저 데이터 영역은 전역 변수, 정적변수, 배열, 구조체 등이 할당되는 영역이라고 말할 수 있다. 이때 데이터 영역은 프로그램의 시작과 동시에 할당되고, 프로그램이 종료되어야메모리에서 소멸이 된다. 간단한 예제를 이용해 설명하자면,#include int data = 5;int data1 = 6;int main(){ . . . return 0;}이렇게 코드를 짠다면 data와 data1은 데이터 영역에 저장이 된다.참고로 초기화되지 않은 데이터는 용량을 차지하지 않기위해 BBS에 저장이 된다. 실제로 ..
함수 프롤로그, 에필로그, 스택 프레임 조사 함수 프롤로그, 에필로그, 스택 프레임 조사 먼저 함수 프롤로그는 해당하는 함수 실행 준비 과정을 말하고, 에필로그는 함수 실행을 마무리 하는 프롤로그의 반대 과정이라고 말할 수 있다.지금까지는 정의들을 설명했고, 함수 호출과정을 통해 함수 프롤로그와 에필로그를 설명하자면,>> 함수의 호출 과정 push ebp:이전 스택의 베이스 주소 저장mov ebp, esp: 현재 스택의 첫주소를 새로운 스택의 베이스로 설정 에필로그에서 쓰이는 어셈블리어 >>mov esp, ebp: 베이스 주소를 이전의 스택으로 되돌림pop ebp:베이스 포인터 복구 그다음 스택 프레임의 대해 말하자면,◎ 스택 프레임(Stack Frame) 이란?함수 호출시 할당되는 메모리 블록 (지역변수의 선언으로 인해 할당되는 메모리 블록)함수..
세계전략 포럼 세계 전략 포럼을 갔다온후로...... 날짜 : 06월 13일 장소 : 신라호텔 주제 : 4차 산업 혁명 내용 : 나는 6월 13일날 4차산업혁명으로 불리우는 각종 VR, 무인자동차, IOT등등에 대하여 세계유명인사들에게 강의를 받으러 신라호텔에서 열리는 세계전략 포럼에 참여 하여 강의를 들었었다. 강의 주제내용은 요즘 뜨고 있는 무인 자동차, VR, IOT등등이 있었는데, 그중에 가장 관심이 많이 갔던건 바로 무인 자동차 였다. 총3명의 유명인사들이 나와서 무인자동차에 대한 토론을 진행했는데, 토론내용은 무인 자동차의 장.단점 이었다. 생각 나는 것만 차례로 정리 해보자면 먼저 무인 자동차의 장점은 일단 가장 기초적인 사람의 노동력을 필요로 하지 않는 다는점이 가장크다 내가 원하는 장소만 입력해주면, ..
Layer 7 개인 프로젝트 보고서 개인 프로젝트 보고서(병뚜껑 순서짜기&보물찾기) 1.제작 동기및 기대효과:평소에 개발에도 상당히 많은 관심을 가지고 있었는데이번 개인 프로젝트를 계기로 개발중에서도 가장 관심이 많은게임을 개발하기로 결정하였다. 게임중에서도여러사람들이 함께즐길수 있는 게임을 만들어 보고자 하였다. 2.프로젝트 소개 2.1 주요 함수소개 input_map 맵 메뉴들 input_map2 맵 구성 input_explain 게임 설명 input_lose 게임 패배 표시 input_file1 병뚜껑 게임(순서 정하기) input_file2 본 게임(보물찾기 게임) input_box 보물 input_gg 가짜보물 input_fake 함정 input_rank 마지막 총합점수 life, money 범위값, 보물양 랜덤 2.2 기능 소개..
개인 프로젝트 #include#include#include#include#include#define randomize srand()((unsigned)time(NULL))#define _A 1760.000#define _B 1975.533#define _C 1046.502#define _D 1108.731int people; //인원수int peoplerank; //인원수를 담을 변수(people을 이용할것이기 때문에)int score[100] = { 0, }; //총합을 담아줄 배열int scorenum = 0; //배열을 다룰 수char name[100][100] = {0, }; // 플레이어들의 이름 struct point {int a;int b;};void input_map(); // 맵 메뉴들void inpu..