0
为了学习的目的,我正在为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
我将不胜感激,如果有人能指出我在做什么错了!
确实,这是一个错字。谢谢你指出它;但是我注意到了一个不同的问题,即没有任何东西获得输出到屏幕上。任何想法,为什么? – 2014-10-20 05:22:19
'sys_write'系统调用在输出之前不会将整数转换为字符串。如果你想打印一个整数,你必须先将它转换为一个字符串。 – Michael 2014-10-20 05:58:41