Swing41 컴퓨터 구조 - 분기 명령어와 서브루틴 1. 분기 명령어 - BRZ(Branch if Zero) 주소번지 : 조건코드가 0이면 지정 주소 번지로 분기하라는 명령어 - BR 주소번지 : 무조건 지정 주소 번지로 분기하라는 명령어 - BRE(Branch if Equal) R1 R2 주소번지 : 레지스터 R1, R2의 내용이 같다면 지정 주소번지로 분기하라는 명령어 * 분기하다 : 프로그램의 실행 순서를 변경하여 다른 명령을 실행할 수 있게 하다 위의 개념을 알고 아래와 같은 예시를 해석하면 다음과 같이 해석할 수 있다 2. 서브루틴 - 사용자가 원해서 메인에서 진행을 하다 다른 코드 블록에 가 처리하고 결과를 얻는 것 - CALL로 블록을 호출을 하고 RET 호출한 곳으로 복귀한다 1) 호출 명령어 CALL - 현재 PC(Program Count.. 2020. 5. 29. Python을 이용한 Web Crawling * 이 실습은 공부에만 사용하였습니다 1. 웹툰 최신화 이미지 다운로드 크롤러 만들기 2. 웹툰 최신 10화 이미지 다운로드 크롤러 만들기 1. 기본 개념 1) 크롤링(crawling)이란? 크롤링이란 웹 크롤러에서 출발한 말로 인터넷 상의 페이지를 수집해 분류하고 저장한 후 나중에 쉽게 찾아볼 수 있도로 도와주는 일종의 봇이다. 2) 크롤링에 필요한 모듈 (1) urllib - URL 처리 모듈로 URL 작업을 위한 여러 모듈을 모아놓은 패키지다 - 파이썬에서 웹과 관련한 데이터들을 손쉽게 이용할 수 있도록 도와준다 - urllib는 내장된 라이브러리에 있어 따로 설치하지 않아도 사용이 가능하다 - urllib에는 총 4가지 종류의 모듈이 있다. 우리는 그중 requet만 사용할 예정.. 2020. 5. 28. [C++] 클래스와 객체 1. 객체 - 캡슐화 : 객체의 구성 요소들을 캡슐로 싸서 보호하고 볼 수 없게 하는 것 - 객체는 캡슐화를 통해 외부의 접근을 통제해 자신의 내부 요소를 보호함 1) 캡슐화 - 실세계나 C++ 프로그램이나 구성 객체들이 상호 통신하며 시스템이 구동된다 - 캡슐화로 정보들을 보호할 수 있게 접근을 막지만 모든 요소를 차단하면 안된다 정보를 교환하고 통신하기 위해 일부 요소를 노출시켜야 된다 2) 멤버 변수 & 멤버 함수 - 객체는 상태와 행동으로 구성되어 있음 - 상태 = 멤버 변수 - 행동 = 멤버 함수 - 멤버 변수(상태)를 알고 싶다면 멤버 함수(행동)를 호출해야 된다 3) 클래스와 객체 (1) 클래스 (붕어빵 틀) - 객체를 만들어내기 위해 정의된 설계도, 틀 - 클래스는 객체도 실제도 아님 - .. 2020. 5. 24. 컴퓨터 구조 - 메모리 구조와 레지스터 1. 메모리 구조 - 프로그램을 실행시키기 위해 메모리 공간이 필요함 - 프로그램을 실행시킬 때 가장 먼저 프로그램이 메모리에 로드 됨 - 메모리 공간은 코드, 데이터, 스택, 힙 영역으로 나뉜다 1) 코드(텍스트) 영역 - 실행할 프로그램의 소스 코드가 저장되어 있는 영역 - 실행 파일을 구성하는 명령어(함수, 제어문, 상수 등)들이 저장된다 - 저장된 명령어를 CPU에서 하나씩 가져가 처리한다 2) 데이터 영역 - 전역변수와 static 변수, 배열, 구조체 등이 할당되는 영역 - 프로그램 시작과 동시에 할당되고 프로그램이 종료되어야 메모리가 소멸하는 영역 - 초기에 사용할 메모리를 확보 - 초기화 된 데이터는 data영역에 저장 - 초기화 되지 않은 데이터는 BSS(Block Stated Symbo.. 2020. 5. 23. 컴퓨터 구조 - 명령어를 효과적으로 실행하기 위한 기법 1. 주소 지정 방식 - 주소 : 주기억자치에서 데이터가 저장된 위치 - 주소 지정 방식 : 주소를 지정하는 방식 - 유효 주소 : 데이터가 저장된 기억장치의 실제 주소 1) 직접 주소 지정 방식 EA = A (유효 주소 = 기억장치 주소) - 가장 일반적인 개념의 간단한 주소 방식 - 오퍼랜드 필드의 내용이 유효 주소가 되는 방식 - 얻은 데이터의 기억장치 주소를 가리킨다 - 장점 · 데이터 인출을 위해 오퍼랜드에 저장된 해당 주소의 기억 장치에 한번만 액세스 · 명령어 형식이 간단함 - 단점 · 연산 코드를 제외하고 남은 비트들이 주소 비트로 사용되기 때문에 지정할 수 있는 기억장소의 수가 제한됨 · 많은 수의 주소를 지정할 수 없음 2) 간접 주소 지정 방식 EA = (A) (유효 주소 = 기억 장.. 2020. 5. 23. 컴퓨터 구조 - 어셈블리 언어 1. 컴퓨터 프로그래밍 언어 1) 상위 프로그래밍 언어 - 컴파일러나 인터프린터에 의해 기계어로 번역 - 사람이 이해하기 쉬움 - C, C++ 2) 하위 프로그래밍 언어 - 하드웨어와 가까워진 언어 - 기계어, 어셈블리어 2. 어셈블리 언어 - 기계어를 사람이 사용하는 언어에 가깝게 문자로 기호화 - 중앙처리장치에 따라 어셈블리 언어의 형식이 다르다 - 어셈블러 : 어셈블리 언어를 번역해 오브젝트 코드를 생성하는 프로그램 1) 어셈블리 명령어 레이블 부 : 연산부 오퍼랜드 부 ; 주석부 (1) 레이블 부 - JUMP, LOOP와 같은 순환/반복 명령에서 CPU 실행을 해당 레이블로 이동시킬 때 사용 - 레이블을 생성할 때는 8문자 이내의 영문자/숫자를 사용 - 이름 중 공백이 있으면 안됨 (2) 연산 부.. 2020. 4. 18. 이전 1 ··· 3 4 5 6 7 다음