一个汇编代码 mov eax , 3 mov edx ,eax shl edx, 4 请问现在的edx是多少啊,这个shl 是什么意思啊

2025-05-18 16:29:12
推荐回答(1个)
回答(1):

shl是逻辑左移指令,如您以上代码,shl edx,4即将edx的二进制位左移4位,右边空出的位填0。edx的值是3,转换成二进制是00000000000000000000000000000011,左移4位后,edx为00000000000000000000000000110000,即110000,转换成十进制为48。所以现在的edx是48。
因edx最高位是0,且是逻辑左移,左移4位即将edx的值乘以2^4(3X2^4=3X16=48)。