很多人认为C语言中的难点是指针,对指针的理解直接关系到所编程序的好坏,所以, 在这里列举了一些C编译器通常都有的标准函数的源代码,看过它们,就能对指针和字符串
有所了解了.
1. strlen(),计算字符串长度
int strlen(const char string)
{
int i=0;
while(string[i]) i++;
return i;
}
2. strcpy(), 字符串拷贝.
char *strcpy(char *destination, const char *source)
{
while(*destinaton++=...


- [fangorc] 不是 与王爽的教材没关系 12/04 17:15
- [游客] 是用王爽的教材的讲解视频? 12/04 14:17
- [fangorc] 哈哈,高手啊,我今天才配置好,对系统的使用算入门了,不过对于在linux下的程序设计还是一头雾水,不 08/16 14:27
- [memory1986] 哥们 我也用ubuntu 感觉很好用啊 从装系统到配置好 2——3个小时就够了 08/16 08:52
- [fangorc] 这个真有这么难,毕竟是新手 会者不难,难者不会 08/14 08:48
- [游客] 有这么难吗? 08/13 23:44
- [mywiil] 你的程序有几个问题: 1.end没有指明入口,那么程序将从第一个段,也就是data段开始当作代码段 08/13 10:01
- [mywiil] linux 08/13 09:31
- [scuzg] 反汇编程序只会将二进制位串“尽可能”翻译成指令,不会翻译成伪指令的,所以查看数据段的二进制代码应该用 08/07 21:22
- [fangorc] Thank you, 不过我还有一下疑问 dw 0,0 为什么会解释成了 14 08/07 19:55
[2009-09-11 15:05] C语言中操作字符串的一些函数源代码(转)
阅读全文 |
评论次数(0) |
浏览次数(437) |
所属类型(学习笔记)
[2009-08-15 15:11] 第十一章 标志寄存器
ZF 是否为0
PF 判断奇偶校验 如果1的个数为偶数,PF=1.
如果1的个数为奇数,PF为0.
SF 判断 正负 负数 1 非负 0
CF 进位 借位标志 针对无符号数 借位标志
OF 运算结果是否溢出 针对有符号数
DF 方向标志位 DF=0 每次操作后 si,di递增
DF=1 每次操作后 si,di递减
IF 可屏蔽中断标志位 IF =1 处理可屏蔽中断
IF-0 不处理可屏蔽中断
cmp指令
cmp ax,bx
如果(ax)=(bx), 则 zf=1
如果(ax)!=(bx), 则 zf=0
如果(ax...
PF 判断奇偶校验 如果1的个数为偶数,PF=1.
如果1的个数为奇数,PF为0.
SF 判断 正负 负数 1 非负 0
CF 进位 借位标志 针对无符号数 借位标志
OF 运算结果是否溢出 针对有符号数
DF 方向标志位 DF=0 每次操作后 si,di递增
DF=1 每次操作后 si,di递减
IF 可屏蔽中断标志位 IF =1 处理可屏蔽中断
IF-0 不处理可屏蔽中断
cmp指令
cmp ax,bx
如果(ax)=(bx), 则 zf=1
如果(ax)!=(bx), 则 zf=0
如果(ax...
阅读全文 |
评论次数(0) |
浏览次数(499) |
所属类型(学习笔记)
[2009-08-11 22:20] 第九章 转移指令原理
概述
转移指令可以修改CS和IP的指令统称转移指令,通过转移指令可以控制CPU执行内存中的某处代码的指令。
jmp ax;只修改IP,称为段内转移,段内转移又分为短转移(IP修改范围-128~127)和近转移(-32768~32767)
jmp 1000:0 ;同时修改CS和IP,称为段间转移
转移指令分类:
1,无条件转移指令(jmp)
2,条件转移指令
3,循环指令(loop)
4,过程
5,中断
9.1 操作符offset——用来取得标号的偏移地址
assume cs:code
code segement
start:mov ax...
转移指令可以修改CS和IP的指令统称转移指令,通过转移指令可以控制CPU执行内存中的某处代码的指令。
jmp ax;只修改IP,称为段内转移,段内转移又分为短转移(IP修改范围-128~127)和近转移(-32768~32767)
jmp 1000:0 ;同时修改CS和IP,称为段间转移
转移指令分类:
1,无条件转移指令(jmp)
2,条件转移指令
3,循环指令(loop)
4,过程
5,中断
9.1 操作符offset——用来取得标号的偏移地址
assume cs:code
code segement
start:mov ax...
阅读全文 |
评论次数(0) |
浏览次数(664) |
所属类型(学习笔记)
[2009-08-07 15:52] (转)C运算符优先级
C语言的操作符共有15个优先级,如下:
() [] -> . left to right
! ~ ++ -- +(正号) -(负号) *(指针取值符) (type) sizeof right to left
* / % left t...
() [] -> . left to right
! ~ ++ -- +(正号) -(负号) *(指针取值符) (type) sizeof right to left
* / % left t...
阅读全文 |
评论次数(0) |
浏览次数(504) |
所属类型(学习笔记)
[2009-08-07 14:52] 汇编语言的段机制
assume cs:code,ds:data
data segment
dw 0,0
data ends
code segment
mov ax,data
mov bx,code
mov ax,4c00h
int 21H
code ends
end
debug如下
-r
AX=0000 BX=0000 CX=001B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=1435 ES=1435 SS=1445 CS=1445 IP=0000 NV UP EI PL NZ NA PO...
data segment
dw 0,0
data ends
code segment
mov ax,data
mov bx,code
mov ax,4c00h
int 21H
code ends
end
debug如下
-r
AX=0000 BX=0000 CX=001B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=1435 ES=1435 SS=1445 CS=1445 IP=0000 NV UP EI PL NZ NA PO...
阅读全文 |
评论次数(3) |
浏览次数(830) |
所属类型(学习笔记)
页码数(1):
1