鱼C论坛

 找回密码
 立即注册
查看: 727|回复: 3

表达式中缺少运算符

[复制链接]
发表于 2023-11-25 08:40:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
.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
END  main



系统提示:mov eax,white+(blue * 16)   这个指令missing operator in expression   ?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-25 08:40:58 | 显示全部楼层
这个错误是因为在表达式 `mov eax, white + (blue * 16)` 中缺少运算符。

根据代码中的上下文,我猜测你想要给 `eax` 寄存器设置蓝底白字的颜色。在Irvine32库中,相关的颜色常量已经预定义了,你可以直接使用它们来设置颜色。

假设 `white` 是代表白色的一个常量,而 `blue` 是代表蓝色的一个常量,那么你可以这样修改代码:

1. 找到 `white` 和 `blue` 的定义并确保它们是有效的常量,例如:
white = 7blue = 1
2. 将 `mov eax, white + (blue * 16)` 改为 `mov eax, white + blue * 16`。

最终的代码应该类似于:
.386.model flat,stdcall.stack 4096ExitProcess PROTO,dwExitCode:DWORDInclude Irvine32.inc.dataarray DWORD 1,2,3,4,5,6,7,8,9,0Ah,0Bhwhite = 7blue = 1.codemain 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,0main ENDPEND main
希望这可以帮到你!如果你还有其他问题,请随时提问。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-25 08:41:39 | 显示全部楼层
OK了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-25 08:41:51 | 显示全部楼层

很高兴能帮到你!如果你还有其他问题,欢迎随时提问。祝你编程愉快!
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 20:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表