Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

옵코드 표

옵코드 열 이해하기:

  • 옵코드에 나타나는 16진수 숫자(0-9, A-F)는 문자 그대로 해석되며, 해당 연산을 결정하는 데 사용됩니다.
  • X 또는 Y 와일드카드는 VX/VY에 저장된 값을 사용합니다.
  • N은 리터럴 16진수 값을 나타냅니다. NN과 NNN은 각각 두 자리와 세 자리 16진수를 나타냅니다.

예: 명령어 0xD123은 DXYN 옵코드와 일치하며, 이때 VX는 V1, VY는 V2, N은 3입니다((V1, V2) 위치에 8x3 스프라이트를 그립니다)

옵코드설명비고
0000Nop아무것도 하지 않고 다음 옵코드로 진행합니다
00E0화면을 지웁니다
00EE서브루틴에서 반환합니다
1NNN주소 0xNNN으로 점프합니다
2NNN0xNNN을 호출합니다0xNNN에 있는 서브루틴에 진입하며, 이곳으로 돌아올 수 있도록 현재 PC를 스택에 추가합니다
3XNNVX == 0xNN이면 건너뜁니다
4XNNVX != 0xNN이면 건너뜁니다
5XY0VX == VY이면 건너뜁니다
6XNNVX = 0xNN
7XNNVX += 0xNN캐리 플래그에 영향을 주지 않습니다
8XY0VX = VY
8XY1VX |= VY
8XY2VX &= VY
8XY3VX ^= VY
8XY4VX += VY캐리가 발생하면 VF를 설정합니다
8XY5VX -= VY빌림이 발생하면 VF를 지웁니다
8XY6VX >>= 1밀려난 비트를 VF에 저장합니다
8XY7VX = VY - VX빌림이 발생하면 VF를 지웁니다
8XYEVX <<= 1밀려난 비트를 VF에 저장합니다
9XY0VX != VY이면 건너뜁니다
ANNNI = 0xNNN
BNNNV0 + 0xNNN으로 점프합니다
CXNNVX = rand() & 0xNN
DXYN(VX, VY)에 스프라이트를 그립니다스프라이트의 높이는 0xN 픽셀이며, I의 값에 따라 켜짐/꺼짐이 정해지고, 반전된 픽셀이 하나라도 있으면 VF가 설정됩니다
EX9EVX에 담긴 인덱스의 키가 눌려 있으면 건너뜁니다
EXA1VX에 담긴 인덱스의 키가 눌려 있지 않으면 건너뜁니다
FX07VX = 지연 타이머
FX0A키 입력을 기다린 뒤 그 인덱스를 VX에 저장합니다블로킹 연산
FX15지연 타이머 = VX
FX18사운드 타이머 = VX
FX1EI += VX
FX29I를 VX에 있는 폰트 문자의 주소로 설정합니다
FX33VX의 BCD 인코딩을 I에 저장합니다
FX55V0부터 VX까지를 I에서 시작하는 RAM 주소에 저장합니다양 끝을 포함하는 범위
FX65I에 담긴 주소부터 시작하는 RAM 값으로 V0부터 VX까지 채웁니다양 끝 포함