• 파일시티 이벤트
  • LF몰 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

[어셈블리언어] E06. C언어 내부에서 어셈블리어 사용하기

*상*
개인인증판매자스토어
최초 등록일
2010.07.11
최종 저작일
2010.05
7페이지/ 압축파일
가격 2,000원 할인쿠폰받기
다운로드
장바구니

소개글

과제목적 : C/C++ 안에서 어셈블리언어 함께 사용하기
(Inline , Obj, Library) Assembly in C/C++.

사용목적 :
C/C++ (High Level Language) : 생산성↑
Assembly Language : 하드웨어 제어, 공간의 효율성, 메모리 직접접근


C와 어셈블리언어를 함께 사용하는 것에 대한 예제 프로젝트 4개입니다.
수준 높게 사용한다면 상당히 효율적이므로 익혀둡시다.


소스 참고를 위해서는 상관 없지만 실행을 해보려면, 약간의 공부가 필요합니다.
소스 실행을 위해서는 IrvineExamples6thVS2008.exe 라는 파일이 필요하며
VS2008이 필요합니다. sln 파일을 실행해주세요.

http://www.kipirvine.com

목차

1. 실습환경(OS, 장소)
2. 구현의 접근방법
3. Pragma?
4. Inline
6. Object 이용
7. Library 이용
8. Library2
9. 공통 결과
10. 후기

본문내용

2. 구현의 접근방법
이번 Practice06의 목적은 C/C++과 어셈블리어를 함께 사용해보는 것이다. C코드 내에 어셈블리 코드를 삽입하는 방법으로는 __asm 명령어를 사용하는 방법, Obj파일을 이용하는 방법, Library로 이용하는 방법 등이 있다.

인라인 어셈블리 방법에서는 __asm 명령어를 이용하여 직접적으로 어셈블리어를 안에 집어 넣는 방법을 사용하였다. 그런데 c코드로 짠 프로젝트는 프로그램을 실행해 버린 뒤 사용자에게 디버그 환경을 제공 하는지 다른 방법과는 달리 디스어셈블리 창으로 들어가지지 않았다.

오브젝트를 사용하는 방식에는 헤더파일을 이용하여 Plus와 Minus를 지정해 준 뒤 cpp소스에서 Plus와 Minus를 사용하였다.

라이브러리 1,2에서는 asm 파일을 라이브러리로 지정하여 cpp소스에서 불러들여 Plus, Minus를 사용하였다.

인라인은 확인해 보지 못했지만, 디스어셈블 하여 비교해 보았더니 모두 동일한 결과와 동일한 과정을 보여주었다.

참고 자료

어셈블리 언어 : 인텔 기반 컴퓨터를 위한 (제5판) KIP R.IRVINE 저
http://www.kipirvine.com

압축파일 내 파일목록

