[어셈블리 언어] SUB 명령어 ( ↔ ADD )
※ SUB ( ↔ ADD ): 첫번째 operand의 값을 두번째 operand의 값과 -연산하여 그 결과를 다시첫번째 operand의 메모리 공간에 저장한다.따라서 첫번째 operand는 저장할 수 있는 공간인 reg 혹은 mem이 되어야 한다. SUB reg, reg ex) SUB EAX, EBXSUB reg, mem ex) SUB EAX, [EBP-0x04]SUB mem, reg ex) SUB [EBP-0x04], EAXSUB reg, imm ex) SUB EAX, 0x0ASUB mem, imm ex) SUB [EBP-0x0C], 0x0A [그림 1] 소스코드와 그 실행 결과 위 소스코드에서 main함수의 스택 프레임을 그림으로 표현하면 다음과 같다. [그림 2] main함수의 스택 프레임 어셈블리..
[어셈블리 언어] ADD 명령어 ( ↔ SUB )
※ ADD ( ↔ SUB ): 첫번째 operand의 값을 두번째 operand의 값과 +연산하여 그 결과를 다시첫번째 operand의 메모리 공간에 저장한다.따라서 첫번째 operand는 저장할 수 있는 공간인 reg 혹은 mem이 되어야 한다. ADD reg, reg ex) ADD EAX, EBXADD reg, mem ex) ADD EAX, [EBP-0x04]ADD mem, reg ex) ADD [EBP-0x04], EAXADD reg, imm ex) ADD EAX, 0x0AADD mem, imm ex) ADD [EBP-0x0C], 0x0A [그림 1] 소스코드와 그 실행 결과 위 소스코드에서 main함수의 스택 프레임을 그림으로 표현하면 다음과 같다. [그림 2] main함수의 스택 프레임 어셈블리..