相关疑难解决方法(0)

i386 指令“div ah”毫无意义吗?

https://www.felixcloutier.com/x86/div

    ...
    temp ? AX / SRC;
    IF temp > FFH
        THEN #DE; (* Divide error *)
        ELSE
            AL ? temp;
            AH ? AX MOD SRC;
    FI;
    ...
Run Code Online (Sandbox Code Playgroud)

对于div ahSRCah。恕我直言,temp将始终大于FFH,因此将引发异常,因为:

  1. AX = 256*AH+AL
  2. 温度 = AX / AH = (256*AH+AL)/AH = 256 + AL/AH
  3. 温度结束 FFH

我在这里想念什么吗?

x86 assembly i386

8
推荐指数
1
解决办法
216
查看次数

x86 程序集 (NASM):浮点异常,不能除以 0?

我正在尝试计算表达式A * B + ( A + B ) / ( A - B ),其中 A 和 B 是用户输入的整数。我在 linux 内核上使用 ALong32 库。

%include "along32.inc"

section .data
msg1    db      'Enter A: ', 0
msg2    db      'Enter B: ', 0
msg3    db      'Result: ' , 0
err     db      'Error: cannot divide by 0', 0
A       resb    4
B       resb    4

section .text

global main

main:
    mov     edx,    msg1
    call    WriteString
    call    ReadInt
    mov     [A],    eax  ; move the input …
Run Code Online (Sandbox Code Playgroud)

assembly nasm

4
推荐指数
1
解决办法
4123
查看次数

标签 统计

assembly ×2

i386 ×1

nasm ×1

x86 ×1