void myprintf (char *, ...); int length; void main () { myprintf ("abcdefg%h%%%dabcde%c", -123, 'm'); } void myprintf (char *chars, ...) { int i = 0; int anum=0, anumcopy = 0, yu=0, yulen=0; int yuss[9]; int *yus=yuss; int length; int position = 0; int ssposi = 0; char a; length = 0; a = chars[0]; while (a != '\0') { //取得格式控制字符串的长度; length++; a = chars[length]; } while (i < length) { if (*(char *)(0x0c3c0194+i) == '%') { //对%的识别; if (*(char *)(0x0c3c0194+i+1)=='c') { //识别%c; *(char far *)(0xb8000000+160*10+position) = *(int *)(_BP+6+ssposi); i+=2; ssposi+=2; } else if (*(char *)(0x0c3c0194+i+1)=='d') { //识别%d; anum = *(int *)(_BP+6+
王爽《汇编语言》探究实验五——自己实现一个printf函数
最新推荐文章于 2023-02-09 17:48:19 发布
本文介绍了一篇关于使用汇编语言实现一个简单的`printf`函数的实验。通过识别并处理格式控制字符串中的`%c`和`%d`标志,将变量值输出到屏幕。代码中涉及到对`%c`字符的直接显示,以及对`%d`整数的十进制转换和屏幕位置的管理。
摘要由CSDN通过智能技术生成