这是我们在这个汇编课程介绍中的第一个实验室。我有一个任务,我必须编写嵌入在 c 中的程序集。教授提供了 C 代码,但我们必须编写自己的程序集。任务是比较 3 个值(已放入 eax、ebx 和 ecx)并将最大值和最小值相加并乘以 2。
我写了一个场景,我想知道我是否走在正确的轨道上。
我知道会有4种情况:
- a > b > c
- a < b > c
- a > b < c
- a < b < c
我写了a>b>c。
这个对吗 ?当我编译教授提供的测试时,我得到了奇怪的答案。例如 eax = 3, ebx = 2, ecx = 1 应该给出 8 的答案,但它给出了一些奇怪的东西。请帮忙,谢谢。
cmp eax, ebx
jge agreatb
agreatb:
cmp ebx, ecx
jge bgreatc
bgreatc:
add eax, ecx
mov eax, edx