社区
汇编语言
帖子详情
CALL通不过编译器问题
GGJJyangjinhan
2009-03-13 08:54:38
书上有段程序,需要调用很多库文件里的代码。在我代买全部输入正确时。可就是通不过MASM6.0的编译。这可怎么办
...全文
82
4
打赏
收藏
CALL通不过编译器问题
书上有段程序,需要调用很多库文件里的代码。在我代买全部输入正确时。可就是通不过MASM6.0的编译。这可怎么办
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BAYNPU
2009-03-16
打赏
举报
回复
去看看吧:一定要这文件IRVINE32.INC调到当前目录下,否则汇编无法通过.
INCLUDE Irvine32.inc
.data
intArray SWORD 0,0,0,0,1,20,35,-12,66,4,0
;intArray SWORD 1,0,0,0
;intArray SWORD 0,0,0,0
;intArray SWORD 0,0,0,1
noneMsg BYTE "A non-zero value was not found",0
.code
main PROC
mov ebx,OFFSET intArray
mov ecx,LENGTHOF intArray
L1:
cmp WORD PTR [ebx],0
jnz found
add ebx,2
loop L1
jmp notFound
found:
movsx eax,WORD PTR [ebx]
call WriteInt
jmp quit
notFound:
mov edx,OFFSET noneMsg
call WriteString
quit:
call crlf
exit
main ENDP
END main
GGJJyangjinhan
2009-03-16
打赏
举报
回复
INCLUDE irvine32.inc
data SEGMENT
Array SWORD 0,0,0,0,1,20,35,-12,66,4,0
;Array SWORD 1,0,0,0
;Array SWORD 0,0,0,0
;ArraY SWORD 0,0,0,1
nonemsg byte 'A non-zero value was not found',0.
data ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV EDX,OFFSET Array
MOV ECS,LENGTHOF Array
L1 CMP WORD PTR [EDX],0
JNZ FOUND
ADD EDX,2
LOOP L1
JMP NOTFOUND
FOUND: MOVSX EAX,WORD PTR [EDX]
CALL WRITESTRING
JMP QUIT
NOTFOUND: MOV EDX,OFFSET NONEMSG
CALL WRITESTRING
QUIT: CALL CRIF
CODE ENDS
END START
BAYNPU
2009-03-13
打赏
举报
回复
可能是32位的汇编吧。
把代码贴出来看看吧。
killbug2004
2009-03-13
打赏
举报
回复
检查代码是否完整,调用到外部文件要在编译时声明一把,链接是链接对应的库
汇编语言:call、call far ptr、call word ptr、call dword ptr、call 寄存器
本文详细解析了汇编语言中CALL指令的不同形式,包括call标号、call far ptr、call 16位寄存器等,解释了每种形式如何实现代码转移及栈操作,并通过实例展示了指令的具体应用。
函数和call详解
本文详细介绍了函数的概念,包括其在代码复用和组织中的作用,以及函数的组成部分:函数体、函数名和参数。接着讨论了函数的调用过程,包括call指令的使用和多层调用的处理。此外,还阐述了函数的定义与声明,函数调用约定(如__stdcall、__cdecl和__fastcall),并提供了内联汇编的简单示例。最后,文章讨论了在编写和分析call时可能出现的
问题
及其解决方案,并给出了找call的各种方法。
CALL是如何炼成的之理论篇
本文详细介绍了汇编中的CALL指令,包括其作用、如何调用子程序、参数传递和堆栈平衡。CALL指令涉及压栈、跳转、参数在堆栈上的布局以及寄存器的使用。通过实例解析了如何分析和编写调用代码,强调了理解CALL的本质对于游戏内挂开发的重要性。同时,讨论了CALL参数的来源、跟踪与分析方法,以及常见错误和找寻CALL的思路。
揭秘汇编CALL指令:程序员的专线列车
本文深入解析汇编语言中的CALL指令,将其比喻为‘专线列车’,解释其工作原理、参数传递、栈保护机制及在递归和模块化编程中的应用。文章还探讨了CALL的性能开销、安全性
问题
以及与中断的区别,并分析了其在软件工程中的重要作用。
win32汇编 invoke 和 call区别
本文详细解释了在编程中INVOKE与CALL指令的不同之处。INVOKE作为一种
编译器
支持的伪指令,能够帮助开发者检查函数调用时的参数是否正确。而CALL指令则直接从栈中获取参数进行调用,最终两者都会转换为类似PUSHPUSH...CALL的形式。
汇编语言
21,500
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章