NASM中的浮点异常

时间:2014-10-20 05:01:49

标签: exception assembly nasm

我在nasm中为了学习目的写了一个小的可分性程序但是每当我尝试运行它时我都会得到“浮点异常”。这是代码:

segment .data
x dw 7
y dw 2

segment .bss
num resb 2
segment .text
global _start
_start:
mov cx, 1
mov bx, 0

label1:
mov ax, cx
xor bx, bx
xor edx, edx
mov bx, word [x]
div bx
cmp edx, 0
jne next
mov ax, cx
xor bx, bx
xor edx, edx
mov bx, word [y]
div dx
cmp edx, 0
jne next

mov [num], cx

mov eax, 4
mov ebx, 1
mov ecx, num
mov edx, 2
int 80h

add bx, 1
next:
add cx, 1
cmp cx, 100
jle label1

exit:   
mov eax, 1
xor ebx, ebx
int 80h

如果有人能指出我做错了什么,我将不胜感激!

1 个答案:

答案 0 :(得分:0)

您的代码中有这一行:

div dx

显然除以dx是一个坏主意,因为dx也是红利的一部分,并且您在分割之前已将dx正确设置为零。我认为这是一个错字,你真的打算写

div bx