[Engineering] 어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력
페이지 정보
작성일 22-12-23 20:12
본문
Download : [공학] 어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력.hwp
mov edx,OFFSET menu1 ; menu1의 처음 점을 edx에 저장
add edx,DWORD ; 처음 점에서 dword만큼 이동
add edx,DWORD
add edx,DWORD
call writestring ;menu1출력
이러한 원리를 이용하여 menu4까지 출력하면 원하는 콜론뒤의 값이 출력됩니다. add edx,DWORD는 dword크기(32byte)만큼 앞의 주소를 edx에 저장하는 명령어입니다.
② 나이를 eax에 저장 후 출력하기
menu5 DWORD 18h,19h,20h,21h,22h,23h,24h,25h,26h,27h,28h,29h;
menu5에 18부터 29까지 순차적으로 저장되어 있습니다.
`data segment`
offset menu1이 저장된 곳.
즉 색칠한 부분의 처음 점이 menu1이 처음 하는 부분입니다.
![[공학]%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( 86 )
순서
설명
공학,어셈블리어,어셈블리어를,이용하여,주어진,정보,출력,공학기술,레포트
[Engineering] 어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력
[Engineering] 어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력
1. 문제definition
자신의 기본 정보(학번,이름,전공,직책)를 출력하고, 나이는 EAX 레지스터에 저장하여 출력 할 것. 이때 기본 정보는 콜론(:)이후의 문장만 출력하고 add, mov 니모닉과 offset 연산자를 사용 할 것.
2. 해결방법
① 기본정보 출력방법
menu1 BYTE `Student ID : 200702661`,0dh,0ah,0
여기서 콜론(:)이후의 문장만 출력하기 위해선 콜론이 있는 지점의 세그먼트 주소를 알아야합니다.
건물을 메모리라고 생각하면 segmet는 층, offset은 그 층의 방으로 생각하면 쉽습니다.
여기서 저의 나이는 22이므로 menu5의 처음 점으로부터 DWORD를 4번 하여야 합니다. …(skip)
다. 이때 사용되는 연산자가 바로 offset 연산자입니다.
이때 menu1이 저장된 edx의 출력은 Student ID : 200702661 전체가 나오므로 add edx,DWORD를 세 번 해줍니다.
마찬가지로 offset의 원리를 이용하면 자신의 원하는 값의 주소를 알수 있습니다.