cdq指令是eax/edx,作用是什么?

learwer 2012-06-18 09:02:39
如题
...全文
383 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zara 2012-06-18
  • 打赏
  • 举报
回复
把 eax 作为一个符号数,如果其为正数,edx 置 0;如果前为负数,edx 置 -1 ;这样,指令后的 edx:eax 形成的一个 qword 数,就和原来的 eax 这么个 dword 的值相等;这个指令通常用在应付后续的 div dword 指令上。
learwer 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

把 eax 作为一个符号数,如果其为正数,edx 置 0;如果前为负数,edx 置 -1 ;这样,指令后的 edx:eax 形成的一个 qword 数,就和原来的 eax 这么个 dword 的值相等;这个指令通常用在应付后续的 div dword 指令上。
[/Quote]

高手啊高手
8088 汇编速查手册 一、数据传输指令 ─────────────────────────────────────── 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈. POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈. BSWAP 交换32位寄存器里字节的顺序 XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数) CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX ) XADD 先交换再累加.( 结果在第一个操作数里 ) XLAT 字节查表转换. ── BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即 0-FFH); 返回 AL 为查表结果. ( [BX+AL]->AL ) 2. 输入输出端口传送指令. IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} ) OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器 ) 输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时, 其范围是 0-65535. 3. 目的地址传送指令. LEA 装入有效地址. 例: LEA DX,string ;把偏移地址存到DX. LDS 传送目标指针,把指针内容装入DS. 例: LDS SI,string ;把段地址:偏移地址存到DS:SI. LES 传送目标指针,把指针内容装入ES. 例: LES DI,string ;把段地址:偏移地址存到ES:DI. LFS 传送目标指针,把指针内容装入FS. 例: LFS DI,string ;把段地址:偏移地址存到FS:DI. LGS 传送目标指针,把指针内容装入GS. 例: LGS DI,string ;把段地址:偏移地址存到GS:DI. LSS 传送目标指针,把指针内容装入SS. 例: LSS DI,string ;把段地址:偏移地址存到SS:DI. 4. 标志传送指令. LAHF 标志寄存器传送,把标志装入AH. SAHF 标志寄存器传送,把AH内容装入标志寄存器. PUSHF 标志入栈. POPF 标志出栈. PUSHD 32位标志入栈. POPD 32位标志出栈. 二、算术运算指令 ───────────────────────────────────────   ADD 加法. ADC 带进位加法. INC 加 1. AAA 加法的ASCII码调整. DAA 加法的十进制调整. SUB 减法. SBB 带借位减法. DEC 减 1. NEC 求反(以 0 减之). CMP 比较.(两操作数作减法,仅修改标志位,不回送结果). AAS 减法的ASCII码调整. DAS 减法的十进制调整. MUL 无符号乘法. IMUL 整数乘法. 以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算), AAM 乘法的ASCII码调整. DIV 无符号除法. IDIV 整数除法. 以上两条,结果回送: 商回送AL,余数回送AH, (字节运算); 或 商回送AX,余数回送DX, (字运算). AAD 除法的ASCII码调整. CBW 字节转换为字. (把AL中字节的符号扩展到AH中去) CWD 字转换为双字. (把AX中的字的符号扩展到DX中去) CWDE 字转换为双字. (把AX中的字符号扩展到EAX中去) CDQ 双字扩展. (把EAX中的字的符号扩展到EDX中去) 三、逻辑运算指令 ───────────────────────────────────────   AND 与运算. OR 或运算. XOR 异或运算. NOT 取反. TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果). SHL 逻辑左移. SAL 算术左移.(=SHL) SHR 逻辑右移. SAR 算术右移.(=SHR) ROL 循环左移. ROR 循环右移. RCL 通过进位的循环左移. RCR 通过进位的循环右移. 以上八种移位指令,其移位次数可达255次. 移位一次时, 可直接用操作码. 如 SHL AX,1. 移位>1次时, 则由寄存器CL给出移位次数. 如 MOV CL,04 SHL AX,CL 四、串指令 ───────────────────────────────────────  DS:SI 源串段寄存器 :源串变址. ES:DI 目标串段寄存器:目标串变址. CX 重复次数计数器. AL/AX 扫描值. D标志 0表示重复操作中SI和DI应自动增量; 1表示应自动减量. Z标志 用来控制扫描或比较操作的结束. MOVS 串传送. ( MOVSB 传送字符. MOVSW 传送字. MOVSD 传送双字. ) CMPS 串比较. ( CMPSB 比较字符. CMPSW 比较字. ) SCAS 串扫描. 把AL或AX的内容与目标串作比较,比较结果反映在标志位. LODS 装入串. 把源串中的元素(字或字节)逐一装入AL或AX中. ( LODSB 传送字符. LODSW 传送字. LODSD 传送双字. ) STOS 保存串. 是LODS的逆过程. REP 当CX/ECX0时重复. REPE/REPZ 当ZF=1或比较结果相等,且CX/ECX0时重复. REPNE/REPNZ 当ZF=0或比较结果不相等,且CX/ECX0时重复. REPC 当CF=1且CX/ECX0时重复. REPNC 当CF=0且CX/ECX0时重复. 五、程序转移指令 ───────────────────────────────────────  1>无条件转移指令 (长转移) JMP 无条件转移指令 CALL 过程调用 RET/RETF过程返回. 2>条件转移指令 (短转移,-128到+127的距离内) ( 当且仅当(SF XOR OF)=1时,OP1循环控制指令(短转移) LOOP CX不为零时循环. LOOPE/LOOPZ CX不为零且标志Z=1时循环. LOOPNE/LOOPNZ CX不为零且标志Z=0时循环. JCXZ CX为零时转移. JECXZ ECX为零时转移. 4>中断指令 INT 中断指令 INTO 溢出中断 IRET 中断返回 5>处理器控制指令 HLT 处理器暂停, 直到出现中断或复位信号才继续. WAIT 当芯片引线TEST为高电平时使CPU进入等待状态. ESC 转换到外处理器. LOCK 封锁总线. NOP 空操作. STC 置进位标志位. CLC 清进位标志位. CMC 进位标志取反. STD 置方向标志位. CLD 清方向标志位. STI 置中断允许位. CLI 清中断允许位. 六、伪指令 ───────────────────────────────────────   DW 定义字(2字节). PROC 定义过程. ENDP 过程结束. SEGMENT 定义段. ASSUME 建立段寄存器寻址. ENDS 段结束. END 程序结束.
主要内容 一、数据传输指令 ─────────────────────────────────────── 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈. POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈. BSWAP 交换32位寄存器里字节的顺序 XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数) CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX ) XADD 先交换再累加.( 结果在第一个操作数里 ) XLAT 字节查表转换. ── BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即 0-FFH); 返回 AL 为查表结果. ( [BX+AL]->AL ) 2. 输入输出端口传送指令. IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} ) OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器 ) 输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时, 其范围是 0-65535. 3. 目的地址传送指令. LEA 装入有效地址. 例: LEA DX,string ;把偏移地址存到DX. LDS 传送目标指针,把指针内容装入DS. 例: LDS SI,string ;把段地址:偏移地址存到DS:SI. LES 传送目标指针,把指针内容装入ES. 例: LES DI,string ;把段地址:偏移地址存到ES:DI. LFS 传送目标指针,把指针内容装入FS. 例: LFS DI,string ;把段地址:偏移地址存到FS:DI. LGS 传送目标指针,把指针内容装入GS. 例: LGS DI,string ;把段地址:偏移地址存到GS:DI. LSS 传送目标指针,把指针内容装入SS. 例: LSS DI,string ;把段地址:偏移地址存到SS:DI. 4. 标志传送指令. LAHF 标志寄存器传送,把标志装入AH. SAHF 标志寄存器传送,把AH内容装入标志寄存器. PUSHF 标志入栈. POPF 标志出栈. PUSHD 32位标志入栈. POPD 32位标志出栈. 二、算术运算指令 ─────────────────────────────────────── ADD 加法. ADC 带进位加法. INC 加 1. AAA 加法的ASCII码调整. DAA 加法的十进制调整. SUB 减法. SBB 带借位减法. DEC 减 1. NEC 求反(以 0 减之). CMP 比较.(两操作数作减法,仅修改标志位,不回送结果). AAS 减法的ASCII码调整. DAS 减法的十进制调整. MUL 无符号乘法. IMUL 整数乘法. 以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算), AAM 乘法的ASCII码调整. DIV 无符号除法. IDIV 整数除法. 以上两条,结果回送: 商回送AL,余数回送AH, (字节运算); 或 商回送AX,余数回送DX, (字运算). AAD 除法的ASCII码调整. CBW 字节转换为字. (把AL中字节的符号扩展到AH中去) CWD 字转换为双字. (把AX中的字的符号扩展到DX中去) CWDE 字转换为双字. (把AX中的字符号扩展到EAX中去) CDQ 双字扩展. (把EAX中的字的符号扩展到EDX中去)
闲得无聊,尝试用纯OD脚本做一个金盾2019的提取 详细分析不多介绍 008AD04D . E8 8299B5FF call 金盾19播.004069D4 008AD052 . 8BC7 mov eax,edi 008AD054 . 99 cdq 008AD055 . 034424 08 add eax,dword ptr ss:[esp+0x8] 008AD059 . 135424 0C adc edx,dword ptr ss:[esp+0xC] 008AD05D . 52 push edx 008AD05E . 50 push eax 008AD05F . 8BC3 mov eax,ebx 008AD061 . E8 9A75BBFF call 金盾19播.00464600 008AD066 . 8B4424 18 mov eax,dword ptr ss:[esp+0x18] 008AD06A . 50 push eax 008AD06B . E8 D00EB6FF call 金盾19播.0040DF40 008AD070 . 59 pop ecx 008AD071 . 8BC7 mov eax,edi //下个硬件断点,视频提取的关键位置 008AD073 . 83C4 28 add esp,0x28 008AD076 . 5D pop ebp 008AD077 . 5F pop edi 008AD078 . 5E pop esi 008AD079 . 5B pop ebx 008AD07A . C3 retn 堆栈: 0012EF6C 04A5B820 buffer 0012EF70 00008000 0012EF74 00000000 2019.zip (294 Bytes, 下载次数: 832) 本主题由 Sound 于 2016-4-20 15:32 移动 免费评分 参与人数 8 吾爱币 +7 热心值 +6 收起理由 fhangong + 1 我很赞同! 无极166 + 1 + 1 谢谢@Thanks! felixwu311 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩! ddddddao + 1 + 1 谢谢@Thanks! 逍遥枷锁 + 1 谢谢@Thanks! 那天晚上 + 1 + 1 用心讨论,共获提升! haifeng0220 + 1 + 1 不懂啊。。。。。 slk + 1 我很赞同! 查看全部评分 收藏收藏24 免费评分免费评分 分享淘帖 送鲜花送鲜花 扔鸡蛋扔鸡蛋 发送到手机穿越 发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案; 如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】; 如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人! 论坛附件只能通过单线程下载,迅雷等多线程工具不能正常下载! 回复 举报 jj8426 0 主题 206 帖子 103 积分 锋芒初露 Rank: 1 UID472379精华0 威望0 点 吾爱币866 CB 热心值0 点 听众0 贡献值0 点 违规0 次 在线时间354 小时 注册时间2016-1-19 最后登录2017-1-9 收听TA 沙发 发表于 2016-4-16 21:23 | 只看该作者 视频是什么类型的 发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案; 如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】; 如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人! 【吾爱破解论坛导航帖】 - [让你快速融入吾爱破解大家庭] 回复 支持 反对 免费评分 举报 xiawan 65 主题 2219 帖子 1153 积分 凤毛麟角 Rank: 5Rank: 5 UID381546精华0 威望3 点 吾爱币2692 CB 热心值46 点 听众18 贡献值0 点 违规0 次 在线时间862 小时 注册时间2015-2-15 最后登录2017-1-10 收听TA 藤椅 发表于 2016-4-16 21:23 | 只看该作者 违规了,进了小黑屋,不能发帖怎么办? 膜拜神贴,后面的请保持队形~ 别把自己太当人,也别把别人不当人! 论坛账号被盗严重,教你如何保障社区帐号的安全! 回复 支持 反对 免费评分 举报 孙忠山 22 主题 242 帖子 149 积分 锋芒初露 Rank: 1 UID243745精华0 威望0 点 吾爱币346 CB 热心值34 点 听众43 贡献值0 点 违规0 次 在线时间438 小时 注册时间2013-3-13 最后登录2017-1-8 收听TA 板凳 楼主| 发表于 2016-4-16 21:25 | 只看该作者 |楼主 《站点帮助文档》有什么问题来这里看看吧,这里有你想知道的内容! jj8426 发表于 2016-4-16 21:23 视频是什么类型的 脚本仅用于能在本机播放的跳加密视频提取。 发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案; 如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】; 如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人! 关于如何获得论坛C币和威望! 回复 支持 反对 免费评分 举报 Lewtq 0 主题 178 帖子 89 积分 锋芒初露 Rank: 1 UID451320精华0 威望0 点 吾爱币390 CB 热心值0 点 听众0 贡献值0 点 违规0 次 在线时间96 小时 注册时间2015-11-11 最后登录2016-12-28 收听TA 报纸 发表于 2016-4-16 21:29 | 只看该作者 无论什么加密的视频都可以提取吗? 发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案; 如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】; 如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人! 如何快速判断一个文件是否为病毒! 回复 支持 反对 免费评分 举报 chinasmu 14 主题 458 帖子 247 积分 前途无量 Rank: 3Rank: 3 UID115088精华0 威望0 点 吾爱币594 CB 热心值22 点 听众8 贡献值0 点 违规0 次 在线时间262 小时 注册时间2010-5-2 最后登录2017-1-10 收听TA 地板 发表于 2016-4-16 21:42 | 只看该作者 前排招租 呼吁大家发布原创作品添加吾爱破解论坛标示! 回复 支持 反对 免费评分 举报 851365960 11 主题 1212 帖子 622 积分 出类拔萃 Rank: 4 UID169181精华0 威望0 点 吾爱币62 CB 热心值18 点 听众8 贡献值0 点 违规0 次 在线时间1111 小时 注册时间2012-2-5 最后登录2016-12-23 活跃会员奖 收听TA 7# 发表于 2016-4-16 22:39 | 只看该作者 谢谢分享。 如何快速赚到 CB,而且不会被关进小黑屋! 回复 支持 反对 免费评分 举报 水立方 10 主题 1665 帖子 864 积分 凤毛麟角 Rank: 5Rank: 5 UID424168精华0 威望0 点 吾爱币2877 CB 热心值38 点 听众7 贡献值0 点 违规0 次 在线时间636 小时 注册时间2015-7-21 最后登录2017-1-10 收听TA 8# 发表于 2016-4-16 23:19 | 只看该作者 谢谢分享。 发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案; 如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】; 如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人! 回复 支持 反对 免费评分 举报 84852153 2 主题 541 帖子 273 积分 前途无量 Rank: 3Rank: 3 UID485729精华0 威望0 点 吾爱币688 CB 热心值2 点 听众21 贡献值0 点 违规0 次 在线时间407 小时 注册时间2016-3-13 最后登录2017-1-10 收听TA 9# 发表于 2016-4-17 00:14 | 只看该作者 还以为是软件 谢谢分享。 V ha84852513 回复 支持 反对 免费评分 举报 破解粉丝 2 主题 156 帖子 78 积分 锋芒初露 Rank: 1 UID408460精华0 威望0 点 吾爱币1215 CB 热心值0 点 听众0 贡献值0 点 违规0 次 在线时间310 小时 注册时间2015-6-3 最后登录2017-1-10 收听TA 10# 发表于 2016-4-17 06:23 | 只看该作者 只 有一个osc文件,如何操作提取?完全不懂! 发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案; 如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】; 如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人! 回复 支持 反对 免费评分 举报 下一页 » 12345678 1 / 8 页下一页返回列表发新帖回复 高级模式 BColorImageLinkQuoteCodeSmilies@朋友| 本版积分规则发表回复 将此回复同步到 腾讯微博 | 回帖并转播 回帖后跳转到最后一页 免责声明: 吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。 Mail To:Service@52PoJie.Cn RSS订阅|手机版|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 ) GMT+8, 2017-1-10 17:41 Powered by Discuz! © 2001-2017 Comsenz Inc.

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