骇客king 发表于 2015-6-4 09:23:11

新手问题求助除法溢出没有显示

        assume cs:code
        code segment
        start:
                mov ax,1000h
                mov bh,1
                div bh
                mov ax,4c00h
                int 21h
code        ends
end start

写的除法溢出但是运行的时候,什么也看不到,没有任何提示,
运行后貌似显示一些空的东西,相当于一个换行,请问是什么意思啊

ryxcaixia 发表于 2015-6-4 09:23:12


这一行就代表溢出了
没有显式么

骇客king 发表于 2015-6-4 10:27:47

本帖最后由 骇客king 于 2015-6-4 10:31 编辑

我的就是没有显示,那行空的,什么都没有显示,我用的xp系统,不是虚拟的

ryxcaixia 发表于 2015-6-4 11:07:58

嗯,,奇怪
这样 你尝试下把
mov bh,1 改成 mov bh, 0
除0一般肯定溢出

骇客king 发表于 2015-6-4 11:25:38

我试验了,机器一直运行下去,死循环了,估计跟cmd有关系吧

骇客king 发表于 2015-6-4 11:27:08

我晕,又试验了一下,除0会有溢出,不会跟64位cpu有关系吧。。。

ryxcaixia 发表于 2015-6-4 11:49:15

额。。如果是64位cpu 1000 / 1
商是1000 在原来的8086cpu中 是存放在al中, 肯定存放不下
但是如果是64位cpu, 可能会默认选择存放在ax中(或其他高位寄存器中) 就能存下了

毕竟在32位cpu的时候
EAX 包含了 AX
AX 又包含了 al 和ah

骇客king 发表于 2015-6-4 12:19:52

恩呢,感觉就是64位cpu的问题啦
页: [1]
查看完整版本: 新手问题求助除法溢出没有显示