Intel汇编-传送SSE整数

# An example of using 128-bit SSE register (传送SSE整数)

# movdqa movdqu 用于把128位数据传送到XMM寄存器中,或者在XMM寄存器之间传送数据。
#
# 助记符 A 和 U 部分代表对准和不对准,它们表示数据是如何存储在内存中的。
#
# 对于对准16个字节边界的数据,就使用A选项,否则,就使用U选项。
#
# movdqa source, destination
#
# movdqa reg(128bit)/mm(128bit), reg(128bit)/mm(128bit)
#
# 注意: 不能在两个内存位置之间传送数据

    .section .data
values1:
    .int 1, -1, 0, 135246
values2:
    .quad 1, -1

    .section .text
    .globl main
main:
    nop
    movdqu values1, %xmm0
    movdqu values2, %xmm1

    movl $1, %eax
    movl $0, %ebx
    int $0x80

# gcc -g -o 05-movdqa 05-movdqa.s -m32

gdb -q -f 05-movdqa
Reading symbols from 05-movdqa...
(gdb) b 25
Breakpoint 1 at 0x119e: file 05-movdqa.s, line 25.
(gdb) r
Starting program: /home/05-movdqa

Breakpoint 1, main () at 05-movdqa.s:25
/home/05-movdqa.s:25:544:beg:0x5655619e
25              movdqu values1, %xmm0
(gdb) s
/home/05-movdqa.s:26:568:beg:0x565561a6
26              movdqu values2, %xmm1
(gdb)
/home/05-movdqa.s:28:594:beg:0x565561ae
28              movl $1, %eax
(gdb) p/x $xmm0
$1 = {v4_float = {0x0, 0xffffffff, 0x0, 0x0}, v2_double = {0x7fffffffffffffff, 0x0}, v16_int8 = {0x1, 0x0, 0x0,
    0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x4e, 0x10, 0x2, 0x0}, v8_int16 = {0x1, 0x0, 0xffff,
    0xffff, 0x0, 0x0, 0x104e, 0x2}, v4_int32 = {0x1, 0xffffffff, 0x0, 0x2104e}, v2_int64 = {0xffffffff00000001,
    0x2104e00000000}, uint128 = 0x2104e00000000ffffffff00000001}
(gdb) p/x $xmm1
$2 = {v4_float = {0x0, 0x0, 0xffffffff, 0xffffffff}, v2_double = {0x0, 0x7fffffffffffffff}, v16_int8 = {0x1,
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, v8_int16 = {0x1, 0x0,
    0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0x1, 0x0, 0xffffffff, 0xffffffff}, v2_int64 = {0x1,
    0xffffffffffffffff}, uint128 = 0xffffffffffffffff0000000000000001}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值