微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python 的 pow 函数:如何将 pow 函数集成到汇编语言中

如何解决Python 的 pow 函数:如何将 pow 函数集成到汇编语言中

我正在设计一个用 Nasm 编写的操作系统。目的是在没有多任务处理的受保护模式中计算低级系统上的费马素性测试。我在 DPMI 中使用 DOS 级别的系统调用。该代码是标准代码,我认为用长代码炸毁这个问题不是一个好主意。 问题是关于 python 的 pow(int,exponent,modulus) 函数。我显然会计算大约 10^100000000 长度的非常长的数字。 (例如:2**332200000-1)该代码用户获取输入或从文件中读取。大约需要。 40Mb 将这个大整数缓存到文件或内存中。 这意味着我只是在受保护的 mod 中分配了一个大小为 40Mb 的内存。 费马小定理如你所知:


如果 p 是素数,

a 是整数并且 gcd(a,p)=1 那么,

a**(p-1) mod p = 1


在 python 中,它被计算得像一个魅力,没有额外的努力它会回馈很多,但是像 2^332200000-1 这样的非常普通的整数速度很慢,我决定制作自己的操作系统外壳,当我的计算机启动时触发。原因是要充分利用我虔诚的计算机系统,而无需任何降低计算速度的系统调用我有以下问题:

  • 有没有可以观察和计算python幂函数汇编代码的网站?

  • 如果是或否,您能否给我一个提示,如何在非常短而快速的组装中有效地做到这一点?

这个想法非常基本和简短:

4 字节整数在汇编中不起作用。所以决定从文件中读取长十六进制整数到分配的内存(40Mbyte)。当我使用这个很长的整数进行计算时,例如乘以 2,然后我将每 4 个字节整数滚动到第二个无内存位置。如果有剩余进位,这将被添加到第二个 4 字节计算中,依此类推。可以为这些长整数使用内存。一切都已准备就绪,但在组装中发挥作用的关键只是在研究阶段。你能以某种方式帮助或通知我吗。

再次,如何在汇编中使用非常非常长的数字进行计算,以及如何使用指数和模数制作类似于 python 的幂函数。这在代码形式中看起来如何。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。