
총 25개
-
8086 어셈블리어의 명령어에 대한 조사2025.04.281. 컴퓨터의 구성 컴퓨터는 하드웨어와 소프트웨어로 구성되어 있으며, 하드웨어는 중앙처리장치, 기억장치, 입출력장치로, 소프트웨어는 시스템소프트웨어와 응용소프트웨어로 구성되어 있다. 컴퓨터는 데이터를 받아 제어장치와 연산장치를 통해 변환시킨 후 출력장치를 통해 출력하고, 출력 내용을 주기억장치에 저장하는 기능을 한다. 2. 컴퓨터 언어 시스템소프트웨어는 어셈블러, 매크로 프로세서, 링커, 로더, 트랜스레이터, 운영체제 등의 진화 과정을 거쳐왔으며, 어셈블리어는 기계어에 가장 가까운 저급 언어로서 기계어와 1대1 대응이 가능한 프로그...2025.04.28
-
어셈블리어의 특징과 명령어 형식2025.01.031. 어셈블리어 어셈블리어는 컴퓨터 프로그래밍 언어의 한 종류로 저급언어에 속하는 언어입니다. 어셈블리어는 어셈블러라는 프로그램을 사용하기 위해서 쓰는 프로그램 언어로, 기계어와 거의 일대일로 이루어집니다. 어셈블리어는 하드웨어에 직접 접근해서 프로그램을 처리하며, 명령의 실행 속도가 가장 빠르지만 세밀하게 프로그래밍해야 한다는 단점이 있습니다. 하지만 하드웨어를 효율적으로 제어할 수 있기 때문에 많은 사람들이 이 언어를 배웁니다. 2. 어셈블리어 명령어 형식 어셈블리어의 명령어 형식은 다음과 같습니다. Label은 명령어나 데이터...2025.01.03
-
이중 패스 어셈블러의 알고리즘에 대하여 정리해 보세요2025.01.181. 이중 패스 어셈블러 이중 패스 어셈블러는 소스 코드를 두 번 스캔하여 어셈블리 과정을 수행합니다. 첫 번째 패스에서는 레이블 정의를 찾아 기호 테이블에 추가하고, 두 번째 패스에서는 기호 테이블을 참조하여 실제 기계 코드로 변환합니다. 이를 통해 데이터 기호의 순방향 참조 문제를 해결할 수 있습니다. 2. 원 패스 어셈블러와의 비교 원 패스 어셈블러는 소스 코드를 한 번만 스캔하여 즉시 기계 코드를 생성하지만, 데이터 기호의 순방향 참조 문제를 해결하기 어렵습니다. 이에 비해 이중 패스 어셈블러는 두 번의 스캔을 통해 이 문제...2025.01.18
-
[A+레포트] 어셈블리어의 특징과 명령어 형식을 설명하시오.2025.01.131. 어셈블리어의 개념 및 특징 어셈블리어는 컴퓨터 아키텍처에 밀접하게 연관된 저수준 프로그래밍 언어입니다. 이는 기계어 코드에 대응하는 기호적인 명령어를 사용하여 프로그래밍을 수행합니다. 어셈블리어의 가장 큰 특징은 기계어와의 1:1 대응 관계에 있습니다. 이로 인해 프로그래머는 컴퓨터의 작동 원리와 메모리 구조를 정확히 이해하고, 이를 바탕으로 최적화된 코드를 작성할 수 있습니다. 그러나 어셈블리어의 사용은 코드의 가독성이 낮고, 작성 및 유지 보수가 어렵다는 단점이 있습니다. 2. 어셈블리어의 명령어 형식과 구조 어셈블리어의 ...2025.01.13
-
이중 패스 어셈블러의 알고리즘에 대하여 정리해보세요2025.01.221. 이중 패스 어셈블러 알고리즘 이중 패스 어셈블러 알고리즘은 프로그램을 처음부터 끝까지 소스 프로그램을 전체 스캐닝한 뒤 한 번 더 읽으며 전체 번역이 이루어지도록 하는 번역기입니다. 첫 번째 패스 단계에서는 기호표를 형성하고 두 번째 패스에서는 번역하며 목적 프로그램을 형성하는 방식으로 현재는 대부분 어셈블러가 이러한 방식을 채택하고 있습니다. 2. 패스 1 알고리즘 패스 1 알고리즘은 명령어의 크기, 형태 등을 나타내는 명령어 표를 참조하고 명령어의 상대 주소를 결정합니다. 또한, 기호표를 작성하고 기호 재배치 여부를 결정하...2025.01.22
-
C언어 스케치 연습문제 솔루션 - 제 01장 C 프로그래밍 첫걸음2025.04.301. C 프로그래밍 언어 기초 C 언어는 1972년에 유닉스라는 운영체제를 만들기 위해 개발된 프로그래밍 언어입니다. C 언어는 B 언어에서 발전된 언어이며, 고급언어로 작성된 소스를 기계어로 변환하는 프로그램을 컴파일러라고 합니다. 또한 컴파일러에 의해 변환된 목적파일과 이미 완성된 라이브러리를 결합하여 실행파일을 생성하는 프로그램을 링커라고 합니다. C 언어의 소스파일 확장자는 .c이며, 프로그램 소스파일에서 컴파일 결과로 생성되는 목적파일은 확장자가 .obj입니다. 2. 프로그래밍 언어의 발달 과정 프로그래밍 언어의 발달 순서...2025.04.30
-
어셈블리언어(시스템프로그래밍) 과제-4 (고급 언어 구조와 정수 연산을 수행하는 프로그램)2025.05.111. 메모리 변수 사용 프로그램 메모리 변수를 사용하는 간단한 프로그램을 작성하여 Visual Studio 통합개발환경에서 어셈블러를 사용할 수 있는 프로젝트를 만들고 실행해보았습니다. 디버거 사용법도 연습하였습니다. 코드를 통해 변수 val1과 val2의 메모리 주소와 저장된 값을 확인할 수 있었고, 레지스터 eax에 두 값의 합이 저장된 것을 확인할 수 있었습니다. 2. if-else 구문 구현 if-else 구문을 구현하는 프로그램을 작성하였습니다. ecx와 edx 레지스터에 입력받은 값을 비교하여 조건부 점프를 통해 x 변수...2025.05.11
-
어셈블리언어(시스템프로그래밍) 과제-3 (라이브러리 활용과 조건부 처리 프로그램 작성)2025.05.111. 난수 생성 프로그램에서 Randomize를 이용하여 시작 시드값을 항상 변경하므로, 난수 생성 시 처음 시작할 때와 동일하지 않은 랜덤한 값들이 나오게 된다. 이를 통해 -100 이상 100 미만의 20개의 난수를 생성하여 화면에 10진수로 출력하는 프로그램을 작성하였다. 2. 메모리 덤프 DumpMem 프로시저를 사용하여 워드 배열과 더블워드 변수의 값을 출력하는 프로그램을 작성하였다. ESI에 시작 주소, EBX에 원소의 크기, ECX에 원소 개수를 저장하여 DumpMem을 호출하였고, 이를 통해 메모리 내용을 확인할 수 ...2025.05.11
-
서강대학교 23년도 마이크로프로세서응용실험 5주차 Lab05 결과레포트 (A+자료)2025.01.121. 마이크로프로세서 이 자료는 마이크로프로세서응용실험 5주차 실험 보고서로, 프로그램의 흐름을 변경하는 branch 명령어의 동작을 이해하고, branch with link 명령어의 특징을 알아보며, conditional execution을 위한 suffix의 종류와 의미를 알아보는 내용을 다루고 있습니다. 또한 jump table을 이용한 분기 방식과 loop unrolling을 통한 성능 향상 방법 등을 실험하고 분석하고 있습니다. 2. 어셈블리 프로그래밍 이 자료는 ARM 아키텍처의 어셈블리 프로그래밍 기법을 다루고 있습니다...2025.01.12
-
Linux(리눅스)와 Unix(유닉스)2025.05.161. 어셈블러 어셈블러는 어셈블리어를 기계어로 번역하는 역할을 한다. 초기 컴퓨터는 몇 개의 기본적인 명령어만 해독할 수 있게 하는 단순한 형태였고 프로그래머는 0과 1의 배열로 구성된 기계어로 프로그래밍했다. 이를 기억장치에 넣고 실행했는데 2진수 형태의 기계어를 통해 프로그램을 작성하는 것은 어려웠고 프로그래머는 더 간편한 프로그래밍 언어가 필요하게 되었다. 어셈블리어는 기계어 명령에 대응해 기호를 사용했고 사용자는 기억을 도와주는 기계어인 어셈블리어를 만들게 되었다. 2. 매크로 프로세서 매크로 프로세서는 프로그램이 과정에서 ...2025.05.16