请问一下!嵌入汇编编程调试的时候,调用RET后出现“无可用源”报错是为啥呢
以下是我的代码:
#include<stdlib.h>
#include<stdio.h>
int main()
{
int a;
char s[100]={'\0'};
scanf("%d",&a);
_asm
{
MOV EDX,a //把a存入edx
MOV EBX,0
PUSH EBX
LEA ESI,s //获取输出字符串的首地址
MOV EBX,10
CALL SEPA
}
printf("%s",s);
system("pause");
return 0;
_asm
{
SEPA:
CMP EDX,9 //看是不是只剩下最后一位
JL LAB2
MOV EAX,EDX
DIV BL
SAR EAX,8 //取余
ADD EAX,30H
PUSH EAX
MOV EAX,EDX
DIV BL
SAL EAX,24
SAR EAX,24
MOV EDX,EAX //留商
XOR EAX,EAX
LOOP short SEPA
;
LAB2:
ADD EDX,30H
PUSH EDX
XOR ECX,ECX
JMP LAB3
LAB3:
POP EDX
CMP EDX,0
JE OVER
LEA ESI,s
MOV byte ptr[ESI+ECX],DL
INC ECX
JMP LAB3
OVER:
RET
}
}
或者简而言之,我该如何从调用的子程序返回主函数呢