![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言汇编学习笔记
无关8688
天若有情天易老,人间正道是沧桑!
展开
-
进制转换例题
编写一个 to_base_n() 函数,接受两个参数,且第二个参数在 2 ~ 10 范围内,然后以第二个参数中指定的进制打印第一个参数的数值。例如,to_base_n(129, 8) 显示结果 201,也就是 129 的八进制数。在一个完整的程序中测试该函数。 #include <stdio.h> void to_base_n(unsigned long n, unsigned short t); /* 进制转换,待转换数类型是正整数,因此使用无符号类型标识。*/ int main(void)原创 2021-10-26 21:47:14 · 418 阅读 · 0 评论 -
递归法求斐波那契数
#include<stdio.h> int fbnq(int n); int main() { int n; printf("请输入一个整数表示你想要第几个斐波那契数:"); scanf("%d",&n); fbnq(n); int f_b; f_b=fbnq(n); printf("第%d个斐波那契数是 %d \n",n,f_b); return 0; } int fbnq(int n) { if(n==1||n==2) return 1; else{ ret原创 2021-10-14 22:36:29 · 71 阅读 · 0 评论 -
递归问题实例
/*猴子吃桃 一只猴子第一天有一些桃子,第二天吃掉一半,不够吃又多吃一个,第三天也是吃剩下的一半多一个,到第十天还剩下一个,问第一天有多少桃子; */ //递归法 #include<stdio.h> int function(int n); int main(){ int n=1; int num; num=function(n); printf("the first day had %d peach\n",num); return 0; } int function(int n){原创 2021-10-14 22:20:16 · 59 阅读 · 0 评论 -
用一维数组解决杨辉三角
//用一维数组解决杨辉三角 #include<stdio.h> #include<string.h> int main(){ int a[8]; int i=0; int j; a[0]=1; printf("%d\n",a[0]); a[1]=1; printf("%d %d\n",a[0],a[1]); for(i=3;i<=8;i++){ a[0]=a[i-1]=1; for(j=i-2;j>=1;j--){ a[j]=a[j]+a[原创 2021-10-14 22:09:56 · 128 阅读 · 0 评论 -
求解方程根
//牛顿法求解方程根 #include<stdio.h> #include<math.h> float function1(float x); float function2(float x); int main()//主函数 { float x0=4; float x1; float a,b; do{ x0=x1; a=function1(x0); b=function2(x0); x1=x0-a/b; printf("%f,%f\n",x0,x1); }wh原创 2021-10-14 22:07:10 · 82 阅读 · 0 评论 -
csapp汇编之指令操作数
操作数指示符 第一种就是立即数。 第二种是寄存器。 第三种是通过寄存器,立即数来读内存。 类型 格式 操作数值 名称 立即数 $Imm Imm 立即数寻址 寄存器 rar_{a}ra R[rar_{a}ra] 寄存器寻址 存储器 Imm M[Imm] 绝对寻址 存储器 (rar_{a}ra) M[R[rar_{a}ra]] 间接寻址 存储器 Imm(rbr_{b}rb) M[Imm+R[rbr_{b}rb]] (基址+偏移量)寻址 存储器 (rbr_{b}r原创 2021-08-30 23:06:45 · 653 阅读 · 0 评论 -
csapp之寄存器理解
x86-64寄存器 一个x86-64的中央处理单元(CPU)包含一组16个储64位值的通用目的寄存器。 这些寄存器用来存储整数数据和指针图3-2显示了这16个寄存器。它们的名字都以 %r 开头,不过后面还跟着一些不同的命名规则的名字,这是由于指令集历史演化造成的。最 初的8086中有8个16位的寄存器,即图3-2中%ax到%bp。每个寄存器都有特殊的用 途,它们的名字就反映了这些不同的用途。扩展到IA32架构时;这些寄存器也扩展成32 位寄存器,标号从%eax到%ebp。扩展到x86-64后,原来的原创 2021-08-30 11:41:01 · 877 阅读 · 0 评论 -
数据类型说明
c语言之数据格式 intel用术语“字(word)”表示16位数据类型。因此称32位数为“双字(double word)”,称64位数为“四字(quad word)”。下表给出的是x86-64表示的c语言基本的数据类型。标准的int值存储为双字(32位)。指针(在此用char * 表示)存储为八字节的四字。 c声明 Intel数据类型 汇编代码后缀 大小(字节) char 字节 b 1 short 字 w 2 int 双字 l 4 long 四字 q 8 char * 四字原创 2021-08-30 11:03:32 · 1102 阅读 · 0 评论