
총 6개
-
어셈블리언어(시스템프로그래밍) 과제-3 (라이브러리 활용과 조건부 처리 프로그램 작성)2025.05.111. 난수 생성 프로그램에서 Randomize를 이용하여 시작 시드값을 항상 변경하므로, 난수 생성 시 처음 시작할 때와 동일하지 않은 랜덤한 값들이 나오게 된다. 이를 통해 -100 이상 100 미만의 20개의 난수를 생성하여 화면에 10진수로 출력하는 프로그램을 작성하였다. 2. 메모리 덤프 DumpMem 프로시저를 사용하여 워드 배열과 더블워드 변수의 값을 출력하는 프로그램을 작성하였다. ESI에 시작 주소, EBX에 원소의 크기, ECX에 원소 개수를 저장하여 DumpMem을 호출하였고, 이를 통해 메모리 내용을 확인할 수 ...2025.05.11
-
이중 패스 어셈블러의 알고리즘에 대하여 정리해 보세요2025.01.181. 이중 패스 어셈블러 이중 패스 어셈블러는 소스 코드를 두 번 스캔하여 어셈블리 과정을 수행합니다. 첫 번째 패스에서는 레이블 정의를 찾아 기호 테이블에 추가하고, 두 번째 패스에서는 기호 테이블을 참조하여 실제 기계 코드로 변환합니다. 이를 통해 데이터 기호의 순방향 참조 문제를 해결할 수 있습니다. 2. 원 패스 어셈블러와의 비교 원 패스 어셈블러는 소스 코드를 한 번만 스캔하여 즉시 기계 코드를 생성하지만, 데이터 기호의 순방향 참조 문제를 해결하기 어렵습니다. 이에 비해 이중 패스 어셈블러는 두 번의 스캔을 통해 이 문제...2025.01.18
-
이중 패스 어셈블러의 알고리즘에 대하여 정리해보세요2025.01.221. 이중 패스 어셈블러 알고리즘 이중 패스 어셈블러 알고리즘은 프로그램을 처음부터 끝까지 소스 프로그램을 전체 스캐닝한 뒤 한 번 더 읽으며 전체 번역이 이루어지도록 하는 번역기입니다. 첫 번째 패스 단계에서는 기호표를 형성하고 두 번째 패스에서는 번역하며 목적 프로그램을 형성하는 방식으로 현재는 대부분 어셈블러가 이러한 방식을 채택하고 있습니다. 2. 패스 1 알고리즘 패스 1 알고리즘은 명령어의 크기, 형태 등을 나타내는 명령어 표를 참조하고 명령어의 상대 주소를 결정합니다. 또한, 기호표를 작성하고 기호 재배치 여부를 결정하...2025.01.22
-
어셈블러의 설계 알고리즘과 자료구조2025.05.131. 어셈블러의 설계 알고리즘 어셈블러는 두 개의 패스로 구성됩니다. 패스 1은 명령어 표를 참조하여 명령어들의 상대 주소를 결정하고, 기호표를 작성하여 기호의 재배치 여부를 결정하는 역할을 합니다. 패스 2는 명령어를 2진 코드로 대체하고 명령어의 기호를 기호표에 있는 값으로 대체하는 역할을 합니다. 2. 어셈블러의 자료구조 패스 1과 패스 2는 각각 다른 역할을 수행하므로 연관된 데이터베이스도 달라 각각의 자료구조를 갖습니다. 패스 1은 원시 프로그램, 명령어 및 지시어 표를 입력으로 받고 기호 표를 출력합니다. 패스 2는 패스...2025.05.13
-
컴퓨터구조 simple calculator mips code, 보고서2025.05.031. MIPS 어셈블리 프로그래밍 이 프로젝트에서는 MIPS 아키텍처 기반의 어셈블리 프로그래밍을 사용하여 간단한 계산기 기능을 구현하였습니다. 데이터 세그먼트에서는 입력 문자열, 연산자 기호, 결과 출력 문구 등을 정의하였고, 텍스트 세그먼트에서는 입력 문자열 처리, 연산자 판별, 피연산자 변환, 연산 수행, 결과 출력 등의 기능을 구현하였습니다. 특히 문자열을 정수로 변환하는 과정과 곱셈 및 나눗셈 연산을 추가하는 부분이 핵심적인 내용입니다. 2. 간단한 계산기 구현 이 프로젝트에서는 MIPS 어셈블리 프로그래밍을 활용하여 간단...2025.05.03
-
어셈블리언어(시스템프로그래밍) 과제-4 (고급 언어 구조와 정수 연산을 수행하는 프로그램)2025.05.111. 메모리 변수 사용 프로그램 메모리 변수를 사용하는 간단한 프로그램을 작성하여 Visual Studio 통합개발환경에서 어셈블러를 사용할 수 있는 프로젝트를 만들고 실행해보았습니다. 디버거 사용법도 연습하였습니다. 코드를 통해 변수 val1과 val2의 메모리 주소와 저장된 값을 확인할 수 있었고, 레지스터 eax에 두 값의 합이 저장된 것을 확인할 수 있었습니다. 2. if-else 구문 구현 if-else 구문을 구현하는 프로그램을 작성하였습니다. ecx와 edx 레지스터에 입력받은 값을 비교하여 조건부 점프를 통해 x 변수...2025.05.11