. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
主题 : :  关于转移指令loop  [已解决] 回复[ 7次 ]   点击[ 312次 ]  
realbit
[帖 主] [ 发表时间:2011-12-02 15:59 ] 
荣誉值:1
信誉值:4
注册日期:2011-11-28 20:29
大家想过没有,如果cx是负数,是不是会陷入死循环?
王爽老师的书没有深入的讲解数学运算的东西,在看9.8节 检测点9.2的时候我想了这个问题。
其实应该不会陷入死循环,因为溢出的话又会回到起点。
希望王爽老师可以添加相关内容
chinatree
[第3楼] [ 回复时间:2011-12-02 17:21 ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
首先,你也知道溢出,但是你这个实验理过溢出吗?
 mov cx,0 
              s:inc ax 
                loop s
如果这个样子,会循环65536次,在第32768发生溢出,说明后面的结果是不准确的,但是你没理,那就是当做无符号数来计算.直到又为0.只是说,计算机在运算时,是做两种运算,一种是有符号数,一种是无符号数.如果你是认为做的是有符号数,就根据of等进行判断,如果是无符号数你就根据cf,af等符号位来判断.也就是说什么数在计算机那是没有区别的,区别的是你的心.
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved