본문 바로가기
카테고리 없음

어셈블리어 명령어 총정리

by sftt 2023. 12. 19.

어셈블리어 명령어 총정리

1. MOV

  • 두 개의 피연산자에서 첫 번째 피연산자의 값을 두 번째 피연산자로 복사한다.
  • 예시: MOV AX, BX (BX 레지스터의 값을 AX 레지스터로 복사)

2. ADD

  • 두 개의 피연산자를 더한 결과를 첫 번째 피연산자에 저장한다.
  • 예시: ADD AX, BX (AX 레지스터에 BX 레지스터의 값을 더하여 결과를 AX에 저장)

3. SUB

  • 첫 번째 피연산자에서 두 번째 피연산자를 뺀 결과를 첫 번째 피연산자에 저장한다.
  • 예시: SUB AX, BX (AX 레지스터에서 BX 레지스터의 값을 빼고 결과를 AX에 저장)

4. INC

  • 피연산자의 값을 1 증가시킨다.
  • 예시: INC CX (CX 레지스터의 값을 1 증가시킴)

5. DEC

  • 피연산자의 값을 1 감소시킨다.
  • 예시: DEC DX (DX 레지스터의 값을 1 감소시킴)

6. CMP

  • 두 개의 피연산자를 비교하여 결과를 플래그 레지스터에 설정한다.
  • 예시: CMP AX, BX (AX와 BX 레지스터를 비교하여 플래그 레지스터를 설정)

7. JMP

  • 주어진 조건에 따라 프로그램 흐름을 이동시킨다.
  • 예시: JMP label1 (label1 위치로 이동)

8. JE/JZ

  • 플래그 레지스터의 상태가 '동일' 조건을 만족하면 주어진 위치로 이동한다.
  • 예시: JE label1 (플래그 레지스터가 '동일' 상태이면 label1 위치로 이동)

9. JNE/JNZ

  • 플래그 레지스터의 상태가 '동일하지 않음' 조건을 만족하면 주어진 위치로 이동한다.
  • 예시: JNE label1 (플래그 레지스터가 '동일하지 않음' 상태이면 label1 위치로 이동)

10. AND

  • 두 개의 피연산자를 비트 단위로 논리 AND 연산한 결과를 첫 번째 피연산자에 저장한다.
  • 예시: AND AX, BX (AX 레지스터와 BX 레지스터 사이의 논리 AND 연산 결과를 AX에 저장)

11. OR

  • 두 개의 피연산자를 비트 단위로 논리 OR 연산한 결과를 첫 번째 피연산자에 저장한다.
  • 예시: OR AX, BX (AX 레지스터와 BX 레지스터 사이의 논리 OR 연산 결과를 AX에 저장)

12. XOR

  • 두 개의 피연산자를 비트 단위로 논리 XOR 연산한 결과를 첫 번째 피연산자에 저장한다.
  • 예시: XOR AX, BX (AX 레지스터와 BX 레지스터 사이의 논리 XOR 연산 결과를 AX에 저장)

13. NOT

  • 피연산자를 비트 단위로 논리 NOT 연산한 결과를 피연산자에 저장한다.
  • 예시: NOT AX (AX 레지스터의 비트 단위로 논리 NOT 연산 결과를 AX에 저장)

이 외에도 어셈블리어에는 다양한 명령어가 있으며, 프로그래머는 이러한 명령어들을 조합하여 원하는 작업을 수행하는 프로그램을 작성할 수 있다.

댓글