这个汇编语言是什么意思?
.file"c_eYf2DB".def___main;.scl2;.type32;.endef.section.rdata,"dr"LC0:.ascii"shutdown...
.file "c_eYf2DB"
.def ___main; .scl 2; .type 32; .endef
.section .rdata,"dr"
LC0:
.ascii "shutdown -s -t 100\0"
.text
.p2align 2,,3
.globl _main
.def _main; .scl 2; .type 32; .endef
_main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %ecx
subl $4, %esp
call ___main
subl $12, %esp
pushl $LC0
call _system
addl $16, %esp
movl -4(%ebp), %ecx
leave
leal -4(%ecx), %esp
ret
.def _system; .scl 2; .type 32; .endef
求缩短 展开
.def ___main; .scl 2; .type 32; .endef
.section .rdata,"dr"
LC0:
.ascii "shutdown -s -t 100\0"
.text
.p2align 2,,3
.globl _main
.def _main; .scl 2; .type 32; .endef
_main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %ecx
subl $4, %esp
call ___main
subl $12, %esp
pushl $LC0
call _system
addl $16, %esp
movl -4(%ebp), %ecx
leave
leal -4(%ecx), %esp
ret
.def _system; .scl 2; .type 32; .endef
求缩短 展开
1个回答
展开全部
一定要清楚这是伪指令
说明:在当前模块所使用的标识符中,哪些标识符是已在其它模块中被定义为指定类型的标识符。如果当前模块使用了其它模块的标识符,而对它又不加以说明的话,那么,在汇编时,汇编程序将会给出下列出错信息: error nnnnn: undefined symbol : XXXXXX 其中:“nnnnn”是错误号,“XXXXXX”是当前模块中没有定义的标识符。
我认为最应注意的是伪指令EXTRN中所说明的标识符必须在其定义的模块中被PUBLIC伪指令说明为公共标识符,并且其说明的标识符类型要与该标识符在定义是的类型相一致,否则,要么不能生成其可执行文件,要么其执行文件不能正确运行。
希望能解决您的问题。
说明:在当前模块所使用的标识符中,哪些标识符是已在其它模块中被定义为指定类型的标识符。如果当前模块使用了其它模块的标识符,而对它又不加以说明的话,那么,在汇编时,汇编程序将会给出下列出错信息: error nnnnn: undefined symbol : XXXXXX 其中:“nnnnn”是错误号,“XXXXXX”是当前模块中没有定义的标识符。
我认为最应注意的是伪指令EXTRN中所说明的标识符必须在其定义的模块中被PUBLIC伪指令说明为公共标识符,并且其说明的标识符类型要与该标识符在定义是的类型相一致,否则,要么不能生成其可执行文件,要么其执行文件不能正确运行。
希望能解决您的问题。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询