CAFE

8051 묻고 답하기

Re:오퍼런드 용어의 뜻?

작성자마시거북|작성시간04.04.03|조회수354 목록 댓글 0

어셈블리어에서 명령어는 오피코드(Operation Code) 와 오퍼랜드(Operand) 로 구성되어 있습니다. 쉽게 말하면 '무엇을 어떻게 해라' 가 명령어 이고, 무엇을이 오퍼랜드(데이터)이고 어떻게 해라가 오피코드입니다.

오퍼랜드는 데이터 자체도 되지만 데이터를 갖고 있는 레지스터 일 수도 있고, 데이터가 들어 있는 메모리를 가리키는 포인터 일 수도 있기 때문에 이를 통들어서 오퍼랜드라고 합니다.

간단한 예로

inc a 명령에서 inc 는 '증가시켜라'는 op code 이고 a (어큐물레이터) 가 오퍼랜드(데이터를 갖고 있는 레지스터) 가 됩니다.

add a, #12h 이 명령은 a 레지스터의 내용을 직접수치 12h 와 더해서(ALU 에서 연산이 이루어 짐) 다시 a 레지스터에 결과를 두라는 명령입니다. 이경우는 오퍼랜드가 2 개 입니다.

cjne a, #12h, next1 이 명령은 오퍼랜드가 3 개이고,  a 레지스터와 직접수치 12h 를 비교해서 둘의 값이 다르면 next1 이라는 곳으로 점프하고 둘의 값이 같으면 이 명령을 무시하고 다음 명령을 실행하라는 명령입니다. 이렇듯 오퍼랜드는 최대 3 개 까지 있을 수 있습니다.

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