[공학] 어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력
페이지 정보
작성일 22-11-28 18:41
본문
Download : [공학] 어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력.hwp
② 나이를 eax에 저장 후 출력하기
menu5 DWORD 18h,19h,20h,21h,22h,23h,24h,25h,26h,27h,28h,29h;
menu5에 18부터 29까지 순차적으로 저장되어 있습니다.
여기서 저의 나이는 22이므로 menu5의 스타트점으로부터 DWORD를 4번 하여야 합니다.
이때 menu1이 저장된 edx의 출력은 Student ID : 200702661 전체가 나오므로 add edx,DWORD를 세 번 해줍니다.공학,어셈블리어,어셈블리어를,이용하여,주어진,정보,출력,공학기술,레포트
![[공학]%20어셈블리어%20-%20어셈블리어를%20이용하여%20주어진%20정보%20출력_hwp_01.gif](http://www.allreport.co.kr/View/%5B%EA%B3%B5%ED%95%99%5D%20%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%96%B4%20-%20%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%96%B4%EB%A5%BC%20%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%A3%BC%EC%96%B4%EC%A7%84%20%EC%A0%95%EB%B3%B4%20%EC%B6%9C%EB%A0%A5_hwp_01.gif)
![[공학]%20어셈블리어%20-%20어셈블리어를%20이용하여%20주어진%20정보%20출력_hwp_02.gif](http://www.allreport.co.kr/View/%5B%EA%B3%B5%ED%95%99%5D%20%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%96%B4%20-%20%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%96%B4%EB%A5%BC%20%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%A3%BC%EC%96%B4%EC%A7%84%20%EC%A0%95%EB%B3%B4%20%EC%B6%9C%EB%A0%A5_hwp_02.gif)
![[공학]%20어셈블리어%20-%20어셈블리어를%20이용하여%20주어진%20정보%20출력_hwp_03.gif](http://www.allreport.co.kr/View/%5B%EA%B3%B5%ED%95%99%5D%20%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%96%B4%20-%20%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%96%B4%EB%A5%BC%20%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%A3%BC%EC%96%B4%EC%A7%84%20%EC%A0%95%EB%B3%B4%20%EC%B6%9C%EB%A0%A5_hwp_03.gif)
![[공학]%20어셈블리어%20-%20어셈블리어를%20이용하여%20주어진%20정보%20출력_hwp_04.gif](http://www.allreport.co.kr/View/%5B%EA%B3%B5%ED%95%99%5D%20%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%96%B4%20-%20%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%96%B4%EB%A5%BC%20%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%A3%BC%EC%96%B4%EC%A7%84%20%EC%A0%95%EB%B3%B4%20%EC%B6%9C%EB%A0%A5_hwp_04.gif)
[공학] 어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력
[공학] 어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력 , [공학] 어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력공학기술레포트 , 공학 어셈블리어 어셈블리어를 이용하여 주어진 정보 출력
Download : [공학] 어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력.hwp( 54 )
레포트/공학기술
설명
[공학] 어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력
순서
1. 문제定義(정의)
자신의 기본 정보(학번,이름,전공,직책)를 출력하고, 나이는 EAX 레지스터에 저장하여 출력 할 것. 이때 기본 정보는 콜론(:)이후의 문장만 출력하고 add, mov 니모닉과 offset 연산자를 사용 할 것.
2. 해결방법
① 기본정보 출력방법
menu1 BYTE `Student ID : 200702661`,0dh,0ah,0
여기서 콜론(:)이후의 문장만 출력하기 위해선 콜론이 있는 지점의 세그먼트 주소를 알아야합니다.
건물을 메모리라고 생각하면 segmet는 층, offset은 그 층의 방으로 생각하면 쉽습니다. …(투비컨티뉴드 )
다.
`data segment`
offset menu1이 저장된 곳.
즉 색칠한 부분의 스타트점이 menu1이 스타트하는 부분입니다. 이때 사용되는 연산자가 바로 offset 연산자입니다. add edx,DWORD는 dword크기(32byte)만큼 앞의 주소를 edx에 저장하는 명령어입니다.
마찬가지로 offset의 원리를 이용하면 자신의 원하는 값의 주소를 알수 있습니다.
mov edx,OFFSET menu1 ; menu1의 스타트점을 edx에 저장
add edx,DWORD ; 스타트점에서 dword만큼 이동
add edx,DWORD
add edx,DWORD
call writestring ;menu1출력
이러한 원리를 이용하여 menu4까지 출력하면 원하는 콜론뒤의 값이 출력됩니다.