表达式中缺少运算符
.386.model flat,stdcall
.stack 4096
ExitProcess PROTO,dwExitCode:DWORD
Include Irvine32.inc
.data
array DWORD 1,2,3,4,5,6,7,8,9,0Ah,0Bh
.code
main PROC
mov eax,white+(blue * 16) ;蓝底白字
mov esi,OFFSET array
mov ecx, LENGTHOF array
mov ebx,TYPE array
call DumpMem
call WaitMsg ;暂停
call Clrscr ;清屏
INVOKE ExitProcess,0
main ENDP
ENDmain
系统提示:mov eax,white+(blue * 16) 这个指令missing operator in expression ?
这个错误是因为在表达式 `mov eax, white + (blue * 16)` 中缺少运算符。
根据代码中的上下文,我猜测你想要给 `eax` 寄存器设置蓝底白字的颜色。在Irvine32库中,相关的颜色常量已经预定义了,你可以直接使用它们来设置颜色。
假设 `white` 是代表白色的一个常量,而 `blue` 是代表蓝色的一个常量,那么你可以这样修改代码:
1. 找到 `white` 和 `blue` 的定义并确保它们是有效的常量,例如:
white = 7
blue = 1
2. 将 `mov eax, white + (blue * 16)` 改为 `mov eax, white + blue * 16`。
最终的代码应该类似于:
.386
.model flat,stdcall
.stack 4096
ExitProcess PROTO,dwExitCode:DWORD
Include Irvine32.inc
.data
array DWORD 1,2,3,4,5,6,7,8,9,0Ah,0Bh
white = 7
blue = 1
.code
main PROC
mov eax, white + blue * 16 ;设置蓝底白字的颜色
mov esi, OFFSET array
mov ecx, LENGTHOF array
mov ebx, TYPE array
call DumpMem
call WaitMsg ;暂停
call Clrscr ;清屏
INVOKE ExitProcess,0
main ENDP
END main
希望这可以帮到你!如果你还有其他问题,请随时提问。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。 OK了 lm68140318 发表于 2023-11-25 08:41
OK了
很高兴能帮到你!如果你还有其他问题,欢迎随时提问。祝你编程愉快!
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
页:
[1]