
총 9개
-
이중 패스 어셈블러의 알고리즘에 대하여 정리해 보세요2025.01.181. 이중 패스 어셈블러 이중 패스 어셈블러는 소스 코드를 두 번 스캔하여 어셈블리 과정을 수행합니다. 첫 번째 패스에서는 레이블 정의를 찾아 기호 테이블에 추가하고, 두 번째 패스에서는 기호 테이블을 참조하여 실제 기계 코드로 변환합니다. 이를 통해 데이터 기호의 순방향 참조 문제를 해결할 수 있습니다. 2. 원 패스 어셈블러와의 비교 원 패스 어셈블러는 소스 코드를 한 번만 스캔하여 즉시 기계 코드를 생성하지만, 데이터 기호의 순방향 참조 문제를 해결하기 어렵습니다. 이에 비해 이중 패스 어셈블러는 두 번의 스캔을 통해 이 문제...2025.01.18
-
디지털격차와 컴퓨터에 대하여2025.01.281. 디지털 격차 디지털 격차(Digital Divide)란 컴퓨터가 발전하고 인터넷의 효용이 증가할수록 정보소유계층과 정보비소유계층 간의 격차가 점점 더 커지는 것을 말하는 것으로, 계층 간, 성별 간, 지역 간, 소득격차 간, 국가 간 지식과 정보에 대한 접근이 불평등해 격차가 벌어지는 현상을 의미한다. 디지털 격차는 기술 접근에서의 불평등 뿐 아니라 중요한 산업의 소유와 운영에 참여하는 기회에 대한 불평등한 접근도 포함하는 의미이다. 2. 국가 정보기반을 통한 가정 내 서비스 현재 홈 네트워크의 파급효과는 엄청나다. 전 세계적...2025.01.28
-
방송통신대학교_프로그래밍언어론_중간과제(2023)2025.01.241. CPU의 기계어 명령어 실행 과정 컴퓨터의 CPU가 기계어 명령어를 실행하는 과정은 크게 4단계로 나눌 수 있습니다. 인출(Fetch) 단계에서 CPU는 메모리로부터 다음 실행할 명령어를 가져옵니다. 디코딩(Decode) 단계에서 CPU는 가져온 명령어가 무엇을 의미하는지 해석합니다. 실행(Execute) 단계에서 CPU는 해석한 명령어에 따라 실제 작업을 수행합니다. 저장(Store) 단계에서 명령어의 실행 결과가 있을 경우, 그 결과를 메모리에 저장합니다. 이런 과정들이 수백, 수천, 수만 번 반복되며 컴퓨터는 우리가 원하...2025.01.24
-
인터프리터와 컴파일러의 공통점과 차이점2025.01.251. 인터프리터 인터프리터는 프로그램을 실행할 때 한 번에 소스코드 한 줄씩 차례대로 번역한다. 번역 시간은 빠르지만 실행 속도가 느리다. 오류가 있을 경우 빠른 시점에 확인할 수 있어 수정이 쉽고, 하드웨어 환경에 맞게 변환이 가능하여 플랫폼과의 종속성이 낮다. 대표적인 인터프리터 언어로는 Python, JavaScript, Ruby 등이 있다. 2. 컴파일러 컴파일러는 프로그램 소스코드 전체를 한 번에 해석해서 일괄 기계어로 변환한다. 초기 번역 시간이 오래 걸리지만 실행 속도가 빠르다. 오류 확인과 수정이 용이하지 않으며, 하...2025.01.25
-
C언어 스케치 연습문제 솔루션 - 제 01장 C 프로그래밍 첫걸음2025.04.301. C 프로그래밍 언어 기초 C 언어는 1972년에 유닉스라는 운영체제를 만들기 위해 개발된 프로그래밍 언어입니다. C 언어는 B 언어에서 발전된 언어이며, 고급언어로 작성된 소스를 기계어로 변환하는 프로그램을 컴파일러라고 합니다. 또한 컴파일러에 의해 변환된 목적파일과 이미 완성된 라이브러리를 결합하여 실행파일을 생성하는 프로그램을 링커라고 합니다. C 언어의 소스파일 확장자는 .c이며, 프로그램 소스파일에서 컴파일 결과로 생성되는 목적파일은 확장자가 .obj입니다. 2. 프로그래밍 언어의 발달 과정 프로그래밍 언어의 발달 순서...2025.04.30
-
어셈블리어의 특징과 명령어 형식2025.01.031. 어셈블리어 어셈블리어는 컴퓨터 프로그래밍 언어의 한 종류로 저급언어에 속하는 언어입니다. 어셈블리어는 어셈블러라는 프로그램을 사용하기 위해서 쓰는 프로그램 언어로, 기계어와 거의 일대일로 이루어집니다. 어셈블리어는 하드웨어에 직접 접근해서 프로그램을 처리하며, 명령의 실행 속도가 가장 빠르지만 세밀하게 프로그래밍해야 한다는 단점이 있습니다. 하지만 하드웨어를 효율적으로 제어할 수 있기 때문에 많은 사람들이 이 언어를 배웁니다. 2. 어셈블리어 명령어 형식 어셈블리어의 명령어 형식은 다음과 같습니다. Label은 명령어나 데이터...2025.01.03
-
프로그래밍방법론 프로그램 개요 정리 과제2025.05.021. 프로그래밍 과정 프로그래밍 과정은 크게 문제의 이해 및 정의, 문제의 논리적인 해법 설계, 프로그램 코딩, 프로그램 테스트, 프로그램 유지보수 총 5단계로 구분됩니다. 문제의 이해 및 정의는 첫 단추를 끼우는 단계로 매우 중요한 단계입니다. 2. 순서도와 의사코드 순서도와 의사코드는 프로그래밍 과정에서 문제의 논리적인 해법을 설계하는 단계에 사용됩니다. 순서도는 프로그램의 흐름을 시각적으로 표현하고, 의사코드는 자연어로 프로그램의 논리적 구조를 설명합니다. 3. 논리에러와 구문에러 논리에러는 프로그램의 논리적 오류로, 프로그램...2025.05.02
-
어셈블러의 설계 알고리즘과 자료구조2025.05.131. 어셈블러의 설계 알고리즘 어셈블러는 두 개의 패스로 구성됩니다. 패스 1은 명령어 표를 참조하여 명령어들의 상대 주소를 결정하고, 기호표를 작성하여 기호의 재배치 여부를 결정하는 역할을 합니다. 패스 2는 명령어를 2진 코드로 대체하고 명령어의 기호를 기호표에 있는 값으로 대체하는 역할을 합니다. 2. 어셈블러의 자료구조 패스 1과 패스 2는 각각 다른 역할을 수행하므로 연관된 데이터베이스도 달라 각각의 자료구조를 갖습니다. 패스 1은 원시 프로그램, 명령어 및 지시어 표를 입력으로 받고 기호 표를 출력합니다. 패스 2는 패스...2025.05.13
-
이중 패스 어셈블러의 알고리즘에 대하여 정리해보세요2025.01.221. 이중 패스 어셈블러 알고리즘 이중 패스 어셈블러 알고리즘은 프로그램을 처음부터 끝까지 소스 프로그램을 전체 스캐닝한 뒤 한 번 더 읽으며 전체 번역이 이루어지도록 하는 번역기입니다. 첫 번째 패스 단계에서는 기호표를 형성하고 두 번째 패스에서는 번역하며 목적 프로그램을 형성하는 방식으로 현재는 대부분 어셈블러가 이러한 방식을 채택하고 있습니다. 2. 패스 1 알고리즘 패스 1 알고리즘은 명령어의 크기, 형태 등을 나타내는 명령어 표를 참조하고 명령어의 상대 주소를 결정합니다. 또한, 기호표를 작성하고 기호 재배치 여부를 결정하...2025.01.22