| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7063 人关注过本帖
标题:[求助]Win32汇编下div和idiv的具体用法
只看楼主 加入收藏
hkbyest
Rank: 1
等 级:新手上路
威 望:2
帖 子:30
专家分:0
注 册:2007-6-14
收藏
得分:0 
一样的,版主能说一下你上面所讲的内容出自哪里么?我的确不知道。

[此贴子已经被作者于2007-8-11 21:55:38编辑过]


2007-08-11 21:47
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
KPzvyrrE.rar (30.13 KB) [求助]Win32汇编下div和idiv的具体用法



win32汇编
病毒 加密
目前兴趣所在
2007-08-11 22:30
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
摘自上面文档

win32汇编
病毒 加密
目前兴趣所在
2007-08-11 22:31
hkbyest
Rank: 1
等 级:新手上路
威 望:2
帖 子:30
专家分:0
注 册:2007-6-14
收藏
得分:0 

看了,那个说法肯定是错误的,建议找一些比较正规的书籍教材来学习为好。

[QUOTE]
DIV INSTRUCTION
Purpose: Division without sign.

Syntax:
DIV source

The divider can be a byte or a word and it is the operator which is given the instruction.

If the divider is 8 bits, the 16 bits AX register is taken as dividend and if the divider is 16 bits the even DX:AX register will be taken as dividend, taking the DX high word and AX as the low.

If the divider was a byte then the quotient will be stored on the AL register and the residue on AH, if it was a word then the quotient is stored on AX and the residue on DX.

IDIV INSTRUCTION

Purpose: Division with sign.

Syntax:

IDIV source

It basically consists on the same as the DIV instruction, and the only difference is that this one performs the operation with sign.For its results it used the same registers as the DIV instruction.[/QUOTE]

这是intel开发手册上的内容,应该够权威了。

2007-08-12 17:47
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
写个程序测试一下不就得了  我一会去试试

win32汇编
病毒 加密
目前兴趣所在
2007-08-12 17:56
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
看来你说的没错 我写程序测试了一下 他那个文档上面说的确实是错的 hkbyest好厉害啊
唉 真是误人子弟

[此贴子已经被作者于2007-8-12 18:21:52编辑过]


win32汇编
病毒 加密
目前兴趣所在
2007-08-12 18:20
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 

DIV,无符号数的除法指令,和8086一样,指令给出一个操作数,被除数已默认。如果指令中给出的操作数为32,那么被除数将是EDX:EAX, 最终的商将存放在EAX, 余数将存放在EDX中。如果指令给出操作数为16位,那么被除数为EAX,最终得到的商放在AX,余数放在DX。如果指令中给出的操作数为8位,那么被除数是16位,最终得到的商将放在AL中,余数放在DL中。

这回对了吧 hkbyest检查一下


win32汇编
病毒 加密
目前兴趣所在
2007-08-12 18:25
hkbyest
Rank: 1
等 级:新手上路
威 望:2
帖 子:30
专家分:0
注 册:2007-6-14
收藏
得分:0 
以下是引用无理取闹在2007-8-12 17:56:23的发言:
写个程序测试一下不就得了 我一会去试试



记得先清eax哦
这类代码我写过许多了,不会骗你的,^_^



哎呀,原来你已经测试了啊,没注意看,汗~ 上面当废话吧

[此贴子已经被作者于2007-8-13 22:55:27编辑过]

2007-08-13 22:52
hkbyest
Rank: 1
等 级:新手上路
威 望:2
帖 子:30
专家分:0
注 册:2007-6-14
收藏
得分:0 
[QUOTE]DIV,无符号数的除法指令,和8086一样,指令给出一个操作数,被除数已默认。如果指令中给出的操作数为32,那么被除数将是EDX:EAX, 最终的商将存放在EAX, 余数将存放在EDX中。如果指令给出操作数为16位,那么被除数为EAX,最终得到的商放在AX,余数放在DX。如果指令中给出的操作数为8位,那么被除数是16位,最终得到的商将放在AL中,余数放在DL中。[/QUOTE]

还是错了~你看的那资料只是有关16位除法那有错而已,我修改一下吧

DIV,无符号数的除法指令,和8086一样,指令给出一个操作数,被除数已默认。如果指令中给出的操作数为32位,那么被除数将是EDX:EAX, 最终的商将存放在EAX, 余数将存放在EDX中。如果指令给出操作数为16位,那么被除数为DX:AX,最终得到的商放在AX,余数放在DX。如果指令中给出的操作数为8位,那么被除数是AX,最终得到的商将放在AL中,余数放在AH中。
2007-08-13 22:58
hkbyest
Rank: 1
等 级:新手上路
威 望:2
帖 子:30
专家分:0
注 册:2007-6-14
收藏
得分:0 
我也是初学者,大家一起进步嘛
2007-08-13 23:00
快速回复:[求助]Win32汇编下div和idiv的具体用法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018024 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved