[어셈블리언어] E03. 프로시저 사용하여 입력받은 문자열을 거꾸로 출력
- 최초 등록일
- 2010.07.11
- 최종 저작일
- 2010.05
- 4페이지/
압축파일
- 가격 1,500원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
과제목적 : 32비트 환경에서 어셈블리 / 프로시저 사용 연습
VS2008에서의 디버깅, JE 관련 레포트
cv를 이용한 디버깅을 벗어나 VS2008에서 디버깅
스택/프로시저 사용연습
소스 참고를 위해서는 상관 없지만 실행을 해보려면, 약간의 공부가 필요합니다.
소스 실행을 위해서는 IrvineExamples6thVS2008.exe 라는 파일이 필요하며
VS2008이 필요합니다. sln 파일을 실행해주세요.
http://www.kipirvine.com
목차
1. 실습환경(OS, 장소)
2. 구현의 접근방법
3. 중단점 설정
4. 디버그 중 레지스터 값의 변화 확인
5. 디스어셈블
6. 결과
7. JE
8. 후기
본문내용
2. 구현의 접근방법
문제의 요구사항은 두 가지이다. 첫 번째는 문자열을 입력 받고 그 문자열을 뒤집어 출력하는 것이고, 두 번째는 그 문자열에 공백이 몇 개나 포함되어 있는지를 알아 내는 것이다. 문자열을 뒤집는 것은 Stack을 이용하면 간단하다. 문자열을 입력받은 후 스택에 문자 하나 하나를 push 한 후, pop하여 출력해 주면 된다. 나는 string이라는 배열을 사용하여 push&pop을 한 후에 writeString을 이용하여 화면에 출력하였다. 공백이 몇 개 있는지 알아내는 방법은, push나 pop같이 문자 하나 하나를 다루는 부분에서 각각의 문자를 공백(아스키코드32)과 비교해준다. cmp와 je를 사용하여 해당 문자가 공백이라면 카운트를 해주고, 카운트 한 숫자를 마지막에 문자열과 함께 출력해 주면 문제는 해결된다.
참고 자료
http://www.kipirvine.com
어셈블리 언어 : 인텔 기반 컴퓨터를 위한 (제5판) KIP R.IRVINE 저
압축파일 내 파일목록
P03.doc
Project_sample/Debug/BuildLog.htm
Project_sample/Debug/main.obj
Project_sample/Debug/mt.dep
Project_sample/Debug/Project.exe
Project_sample/Debug/Project.exe.intermediate.manifest
Project_sample/Debug/Project.ilk
Project_sample/Debug/Project.pdb
Project_sample/main.asm
Project_sample/Project.ncb
Project_sample/Project.sln
Project_sample/Project.suo
Project_sample/Project.vcproj
Project_sample/Project.vcproj.ASM.Kip.user
Project_sample/Project.vcproj.user