MASM 使用寄存器作为 mod 运算符之间的表达式

发布于 2024-12-28 14:22:16 字数 203 浏览 2 评论 0原文

我是 masm32 的新手,我想实现以下(不正确的)代码行中描述的想法:

mov ebx,(eax mod any_number)

编译器给我错误 A2026:预期常量

我读到 mod 操作不能在寄存器之间使用,那么哪些方法可以帮助我执行相同的想法?

希望得到您的帮助。

I am completely newbie in masm32 and I want to realize such idea which is described in following line of (incorrect) code :

mov ebx,(eax mod any_number)

Compiler gives me error A2026 : constant expected

I read that mod operation cannot be used between registers, so which methods will help me to perform same idea ?

Hope for your help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独夜无伴 2025-01-04 14:22:16

9%5=4
模数是什么意思?它是除 2 个数字后的余数

    mov     eax, 9 mod 5

,或者

xor     edx, edx
mov     eax, 9
mov     ecx, 5
div     ecx

现在 edx 包含模数

9 % 5 = 4
What does Modulus mean? It is the remainder after you divide 2 numbers

    mov     eax, 9 mod 5

or

xor     edx, edx
mov     eax, 9
mov     ecx, 5
div     ecx

now edx contain the Modulus

夏日浅笑〃 2025-01-04 14:22:16

我想将我的答案用于汇编语言指南:James T. Streib 的简明介绍一书的练习 2.b,

;result = number % amount

mov eax,number  
cdq             ;copy or propagate the sign bit into the edx register
idiv amount     
mov result,edx  ;the remainder in the edx register and the  
                ;quotient in the eax register

I would like to use my answer to exercise 2.b of the book Guide to Assembly Language: A Concise Introduction by James T. Streib,

;result = number % amount

mov eax,number  
cdq             ;copy or propagate the sign bit into the edx register
idiv amount     
mov result,edx  ;the remainder in the edx register and the  
                ;quotient in the eax register
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文