게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
arm 어셈블리어 질문입니다..
게시물ID : programmer_2772짧은주소 복사하기
작성자 : 정플밍
추천 : 0
조회수 : 681회
댓글수 : 1개
등록시간 : 2014/04/20 14:26:00
학교에서 arm 어셈블리어를 공부를하는데요

필기를 해둔내용에서 이해가 가지 않는부분이잇어서요; 

구글링해도 정말 안나와서;; 여기에 질문올립니다.

arm어셈블리어 내에서 출력하는 거인데 

형태는 C 메인함수내에서 사용하는 함수를 어셈블리어로 구현하고,

중요한건 이것을 C에서 리턴값을받아서 print 찍는게 아니라

어셈블리어내에서 출력 명령을 내려야 되거든요..

필기내용은

msg: .asciz "hello"

asciz는 구글링해서 아스키 문자열로 뒤에 ""를 가능하게하는거고 뒤에는 널문자를 저장하는 데이터 지시자라는건 알앗습니다.

중요한건 이걸 출력하는거인데

mov r0, #1  @ fd<stdout   stdout을보니 출력하는거같은데 필요한 값을 초기화해주는거같습니다

ldr r1,=msg    msg에 저장된 출력할 문자열 주소를 메모리로 가져오고

mov r2, #6  글자개수를 레지스터 2번에 넣어주고

mov r7, #4    호출할 시스템 call의 번호?? 여기서부터 잘모르겠습니다..

그다음에는     @sys_write(fd,msg,b)  이게 써있긴한데 이거는 어셈블리어에 쓸수없는 형태같고

swi 0- sw interrput는 시스템 인터럽트를 발생시키는거같은데... 

중요한 출력을 하는 어셈블리어 명령어를 잘모르겠습니다..

도와주세요 ㅠㅠ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호