小编Spa*_*ift的帖子

使用汇编中的getchar获取()函数

我在为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)

c assembly dos x86-16

1
推荐指数
1
解决办法
624
查看次数

标签 统计

assembly ×1

c ×1

dos ×1

x86-16 ×1