DIAMOND
DIAMOND 등급의 판매자 자료

어셈블리언어(시스템프로그래밍) 과제-1 (간단한 어셈블리 언어 프로그램 작성)

어셈블리언어(시스템프로그래밍) 과제-1 (간단한 어셈블리 언어 프로그램 작성) 입니다. 직접 강의를 듣고 책을 찾아보면서 복습한 뒤 과제를 작성한 것입니다. 과제점수로도 만점을 받았던 자료입니다. 혹시나 모르시는 내용이 있으시면 문의 주시면 감사하겠습니다. 자세히 설명해 드릴게요! 과제를 하실 때 참고하시는 용도로 사용해주시면 감사하겠습니다.
10 페이지
어도비 PDF
최초등록일 2021.11.24 최종저작일 2020.10
10P 미리보기
어셈블리언어(시스템프로그래밍) 과제-1 (간단한 어셈블리 언어 프로그램 작성)
  • 미리보기

    소개

    어셈블리언어(시스템프로그래밍) 과제-1 (간단한 어셈블리 언어 프로그램 작성) 입니다.
    직접 강의를 듣고 책을 찾아보면서 복습한 뒤 과제를 작성한 것입니다.
    과제점수로도 만점을 받았던 자료입니다.
    혹시나 모르시는 내용이 있으시면 문의 주시면 감사하겠습니다.
    자세히 설명해 드릴게요!
    과제를 하실 때 참고하시는 용도로 사용해주시면 감사하겠습니다.

    목차

    없음

    본문내용

    1. 간단한 계산을 수행하는 어셈블리 언어 프로그램 작성하기
    (1) 저자가 제공한 파일을 다운로드 받아서 c:\irvine에 설치하고 이 디렉토리가 path에 포함
    되었
    는지 확인하고 path에 포함되지 않았으면 1번의(2)에서 언급한 시스템 환경변수 path에
    c:\irvine 위치를 추가하시오. (make32가 실행되면 path에 포함된 것이다.)
    (2) 어셈블리언어 프로그램 작업을 할 디렉토리를 적절한 위치에 만드시오.
    (3) 명령어 창에서 프로그램 작업 디렉토리로 이동하고 다음과 같이 notepad 편집기를 실행
    하여 프로그램 작성 준비를 하시오. C> cd \asm ... 프로그램 작업 디렉토리가 c:\asm인 경우
    C> notepad test.asm (또는 다른 편집기 사용가능)
    (4) 이 파일에 다음 식을 계산하여 최종 결과를 EAX에 저장하는 어셈블리 언어 프로그램을

    성하고 저장하시오. 10000h + 30000h – 40000h + 50000h – 6000h
    (5) 저자가 제공한 배치파일 make32을 사용하여 어셈블 및 링크를 하여 실행파일을 생성하고
    파일 test.exe가 생성되었는지 확인하시오. (배치파일을 실행하면 어셈블하여 실행파일이 생성
    된 후 dir이 자동실행되어 출력된 파일 목록에서 test.exe가 있는지 확인할 수 있다.)
    C> make32 test
    (6) 생성된 실행파일을 다음과 같이 명령어로 실행시켜서 동작을 확인하시오. C> test
    2. 메모리 변수를 사용하는 protected mode 프로그램 작성
    (1) 데이터 정의문을 사용하여 32비트 변수 x, y에 각각 30000h와 50000h가 저장되도록 변
    수를 정의하고, 결과 저장용 32비트 변수 z를 함께 정의하시오. 그리고 다음을 계산하는 프로
    그램을 작성하고 call DumpRegs을 사용하여 동작을 확인하시오. z = x + y – 20000h
    - 코드
    - 코딩 후 어셈블 결과
    - 출력결과
    (2) dir 명령어를 사용하거나 윈도우 탐색기를 사용하여 (1)번 프로그램의 실행파일의 크기를
    확인하시오.
    => test2.exe의 실행파일크기는 22,016 바이트이다. 3. 큰 데이터가 포함된 프로그램 작성
    (1) 3번 프로그램에서 .data 세그먼트에 원소의 갯수가 1000개인 32비트 배열 변수 array를
    선언하여 1000개의 32비트 데이터 저장공간을 추가로 정의하고 실행파일을 만든 후에 실행파
    일의 크기를 확인하시오. - 코드
    - 코딩 후 어셈블 결과
    => arrayTest.exe의 크기는 12,288바이트이다.
    (2) 3번 프로그램에서 array를 .data 세그먼트 대신에 .data? 세그먼트에서 정의하고 실행파
    일을 만든 후에 실행파일의 크기를 확인하시오. - 코드
    - 코딩 후 어셈블 결과
    => arrayTest2.exe의 크기는 7,168바이트이다.
    (3) 두 실행파일의 크기를 비교하고, 차이가 발생하는 이유를 말하시오. 그리고 1번 실행파일
    의크기와도 비교하시오.
    => arrayTest.exe의 파일크기는 12,288바이트이고 arrayTest2.exe의 파일크기는 7,168바이
    트이다. 차이가 발생하는 이유는 arrayTest2.asm에서 .data? 디렉티브를 사용하였는데 이
    세그먼트를 실행파일에 포함시키지 않기 때문에 프로그램 실행파일 크기를 줄여줄 수 있다. 그렇기 때문에 arrayTest2.asm의 코드에서 bigArray DWORD 1000 DUP(?) 요 부분이 실행
    파일에 포함되지 않았으므로 실행파일의 크기가 줄 수 있는 것을 확인할 수 있다. 또한 1번의 실행파일인 test.exe의 크기는 22,016인데 반해 arrayTest.exe의 크기는 12,288
    인 것을 확인할 수 있다. 4. 기호상수 정의 프로그램 작성
    프로그램을 다음과 같이 작성하고 동작을 확인하시오. ・ 등호 디렉티브를 사용하여 SecondInDay 기호 상수에 하루 24시간이 몇 초인지를 계산하
    는산술식으로 값을 정의하시오. ・ 10개 이상의 원소가 정의되어 있는 16비트 정수(word) 배열 wArray를 선언하고 이 배열

    크기를 TEXTEQU 디렉티브를 사용하여 wSize 기호 상수에 산술식으로 정의하시오
    ・ 어셈블리언어 프로그램에서 SecondInDay 값은 EAX에, wSize 값은 EBX에 저장하고 call
    DumpRegs를 사용하여 동작을 확인하시오.
    - 코드
    - 코딩 후 어셈블 결과
    - 출력 결과
    => 해당 결과를 확인하면 EAX에는 16진수의 15180 즉 2진수로 변환하면 0001 0101 0001
    1000 0000인데 이것을 다시 10진수로 변환하면 65536 + 16384 + 4096 + 256 + 128 = 86400 (하루 24시간의 초 수)임을 알 수 있다. 또한 wSize가 저장된 EBX에는 16진수로 A
    즉 배열의 크기인 10임을 보여주고 있다.

    참고자료

    · 없음
  • 자료후기

      Ai 리뷰
      판매자가 등록한 자료를 통해 새로운 인사이트를 얻고, 과제의 내용을 보강하는 데 큰 도움이 되었습니다. 정말 추천할 만한 자료입니다! 감사드립니다.
    • 자주묻는질문의 답변을 확인해 주세요

      해피캠퍼스 FAQ 더보기

      꼭 알아주세요

      • 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
        자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
        저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
      • 해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.
        파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
        파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

    찾으시던 자료가 아닌가요?

    지금 보는 자료와 연관되어 있어요!
    왼쪽 화살표
    오른쪽 화살표
    문서 초안을 생성해주는 EasyAI
    안녕하세요. 해피캠퍼스의 방대한 자료 중에서 선별하여 당신만의 초안을 만들어주는 EasyAI 입니다.
    저는 아래와 같이 작업을 도와드립니다.
    - 주제만 입력하면 목차부터 본문내용까지 자동 생성해 드립니다.
    - 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
    - 스토어에서 무료 캐시를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
    이런 주제들을 입력해 보세요.
    - 유아에게 적합한 문학작품의 기준과 특성
    - 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
    - 작별인사 독후감
    해캠 AI 챗봇과 대화하기
    챗봇으로 간편하게 상담해보세요.
    2025년 08월 04일 월요일
    AI 챗봇
    안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
    9:10 오전