MOVSX说明:带符号扩展传送指令

您所在的位置:网站首页 汇编movs指令用例子说明 MOVSX说明:带符号扩展传送指令

MOVSX说明:带符号扩展传送指令

2024-02-18 22:23| 来源: 网络整理| 查看: 265

MOVSX说明:带符号扩展传送指令  符号扩展的意思是,当计算机存储某一个有符号数时,符号位位于该数的第一位,所以,当扩展一个负数的时候需要将扩展的高位全赋为1.对于正数而言,符号扩展和零扩展MOVZX是一样的,将扩展的高位全赋为0.

  例子:MOV BL,80H          MOVSX AX,BL   AX == 0FF80H    可能初学者奇怪80H不是正数吗?FF怎么来的?看下面,   80h = 1000 0000 最高位为符号位, 即符号位为1   则MOVSX AX, BL后, AX = 1111 1111 1000 0000 = FF80h    同理,再举一例:     在一crackme里,有这样一条指令:   movsx   edx, byte ptr [esp+18]  //设byte ptr [esp+18]  == 61h   执行后的结果应为:   edx == 00000061h   61h = 0110 0001 最高位为符号位, 即符号位为0   则EDX = 0000 0000 0000 0000 0000 0000 0110 0001 = 00000061h

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cswangbin/archive/2009/03/04/3955395.aspx



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3