呵呵,我把书上的全改成这样子,自己熟悉些。测试了边界值 没问题
int getlist(linklist la,int i){ linklist p=la->next;int j=1; while (p->next!=0 && j<i) { p=p->next; j++; } if (p!=0 && j==i) { return p->data; } else return 0;}int insertlist(linklist la,int i,...
p=la;//la 为头结点的指针i=0;//位序 while (p->next!=null) { p=p->next,i++;}
p->next!=null或p=null的相同点:都可用来判断是否为 空表 或 表尾区别:p->next!=null,i∈[0,n] p!=null i∈[0,n+1]
lahf: 把eflag的低字节拷贝到ah,sahf相反xchg 交换指令
交换val1和val2的值:mov ax,val1xchg val2,axmov val1,ax
***************************************************************************cpu执行减法的时候是对减数求补在相加
判断溢出:2个整数相加得负数2个负数相加的整数结论:用位6xor位7的进位值设置of
算术指令:inc,dec不设置cfadd,sub,neg取反,adc,sbb设置cf,of,zf,pf,sf
offse...
标号:为当前语句的偏移地址
$:求当前语句的偏移地址,与offset,lea类似
定义符号常量有3种操作符:
1.= 整数表达式,可重复定义
2.equ 数字表达式,或文本(equ <"...">)
3.textequ