mul source
源操作数长度 | 目标操作数 | 目标位置 |
8位 | AL | AX |
16位 | AX | DX:AX |
32位 | EAX | EDX:EAX |
.section .data
[pre]data1:
.int 315814
data2:
.int 165432
result:
.quad 0
output:
.asciz "The result is %qd\n"
.section .text
.global _start
_start:
nop
movl data1, %eax
mull data2
movl %eax, result
movl %edx, result+4
pushl %edx
pushl %eax
pushl $output
call printf
add $12, %esp
pushl $0
call exit
$ ./mul
The result is 52245741648
pushl result+4
pushl result
.section .data
value1:
.int 10
value2:
.int -35
value3:
.int 400
.section .text
.global _start
_start:
nop
movl value1, %ebx
movl value2, %ecx
imull %ebx, %ecx
movl value3, %edx
imull $2, %edx, %eax
movl $1, %eax
movl $0, %ebx
int $0x80
(gdb) info reg
eax 0x320 800
ecx 0xfffffea2 -350
edx 0x190 400
ebx 0xa 10
.section .text
.global _start
_start:
nop
movw $680, %ax
movw $100, %cx
imulw %cx
jo over
movl $1, %eax
movl $0, %ebx
int $0x80
over:
movl $1, %eax
movl $1, %ebx
int $0x80
$ ./imultest
$ echo $?
1
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) | Powered by Discuz! X3.2 |