🤓 드림핵 x86 Assembly Essential Part 강의를 보고 정리한 공부내용입니다.
맨날맨날 검색하는 어셈블리언어 이제 정리할 때
명령어 (Operation Code, Opcode)
데이터이동
산술연산
논리연산
비교
분기
스택
프로시져
시스템 콜
피연산자 (Operand)
mov eax. 3
mov | oax. | 3 |
---|---|---|
opcode | operand1 | operand2 |
대입해라 | eax에 | 3을 |
: 어떤 값을 레지스터나 메모리에 옮기도록 지시
mov
dst, src : src에 들어있는 값을 dst에 대입lea
dst, src : src의 주소를 dst에 저장add
: 더하기sub
: 빼기inc
: 1증가dec
: 1감소and
: 두 비트가 모두 1이면 1, 아니면 0or
: 비트중 하나라도 1이면 1, 아니면 0xor
: 비트가 서로 다르면 1, 같으면 0not
: 비트 전부 반전cmp
: 두 피연산자를 빼서 대소 비교test
: 두 피연산자에 AND 비트연산jmp
: 뒤 addr로 rip을 이동je
: 직전에 비교한 두 피연산자가 같으면 점프jg
: 직전에 비교한 두 연산자 중 전자가 더 크면 점프