2010-06-16 4 views
3

386 어셈블러를 사용하여 64 비트 숫자를 빼는 방법은 무엇입니까?x86 어셈블러에서 Subbiting 64 비트 숫자를?

+1

@starblue, 내가 64 비트로이 태그를하지 않을 때문에 기술적으로는 32 비트 컴퓨터에서 32 비트 산술입니다. 이 태그가 다소 오도 된가요? –

답변

12

아이디어는 SBB (borrow with sub) 명령어를 사용하는 것입니다.

  1. edx:eax
  2. ecx:ebx

는 다음이 edx:eax에 차이를 둘 것이다 :

sub eax, ebx 
sbb edx, ecx 

아이디어는 각을 뺄 수 있다는 것입니다 예를 들어, 만약 두 개의 번호가 부분적으로는 별도로 제공되지만 MSB에서 LSB까지 빌려 야합니다.

SBB dest, src 의미 : SBB 그냥하지

SUB dest, src 의미 : 때문에 편리합니다

dest <-- dest - src - EFLAGS.CF 

dest <-- dest - src 
EFLAGS.CF <-- borrow from subtraction 
관련 문제