1 mov mov var 1 2 Ch mov

  • Slides: 37
Download presentation

1. 데이터 복사 ㅁ 메모리 ← 상수 mov 인스트럭션 ㅇ 기계어로의 번역 mov var

1. 데이터 복사 ㅁ 메모리 ← 상수 mov 인스트럭션 ㅇ 기계어로의 번역 mov var 1, 2 Ch → mov BYTE PTR[401000], 2 Ch → C 6 05 00 10 40 00 2 C mov BYTE PTR[eax], 2 Ch mov DWORD PTR[eax], 2 Ch → C 7 00 2 C 00 00 00 mov DWORD PTR[ecx], 2 Ch → C 7 01 2 C 00 00 00 mov WORD PTR[ecx], 2 Ch 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 → C 6 00 2 C → 66 C 7 01 2 C 00 -4 -

2. 정수의 덧셈과 뺄셈 ㅁ add와 sub의 예제 (1/4) EAX ECX 00 75 01

2. 정수의 덧셈과 뺄셈 ㅁ add와 sub의 예제 (1/4) EAX ECX 00 75 01 A 2 02 17 01 A 2 EAX ECX add ax, cx EDX EBX IOPL EAX ECX 00 00 00 75 00 00 01 A 2 EAX ECX sub eax, ecx EDX EBX -7 - A P 0 C FF FF FE D 3 00 00 01 A 2 IOPL 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 0 0 0 O D I T S Z 0 1 0 O D I T S Z A

2. 정수의 덧셈과 뺄셈 ㅁ add와 sub의 예제 (2/4) EAX ECX 77 AC 4

2. 정수의 덧셈과 뺄셈 ㅁ add와 sub의 예제 (2/4) EAX ECX 77 AC 4 B 35 C 2 E 1 4 B 35 EAX ECX add ax, cx EDX EBX IOPL EAX ECX 00 00 00 75 00 00 01 A 2 EAX ECX sub ecx, eax EDX EBX -8 - A P 0 C 00 00 00 75 00 00 01 2 D IOPL 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 1 1 0 O D I T S Z 0 0 0 O D I T S Z A

2. 정수의 덧셈과 뺄셈 ㅁ add와 sub의 예제 (3/4) EAX ECX add bl, 4

2. 정수의 덧셈과 뺄셈 ㅁ add와 sub의 예제 (3/4) EAX ECX add bl, 4 EDX EBX 4 B IOPL EAX 0 0 0 O D I T S Z A P 0 C EAX ECX EDX 4 F ECX sub dx, Value FF 20 EDX EBX Value의 값: FF 20 IOPL 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 00 00 -9 - 0 0 1 O D I T S Z A

2. 정수의 덧셈과 뺄셈 ㅁ add와 sub의 예제 (4/4) EAX 00 00 00 09

2. 정수의 덧셈과 뺄셈 ㅁ add와 sub의 예제 (4/4) EAX 00 00 00 09 EAX ECX 00 00 00 0 A ECX add eax, 1 EDX EBX IOPL EAX A P 0 C EAX ECX EDX 0 0 0 O D I T S Z ECX sub dx, Value FF 20 EDX EBX Value의 값: FF 20 IOPL 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 00 00 - 10 - 0 0 1 O D I T S Z A

2. 정수의 덧셈과 뺄셈 ㅁ inc와 dec의 예제 (1/2) EAX ECX EAX 01 A

2. 정수의 덧셈과 뺄셈 ㅁ inc와 dec의 예제 (1/2) EAX ECX EAX 01 A 2 ECX inc ecx EDX EBX IOPL EAX F 5 ECX EAX 0 0 0 O D I T S Z A P 0 C F 4 ECX dec al EDX EBX IOPL 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 01 A 3 - 12 - 0 1 0 O D I T S Z A

2. 정수의 덧셈과 뺄셈 ㅁ inc와 dec의 예제 (2/2) EAX ECX dec bx EDX

2. 정수의 덧셈과 뺄셈 ㅁ inc와 dec의 예제 (2/2) EAX ECX dec bx EDX EBX 00 01 00 00 IOPL EAX A P 0 C EAX ECX EDX 0 0 1 O D I T S Z ECX inc edx 7 F FF FF FF EDX EBX 80 00 00 00 EBX IOPL 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 - 13 - 1 1 0 O D I T S Z A

