Notice
Recent Posts
Recent Comments
LuvSea
곱셈 - MUL, IMUL 본문
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
mul source
mul(부호없는 곱셈)
source 자리에는 레지스터나 주소가 올 수 있으며, 즉시값(상수)은 올 수 없다.
source에 1바이트가 오면 AL(1바이트)과 곱해서 AX(2바이트)에 저장된다. source에 2바이트가 오면 AX와 곱해서 DX:AX에 저장한다. source가 4바이트라면, EAX와 곱해서 EDX:EAX에 저장된다.
(1자리의 숫자 두개를 곱하면 최고 2자리의 숫자가 나올 수 있다. 따라서 1바이트를 2개 곱하면 2바이트의 저장공간이 필요하다.)
imul dest, source1
imul dest, source1, source2
imul dest, source1, source2
imul(부호있는 곱셈)
dest |
source1 |
source2 |
Action |
reg/mem8 |
AX = AL*source1 | ||
reg/mem16 |
DX:AX = AX*source1 | ||
reg/mem32 |
EDX:EAX=EAX*source1 | ||
reg16 |
reg/mem16 |
dest *= source1 | |
reg32 |
reg/mem32 |
dest *= source1 | |
reg16 |
immed8 |
dest *= immed8 | |
reg32 |
immed8 |
dest *= immed8 | |
reg16 | immed16 |
dest *= immed16 | |
reg32 | immed32 |
dest *= immed32 | |
reg16 | reg/mem16 |
immed8 |
dest=source1*source2 |
reg32 | reg/mem32 | immed8 | dest=source1*source2 |
reg16 | reg/mem16 | immed16 | dest=source1*source2 |
reg32 | reg/mem32 | immed32 | dest=source1*source2 |
reg = 레지스터, mem = 메모리 주소내의 값, immed = 즉시값(상수)
'sTudy' 카테고리의 다른 글
PUSHA와 POPA (0) | 2009.08.10 |
---|---|
데이터 전송 명령어 mov, movzx, movsx (0) | 2009.08.10 |
에셈블리로하는 나눗셈 (0) | 2009.08.10 |
data 세그먼트와 bss 세그먼트 (0) | 2009.08.10 |
elf32-littlearm.lds 파일 분석 (0) | 2009.08.10 |
Comments