올린글을 확인할 수 있도록 포스팅을 공개로 설정해 주세요.
어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력

1. 문제정의

자신의 기본 정보(학번,이름,전공,직책)를 출력하고, 나이는 EAX 레지스터에 저장하여 출력 할 것. 이때 기본 정보는 콜론(:)이후의 문장만 출력하고 add, mov 니모닉과 offset 연산자를 사용 할 것.

2. 해결방법

① 기본정보 출력방법

menu1 BYTE Student ID : 200702661 ,0dh,0ah,0

여기서 콜론(:)이후의 문장만 출력하기 위해선 콜론이 있는 지점의 세그먼트 주소를 알아야합니다. 이때 사용되는 연산자가 바로 offset 연산자입니다.
건물을 메모리라고 생각하면 segmet는 층, offset은 그 층의 방으로 생각하면 쉽습니다.

[data segment]

offset menu1이 저장된 곳.

즉 색칠한 부분의 시작점이 menu1이 시작하는 부분입니다.
이때 menu1이 저장된 edx의 출력은 Student ID : 200702661 전체가 나오므로 add edx,DWORD를 세 번 해줍니다. add edx,DWORD는 dword크기(32byte)만큼 앞의 주소를 edx에 저장하는 명령어입니다.

mov edx,OFFSET menu1 ; menu1의 시작점을 edx에 저장
add edx,DWORD ; 시작점에서 dword만큼 이동
add edx,DWORD
add edx,DWORD
call writestring ;menu1출력

....

[hwp/pdf]어셈블리어 - 어셈블리어를 이용하여 주어진 정보 출력
포스팅 주소 입력
  올린글을 확인할 수 있는 포스팅 주소를 입력해 주세요.
  네이버,다음,티스토리,스팀잇,페이스북,레딧,기타 등 각각 4개(20,000p) 까지 등록 가능하며 총 80,000p(8,000원)까지 적립이 가능합니다.