gpt4 book ai didi

组装错误 : "instruction operands must be the same size"

转载 作者:行者123 更新时间:2023-12-04 05:49:18 25 4
gpt4 key购买 nike

我对此很陌生,我正在尝试将值从一个数组移动到另一个数组,
它假设是:

vec1 = 1, 2, 3, 4, 5
vec2 = 5, 4, 3, 2, 1

但我收到一个错误:“指令操作数必须是相同的大小”
TITLE program

.386
.model flat
extern _ExitProcess@4:Near
.data

vec1 WORD 1, 2, 3, 4, 5; original array
vec2 WORD 5 DUP(?)
.code
_main:

mov ebx, 0
mov ecx, lengthof vec1
DO:
mov eax, vec1[ebx]
mov vec2[ecx], eax
inc ebx
loop DO

push 0
call _ExitProcess@4

end _main

请帮忙。

最佳答案

我首先要看的是 WORD是 16 位宽和 eax是 32 位宽。因此,当您将某些内容加载到 eax 中时(没有明确的大小说明符),您将获得 32 位而不是 16 位。

另外,我不相信你的值ecx将是您所期望的 - 您应该检查一下,记住它需要从 n-1 开始迭代下至 0包括的。您拥有它的方式,它来自 n1 .

关于组装错误 : "instruction operands must be the same size",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10273169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com