P06.doc
PlusMinus_Inline/Debug/BuildLog.htm
PlusMinus_Inline/Debug/main.obj
PlusMinus_Inline/Debug/mt.dep
PlusMinus_Inline/Debug/Project.exe
PlusMinus_Inline/Debug/Project.exe.intermediate.manifest
PlusMinus_Inline/Debug/Project.ilk
PlusMinus_Inline/Debug/Project.pdb
PlusMinus_Inline/Debug/vc90.idb
PlusMinus_Inline/main.cc
PlusMinus_Inline/Project.ncb
PlusMinus_Inline/Project.sln
PlusMinus_Inline/Project.suo
PlusMinus_Inline/Project.vcproj
PlusMinus_Inline/Project.vcproj.ASM.Kip.user
PlusMinus_Inline/Project.vcproj.user
PlusMinus_Lib/Debug/BuildLog.htm
PlusMinus_Lib/Debug/Lib.lib
PlusMinus_Lib/Debug/main2.obj
PlusMinus_Lib/Debug/mt.dep
PlusMinus_Lib/Debug/plusminus.obj
PlusMinus_Lib/Debug/Project.exe
PlusMinus_Lib/Debug/Project.exe.intermediate.manifest
PlusMinus_Lib/Debug/Project.ilk
PlusMinus_Lib/Debug/Project.pdb
PlusMinus_Lib/Debug/vc90.idb
PlusMinus_Lib/header.h
PlusMinus_Lib/Lib.vcproj
PlusMinus_Lib/main2.cpp
PlusMinus_Lib/plusminus.asm
PlusMinus_Lib/Project.ncb
PlusMinus_Lib/Project.sln
PlusMinus_Lib/Project.suo
PlusMinus_Lib/Project.vcproj
PlusMinus_Lib/Project.vcproj.ASM.Kip.user
PlusMinus_Lib/Project.vcproj.user
PlusMinus_Lib2/Debug/BuildLog.htm
PlusMinus_Lib2/Debug/Lib.lib
PlusMinus_Lib2/Debug/main2.obj
PlusMinus_Lib2/Debug/mt.dep
PlusMinus_Lib2/Debug/plusminus.obj
PlusMinus_Lib2/Debug/Project.exe
PlusMinus_Lib2/Debug/Project.exe.intermediate.manifest
PlusMinus_Lib2/Debug/Project.ilk
PlusMinus_Lib2/Debug/Project.pdb
PlusMinus_Lib2/Debug/vc90.idb
PlusMinus_Lib2/header.h
PlusMinus_Lib2/Lib.vcproj
PlusMinus_Lib2/main2.cpp
PlusMinus_Lib2/plusminus.asm
PlusMinus_Lib2/Project.ncb
PlusMinus_Lib2/Project.sln
PlusMinus_Lib2/Project.suo
PlusMinus_Lib2/Project.vcproj
PlusMinus_Lib2/Project.vcproj.ASM.Kip.user
PlusMinus_Lib2/Project.vcproj.user
PlusMinus_Obj/Debug/BuildLog.htm
PlusMinus_Obj/Debug/main2.obj
PlusMinus_Obj/Debug/mt.dep
PlusMinus_Obj/Debug/plusminus.obj
PlusMinus_Obj/Debug/Project.exe
PlusMinus_Obj/Debug/Project.exe.intermediate.manifest
PlusMinus_Obj/Debug/Project.ilk
PlusMinus_Obj/Debug/Project.pdb
PlusMinus_Obj/Debug/vc90.idb
PlusMinus_Obj/header.h
PlusMinus_Obj/main2.cpp
PlusMinus_Obj/plusminus.asm
PlusMinus_Obj/Project.ncb
PlusMinus_Obj/Project.sln
PlusMinus_Obj/Project.suo
PlusMinus_Obj/Project.vcproj
PlusMinus_Obj/Project.vcproj.ASM.Kip.user
PlusMinus_Obj/Project.vcproj.user

이 자료와 함께 구매한 자료

*상*
판매자 유형Bronze개인인증

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

찾던 자료가 아닌가요?아래 자료들 중 찾던 자료가 있는지 확인해보세요

  • 캡스톤 디자인 로봇 청소기 7페이지
    자료에서는 C언어 프로그래밍을 이용한 전문적인 제어를 하지만 저는 아두이노를 ... 과 제 명 : 수상 부유물 로봇청소기○ 수행년도 : 2019년2019. 06 ... **팀 원(세부사항)구분성명학번전화(핸드폰)E-mail팀 장팀 원Ⅱ.
  • Atmega128를 이용한 LED잔상기 31페이지
    언어뿐만 아니라 어셈블리 언어에서도 보다 더 최적화 된 코드 크기를 가지고 ... A0~A7포트와 B0~B7포트에 연결한다.② 표현하고 싶은 글자의 배열을 C언어로 ... (Reduced Instruction Set Computer)구조로 명령어가
  • Atmega128을 이용한 LED잔상기 31페이지
    언어뿐만 아니라 어셈블리 언어에서도 보다 더 최적화 된 코했던 상태에서 벗어나 ... A0~A7포트와 B0~B7포트에 연결한다.② 표현하고 싶은 글자의 배열을 C언어로 ... (Reduced Instruction Set Computer)구조로 명령어가
  • [컴퓨터공학(어셈블리어)] 어셈블리어 1장 14페이지
    : 어셈블리 언어로 작성된 source code를 기계어로 변환하는 프로그램어셈블러가 ... (HLL): 어셈블리어나 기계어로 변환됨 (C, C++, Pascal, Java ... 어셈블리 언어: 기계어와 1:1 대응되는 기계(CPU) 고유의 프로그램 언어어셈블러
최근 본 자료더보기
탑툰 이벤트
[어셈블리언어] E06. C언어 내부에서 어셈블리어 사용하기
AI 챗봇
2024년 08월 30일 금요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
9:31 오전
문서 초안을 생성해주는 EasyAI
안녕하세요. 해피캠퍼스의 방대한 자료 중에서 선별하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 목차부터 본문내용까지 자동 생성해 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
베타기간 중 사용 가능한 무료 코인 10개를 지급해 드립니다. 지금 바로 체험해 보세요.
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감
방송통신대학 관련 적절한 예)
- 국내의 사물인터넷 상용화 사례를 찾아보고, 앞으로 기업에 사물인터넷이 어떤 영향을 미칠지 기술하시오
5글자 이하 주제 부적절한 예)
- 정형외과, 아동학대