看完这道题的答案的时候,看到第4行的指令觉得非常困惑,
使用 movl $0, %edx 第一反应是为什么只将低4位置0。
后面才发现,其实是将%rdx寄存器全部置零了,不仅仅是低4位,只是这个指令有隐藏的含义。
movl 其实相当于 movzlq(真正的指令没有movzlq,因为movl就已经实现了) 这一技术利用的属性是,生成4个字节值并以寄存器作为目的指令会把高4字节置为0。
深入了解计算机系统-第三版-练习题3.12 无符号除法
最新推荐文章于 2024-05-04 22:44:58 发布