Intel汇编-传送MMX整数

# An example of using the MMX data types (传送MMX整数)

    .section .data
values1:
    .int 1, -1
values2:
    .byte 0x10, 0x05, 0xff, 0x32, 0x47, 0xe4, 0x00, 0x01

    .section .text
    .globl main
main:
    nop
    movq values1, %mm0
    movq values2, %mm1
    movl $1, %eax
    movl $0, %ebx
    int $0x80

# gcc -g -o 04-movq 04-movq.s -m32

# gdb 调试器查看寄存器值

gdb -q -f 04-movq
Reading symbols from 04-movq...
(gdb) list
warning: Source file is more recent than executable.
1       # An example of using the MMX data types (传送MMX整数)
2
3               .section .data
4       values1:
5               .int 1, -1
6       values2:
7               .byte 0x10, 0x05, 0xff, 0x32, 0x47, 0xe4, 0x00, 0x01
8
9               .section .text
10              .globl main
(gdb)
11      main:
12              nop
13              movq values1, %mm0
14              movq values2, %mm1
15              movl $1, %eax
16              movl $0, %ebx
17              int $0x80
18
19      # gcc -g -o 04-movq 04-movq.s -m32
20
(gdb) b 13
Breakpoint 1 at 0x119e: file 04-movq.s, line 13.
(gdb) r
Starting program: /home/04-movq

Breakpoint 1, main () at 04-movq.s:13
/home/04-movq.s:13:213:beg:0x5655619e
13              movq values1, %mm0
(gdb) s
/home/04-movq.s:14:234:beg:0x565561a5
14              movq values2, %mm1
(gdb) s
/home/04-movq.s:15:255:beg:0x565561ac
15              movl $1, %eax
(gdb) p $mm0
$1 = {uint64 = -4294967295, v2_int32 = {1, -1}, v4_int16 = {1, 0, -1, -1}, v8_int8 = {1, 0, 0, 0, -1, -1, -1,
    -1}}
(gdb) p $mm1
$2 = {uint64 = 72308588487312656, v2_int32 = {855573776, 16835655}, v4_int16 = {1296, 13055, -7097, 256},
  v8_int8 = {16, 5, -1, 50, 71, -28, 0, 1}}    // 十进制
(gdb) p/x $mm1
$3 = {uint64 = 0x100e44732ff0510, v2_int32 = {0x32ff0510, 0x100e447}, v4_int16 = {0x510, 0x32ff, 0xe447, 0x100},
  v8_int8 = {0x10, 0x5, 0xff, 0x32, 0x47, 0xe4, 0x0, 0x1}}    // 十六进制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值