小编Jam*_*hko的帖子

ASM x86 整数溢出

GetLCM PROC
tryAgain:
   mov bx, 0
   inc Multiple
   mov ax, UserInputNum1              ;Move UserInputNum1 to the 16 bit Register
   mov bx, Multiple
   div bx                             ;<-------Error here
   cmp dx,0                           ;If dx is not zero then there is a remainder
   jne tryAgain                       ;If not equal jump
ret
GetLCM ENDP
Run Code Online (Sandbox Code Playgroud)

尝试对这两个数字进行除法运算时,我不断收到整数溢出错误。当我尝试使用 div 时它会中断。

我试图找到用户输入的两个数字的最小公倍数。我决定尝试将每个数字除以首先找到质数,然后将每次找到的质数与用户输入的另一个数字进行比较。当然,我会同时做这两个数字,但到目前为止,我正试图克服这个错误。

这只是我在 ASM 的第五周,所以我有点困惑为什么会发生这种情况。另外我想补充一点,我也想让这项工作适用于 32 位数字。我的想法是使用指针。这是一个很好的方法吗?谢谢你的帮助!

html x86 assembly

2
推荐指数
1
解决办法
2898
查看次数

在 C 中规范化来自结构体的向量

typedef struct 
{
    float x, y, z;
} VECTOR;
Run Code Online (Sandbox Code Playgroud)

编写一个函数,该函数采用指向 VECTOR 结构的指针并对 x、y 和 z 分量进行标准化

我意识到你可以通过获取长度并将 x、y 和 z 除以长度来标准化向量。但我将如何使用此处提供的代码来做到这一点。这是我的尝试。

Void Norm(*VECTOR)
{
    x = x / *VECTOR.Length;
    y = y / *VECTOR.Length;
    z = z / *VECTOR.Length;
}
Run Code Online (Sandbox Code Playgroud)

c

2
推荐指数
1
解决办法
8847
查看次数

标签 统计

assembly ×1

c ×1

html ×1

x86 ×1