분류 전체보기 183

어셈블리어 명령어 [MUL, DIV]

어셈블리어 명령어 [MUL, DIV] MUL (Unsigned Integer Multiply) 부호 없는 AL, AX, EAX의 값을 피연산자와 곱합니다. 피연산자가 8Bit이면 AL과 곱해서 AX에 저장되고 16Bit이면 AX와 곱하고 DX:AX에 저장됩니다. 결과에 따라 OF, ZF 플래그가 세트 될 수 있습니다. Ex) MUL BL => BL * AL Ex) MUL BX => BX * AX Ex) MUL EBX => EBX * EAX AX 16Bit, BX 16Bit MUL을 하게 되면 최대 32Bit가 되며, 상위 16Bit는 DX에 값이 저장되고, 하위 16Bit는 AX에 값이 저장됩니다. 실습 환경 VMware Workstation 15 Player (FREE 버전) Windows XP Pro..

어셈블리어 명령어 [CMP, JMP, CALL]

어셈블리어 명령어 [CMP, JMP, CALL] CMP (Compare) 두 피연산자를 비교하는 작업을 한다. Destination 피연산자에서 Source 연산자를 묵시적으로 빼서 값을 비교한다. 두 피연산자의 값이 같다면 결과는 0이 되고 ZF가 1로 세트된다. 다르면 ZF가 0으로 세트된다. ZF는 Zero Flag라고 하며 처음 상태일 때는 NZ(Not Zero)로 ZF가 0으로 세트된 상태이며 화면에 표시가 됩니다. 만약 계산 결과의 값이 0일 경우 ZF가 1로 세트되며, NZ가 ZR(Zero)로 변경됩니다. 사용 양식은 다음과 같습니다. CMP Dest, Src CMP reg, reg CMP reg, imm CMP mem, reg CMP mem, imm CMP reg, mem 실습 환경 VMw..

어셈블리어 명령어 [ADD, SUB]

어셈블리어 명령어 [ADD, SUB] 어셈블리어에서 사용하는 명령어 중 ADD, SUB에 대하여 알아보겠습니다. ADD (Add) Destination에 Source 값을 빼서 Destination에 저장하는 명령어이다. 연산 결과에 따라 ZF, OF, CF가 세트 될 수 있다. ZF와 OF, CF(Carry Flag)는 나중에 확인하겠습니다. 사용할 수 있는 양식 ADD Dest, Src ADD reg, imm ADD reg, reg ADD mem, reg ADD mem, imm ADD reg, mem 실습 환경 VMware Workstation 15 Player (FREE 버전) Windows XP Professional SP3 (32Bit) CMD창을 열어 debug 명령어를 입력합니다. -a 10..

어셈블리어 명렁어 [MOV, INC, DEC]

어셈블리어 명령어 [MOV, INC, DEC] 어셈블리어에서 사용하는 명령어 중 MOV, INC, DEC에 대하여 알아보겠습니다. MOV (Move) Source에서 Destination으로 데이터를 복사한다. MOV Dest, Src Src에 있는 값을 Dest로 복사한다고 보시면 됩니다. 복사라고도 할 수 있고 대입이나 입력이라고 보셔도 됩니다. 그리고 Dest에는 상수가 올 수 없습니다. C언어에서 int a = 1 코드는 뒤에 있는 숫자 1을 앞에 있는 변수 a에 저장하듯이 MOV 명령어도 뒤에 있는 값을 앞에 있는 변수(레지스터,메모리)에 저장한다고 이해하시면 됩니다. 사용 양식을 보면 다음과 같이 사용할 수 있습니다. reg : 레지스터, imm : 상수, mem : 메모리 MOV reg, i..

어셈블리어 기초

어셈블리어 기초 10진수와 2진수, 16진수를 표현하면 다음과 같이 표현할 수 있습니다. 10진수 2진수 16진수 1 1 1 2 10 2 3 11 3 4 100 4 5 101 5 6 110 6 7 111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F 16 10000 10 17 10001 11 ---------------------------------------------- 범용 레지스터에 대하여 간단하게 알아보면 AX, BX, CX, DX가 있습니다. 여러 가지의 레지스터가 더 있지만, 우선 이 4가지의 레지스터에 대하여 알아보겠습니다. AX(Accumulator Register, 16Bit), EAX(Ex..

반응형