Division Instruction |
- dividend = quotient*divisor + remainder |
=> 나눌때는 항상 DX 를 초기화(1 or 0)하거나 부호를 결정하여 확장 해주어야 한다.
매번 대입명령어나 빼기 명령어를 이용하여(mov edx,0 , sub edx, edx ) 값을 정해줘야 하는데 이를 간단하게 변환해주는 명령어가 있다.
cbw, cwd, cdq, cwde Instructions |
▶ 부호 변환이 자유롭다. 0 or 1 을 일일히 넣어주는 것보다, 이 명령어를 쓰면 값의 앞부분을 ( F or 0 으로 )채워준다. - cbw : AL => AX - cwd : AX => DX:AX - cdq : EAX => EDX:EAX - cwde : AX => EAX ( 단순 확장 , 캐스팅 ) ▶ 결과적으로 mov or sub 를 한것과 동일. |
movzx, movsx Instruction |
▶ 값을 대입하고 나서 바로 0 으로 ( movzx ) 초기화 시켜주거나, 부호에 따라서 값을 ( movsx ) 저장시켜준다. |
======== 온도 섭씨->화씨, 화씨->섭씨 =========
=============================================
'Assembly' 카테고리의 다른 글
2013.09.10_ASM_push_instructions, pop_instructions (0) | 2013.09.10 |
---|---|
2013.09.04_jmp_instruction (0) | 2013.09.04 |
2013.08.29_Division Instructions (0) | 2013.08.29 |
2013.08.28_ASM_Basic Instruction (0) | 2013.08.28 |
2013.08.27_EFLAGS레지스터의구조 (0) | 2013.08.27 |