8086汇编语言中的DIV指令溢出问题。(回答的好会加分)

8086汇编语言中的DIV指令溢出问题。(回答的好会加分),第1张

DIV  CX!

CPU 的计算是:DX:AX / CX = AX ... DX。

这是“32 位数除以 16 位数”。 商、余数,都是 16 位数。

你的程序,没有对 DX 进行初始化,你就执行了多次 DIV  CX!

结果,难以预料。

如果,被除数较大,或除数较小,都可能使“商”超出 16 位数,此时,就会溢出。

当除数为零时,必然会出现:Divide  overflow。

此外,当被除数的高位,大于等于除数时,也会发生“溢出”。

直接使用 DIV 指令,有一定的风险,一不小心就溢出了。特别是数字不确定的时候。

一般来说,在执行 DIV 指令之前,应该加以判断,以免发生溢出。

-----------------------

较好的方法是:编写一个“不会溢出”的除法程序。

方法思路如下:

在右图中,

被除数:1A 2B 3C 4DH,有 32 位数。

除数是:BL,仅有 8 位数。

商,是:32 位数。

按照图中的步骤,需要执行四次 DIV  BL。

只要 BL 不为零,就绝对不会发生溢出。

英文默认不会出现词内换行。如DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD它会认为你是一个单词,出现溢出。

强制词内换换吧:

语法:

word-wrap : normal |

break-word

取值:

normal:  默认值。允许内容顶开指定的容器边界

break-word:  内容将在边界内换行。如果需要,词内换行( word-break

)也将发生

说明:

设置或检索当当前行超过指定容器的边界时是否断开转行。

此属性仅作用于有布局的对象,如块对象。内联要素要使用该属性,必须先设定对象的 height 或 width 属性,或者设定 position 属性为 absolute ,或者设定 display 属性为 block 。

此属性对于 currentStyle

对象而言是只读的。对于其他对象而言是可读写的。

对应的脚本特性为 wordWrap 。

示例:

div { word-wrap: break-wordword-break: break-all}

精通HTML/XML/CSS等,精通W3C标准;

能熟练的使用DIV+CSS进行页面架构和布局;

熟练JS 具有良好的编程风格;

了解浏览器工作原理,能够处理各种浏览器兼容问题,兼容IE6 IE7 IE8 火狐等主流浏览器,具有良好的编程习惯和代码编写能力;

按质量帮你还原成页面,价格:80-200元/页面

保证质量速度,修改满意后在付款,诚心合作的请加QQ:(1410189154)谢谢 加时请注明:网页布局

用浮动也可以,可以试一试最小高度:min-height:500px

还有一种方法最直接:<div style="clear:both"></div>这个加在内容模块的下面。你试下///


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9456527.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存