Да в принципе можно воткнуть деление на асме, если потребуется.
Код
DIM A AS LONGINT
DIM B AS LONGINT
DIM Res AS LONGINT
DIM Ost AS LONGINT
A = -25
B = 10
ASM
MOV rax, A ' Делимое (rdx:rax) 128 бит
MOV rbx, B ' Делитель (rbx) 64 бит
CQO ' Расширяем rax в rdx:rax (подготовка к делению)
IDIV rbx ' Знаковое целочисл. деление
MOV Res, rax ' Результат 64 бит в переменную Rez, остаток в регистре rdx
MOV Ost, rdx
END ASM
PRINT "Result: "; Res
PRINT "Modulo: "; Ost
SLEEP
Только чтобы ловить исключение придётся что-то химичить с отладочными API.