어셈블리언어(시스템프로그래밍) 과제-3 (라이브러리 활용과 조건부 처리 프로그램 작성)
- 최초 등록일
- 2023.07.09
- 최종 저작일
- 2020.10
- 18페이지/ 어도비 PDF
- 가격 3,000원
소개글
어셈블리언어(시스템프로그래밍) 과제-3 (라이브러리 활용과 조건부 처리 프로그램 작성) 입니다.
직접 강의를 듣고 책을 찾아보면서 복습한 뒤 과제를 작성한 것입니다.
과제점수로도 만점을 받았던 자료입니다.
혹시나 모르시는 내용이 있으시면 문의 주시면 감사하겠습니다.
자세히 설명해 드릴게요!
과제를 하실 때 참고하시는 용도로 사용해주시면 감사하겠습니다.
목차
없음
본문내용
1. 라이브러리 프로시저를 사용하는 프로그램 (5장)
(1) (난수 정수 생성) -100이상 100미만의 20개의 난수를 생성하여 화면에 10진수로 출력하 는 프로그램을 작성하시오.
- 코드
- 코딩 후 어셈블 결과
- 출력 결과
=> 코드 및 결과값을 통하여 시작 시드값이 Randomize를 이용하여 항상 변경되기 때문에 그 이후에 난수를 출력하여도 처음 시작할 때와 동일하지 않은 랜덤한 값들이 나온다.
(2) DumpMem 프로시저는 메모리의 내용을 출력하는 프로시저로서 ESI에 시작주소를, EBX 에 원소의 크기(1=바이트, 2=워드, 4=더블워드)를, ECX에 원소 개수를 저장한 후 호출한다. 배열이 아닌 변수는 ECX를 1로 하면 된다. 워드 배열과 더블워드 변수 값을 출력하는 프로그 램을 작성하시오. 초기값은 임의로 정하시오.
- 코드
- 코딩 후 어셈블 결과
- 출력 결과
=> 코드 및 출력 결과를 살펴보면 링크 라이브러리 DumpMem을 호출하여 첫 DumpMem에 는 arrayW의 시작주소가 00466000 (16진수)인 것을 확인하였다.
* 시작주소는 어셈블 후 결과 호출시 바뀜
이 시작주소가 ESI에 저장되어 있는 것을 확인하였고, EBX에 arrayW 배열의 각 원소의 크 기인 2(자료형 word가 2byte이므로)가 저장되어 있는 것을 확인하였다. 또한 arrayW 배열의 원소의 개수가 3개인데 이 개수의 값 3이 ECX에 저장되어 있는 것을 확인하였다. 두 번째 DumpMem에는 value1의 시작주소가 00466006인것을 확인하였다.
참고 자료
없음