我在为gets()我的一个类做的C代码上创建一个函数时遇到了一些问题.所以我已经有一个getchar()功能,但在汇编,我从C调用它extern的东西是,目前我正在运行代码我输入一个字符串,它不显示完整的字符串而不是一些字符.
这是我的代码:C代码:
extern char getchar(void);
extern void putchar(char data);
void gets(char *str);
void puts(char *str);
void new_line();
char string[20];
int main(){
while(1){
gets(string);
new_line();
puts(string);
}
return 0;
}
void new_line(){
putchar(0xD);
putchar(0xA);
}
void gets(char *str){
unsigned char i = 0;
while((*str = getchar()) != 0xD){
str[i] = getchar();
i++;
}
}
void puts(char *str){
while(*str){
putchar(*str++);
}
}
Run Code Online (Sandbox Code Playgroud)
和我的ASM代码以防万一:
.MODEL tiny
.CODE
public _putchar
public _getchar
_putchar PROC
push bp
mov bp, …Run Code Online (Sandbox Code Playgroud)