首页
社区
课程
招聘
[求助]8086汇编有个问题
发表于: 2013-5-24 21:37 4200

[求助]8086汇编有个问题

2013-5-24 21:37
4200
好比
ax = 0ffffh
bx = 1
div bl;产生除法中断

----------
div1:
代码.....
iret
注意:我没有在中断子程序中改变ax的值,这样程序就会死掉,如果我改变了就能正常返回、
是为什么?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 439
活跃值: (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
清空edx
xor edx,edx
2013-5-25 00:35
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=Pan88168;1180586]清空edx
xor edx,edx
[/QUOTE]

与dx没关系的啊
2013-5-25 00:57
0
雪    币: 439
活跃值: (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
DIV是除法指令, 使用 DIV 做除法的时候:
(1) 除数: 有 8 位和 16 位两种, 在一个寄存器或内存单元中.
(2) 被除数: 默认放在 ax 或 dx 和 ax 中, 如果除数为 8 位, 被除数则为 16 位, 默认在 ax 中存放; 如果除数为 16 位, 被除数则为 32 位, 在 dx 和 ax 中存放, dx 存放高 16 位, ax 存放低 16 位.
(3) 结果: 如果除数为 8 位, 则 al 存储除法操作的商, ah 存储除法操作的余数; 如果除数为 16 位, 则 ax 存储除法操作的商, dx 存储除法操作的余数.
2013-5-25 05:22
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
但是我的除数是bl八位的
2013-5-25 17:03
0
游客
登录 | 注册 方可回帖
返回
//