2. 정수의 덧셈과 뺄셈 ㅁ neg의 예제(1/2) EAX ECX neg bx EDX EBX 01

2. 정수의 덧셈과 뺄셈 ㅁ neg의 예제(1/2) EAX ECX neg bx EDX EBX 01 A 2 IOPL EAX 0 1 0 O D I T S Z A P 0 C EAX ECX EDX FE 5 E ECX neg dh F 5 EDX EBX IOPL 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 0 B - 14 - 0 0 0 O D I T S Z A

2. 정수의 덧셈과 뺄셈 ㅁ neg의 예제(2/2) EAX ECX neg Value EDX EBX Value의

2. 정수의 덧셈과 뺄셈 ㅁ neg의 예제(2/2) EAX ECX neg Value EDX EBX Value의 값: FF FF Value의 값: 00 01 IOPL EAX 00 00 ECX EAX A P 0 C 00 00 ECX neg eax EDX EBX IOPL 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 0 1 0 O D I T S Z - 15 - 0 0 1 O D I T S Z A

4. 나눗셈 ㅁ div 연산 예 : 100 = 7 * 13 + 9

4. 나눗셈 ㅁ div 연산 예 : 100 = 7 * 13 + 9 EAX 00 00 00 64 ECX EDX EBX EAX ECX EDX (0064 h = 0007 h * 000 Dh + 0009 h) EAX ECX div ebx 00 00 0 D EDX 00 64 00 0 D 00 00 EAX 00 00 00 09 EBX 00 07 ECX div cx EDX EBX EAX 00 00 00 07 00 09 EBX 00 64 ECX EAX ECX div Value EDX EBX Value의 값: 0 D 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 - 29 - 09 07

4. 나눗셈 ㅁ idiv 연산 예 100 = (-7) * (-13) + 9 (0064

4. 나눗셈 ㅁ idiv 연산 예 100 = (-7) * (-13) + 9 (0064 h = FFF 9 h * FFF 3 h + 0009 h) ㅇ -100 = (-7) * 13 + (-9) (0064 h = FFF 9 h * 000 Dh + FFF 7 h) ㅇ -100 = 7 * (-13) + (-9) (0064 h = 0007 h * FFF 3 h + FFF 7 h) ㅇ EAX ECX EDX 00 64 FF F 3 00 00 EAX ECX idiv cx EDX EBX EAX ECX EDX 00 09 EBX FF 9 C 00 0 D FF FF EAX FF F 9 ECX idiv cx EDX EBX EAX FF F 9 FF F 7 EBX FF 9 C FF F 3 FF FF EAX ECX idiv cx EDX EBX 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 00 07 EBX - 30 - FF F 7

4. 나눗셈 ㅁ 나눗셈 인스트럭션 예 EAX 07 0 D ECX EAX ECX cwd

4. 나눗셈 ㅁ 나눗셈 인스트럭션 예 EAX 07 0 D ECX EAX ECX cwd EDX EBX EAX FF FF FA 13 ECX EAX EDX EBX C 6 ECX EAX EDX EBX FF 2 A ECX EAX ECX cwde EDX EBX 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 FF FF FF 13 FF FF FF C 6 ECX cbw EDX EAX 00 00 ECX cdq EDX EAX 07 0 D - 33 - FF FF FF 2 A

4. 나눗셈 ㅁ Convert인스트럭션과 유사한 move 인스트럭션 ㅇ movzx <register>, <source>확장된 : 상위를 0(zero)으로

4. 나눗셈 ㅁ Convert인스트럭션과 유사한 move 인스트럭션 ㅇ movzx <register>, <source>확장된 : 상위를 0(zero)으로 채움 ㅇ movsx <register>, <source>확장된 : 상위를 부호(sign)으로 채움 <source>는 레지스터 혹은 메모리만 가능(immediate 는 불가능) <source>의 크기는 byte 혹은 word만 가능 EAX F 7 0 D ECX EAX ECX movsx ecx, eax EDX EBX EAX ECX F 7 0 D FF FF F 7 0 D EAX ECX movzx ecx, eax EDX EBX 개교 100년을 향한 꿈과 도전 Top Brand 서울시립대학교 - 34 - 00 00 F 7 0 D