Quiero hacer una función división, pero tengo problemas con la inicialización de rdx
porque siempre es 0.
Hasta el momento no he intentado algo, pero no porque sea flojo sino porque no se me ocurre de inicializar rdx
como parámetro manteniendo su valor ingresado.
Esté sería el código de la función.
division proc public
cmp rdx, 0
je error
mov rax, rcx
cqo
idiv rdx
ret
division endp
error proc
xor rax, rax
ret
error endp
Está en el ensamblador MASM x64 de visual studio, pero solo necesito saber como inicializarlo como parámetro.
Aquí dejo mi código C
#include <stdio.h>
extern int __fastcall division(int a, int b);
int main() {
int a = division(20, 10);
printf("%d", a);
return 0;
}
Por si se lo preguntan ya probe con mov rbx, rdx
pero el resultado es el mismo.