摘要: 执行结果 &a[0]= 19392bf0&a[1]= 19392bf4&a[2]= 19392bf8&a[3]= 19392bfc&a[4]= 19392c00&a[5]= 19392c04&a[6]= 19392c08&a[7]= 19392c0c&a[8]= 19392c10&a[9]= 193 阅读全文
posted @ 2017-09-04 17:21 蜗牛码 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 生成的汇编如下 从以上得知,指针就是地址, *p 就是地址的中值。 阅读全文
posted @ 2017-09-04 17:04 蜗牛码 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 从上面的例子可以看出,变量值从低地址到高地址存放。 阅读全文
posted @ 2017-09-04 16:52 蜗牛码 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 栈的初始 压入栈 pushq s R[%rsp]= R[%rsp] -8 M[R[%rsp] ] = s 弹出栈 popq d d = M[R[%rsp] ] R[%rsp]= R[%rsp] +8 阅读全文
posted @ 2017-09-02 16:40 蜗牛码 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 我们都知道数据x ,y 的值交换,可以用到c 指针来实现,具体到汇编层面,是如何实现的呢。请看下面的例子:1、建立一个point.c 文件,来实现x 和y 值的交换。 vi point.c 2、编译为.o 文件#gcc -c point.c 3、汇编反编译成文本#objdump -d point.o 阅读全文
posted @ 2017-09-01 17:30 蜗牛码 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 移位操作有逻辑移位和算术移位 逻辑移位是不考虑符号位的移位,算术移位是考虑符号位的移位。 1、无符号移位 例如右移 unsigned char x = 0x80 二进制 表示是 1000 0000 ,十进制是128 右移动一位,低位补0 变为 0000 0000 ,十进制是 0 输出 00H 二进制 阅读全文
posted @ 2017-08-19 13:37 蜗牛码 阅读(1942) 评论(1) 推荐(0) 编辑
摘要: 最近在复习计算机基础知识,断断续续的记录在这里吧。 深入理解计算机系统是本好书,对底层的实现原理从程序员的角度进行的细致的讲解,不愧为经典,深得大家的喜爱。 其中CPU对于有符号,无符号转化以及位的扩展引起的溢出问题需要理解,并在写c的时候避免,有时候编译不报错, 但是却存在隐患。 1、无符号扩展直 阅读全文
posted @ 2017-08-19 12:50 蜗牛码 阅读(1184) 评论(0) 推荐(0) 编辑
摘要: 当你登录linux 系统时,bash shell 会作为登录shell 启动,登录shell 会从5个不同的启动文件里读取命令: 1. /etc/profile 是系统上默认的bash shell 的启动文件,每个用户登录都会执行这个文件。 下面是摘抄一部分内容 for i in /etc/prof 阅读全文
posted @ 2017-08-07 22:16 蜗牛码 阅读(342) 评论(0) 推荐(0) 编辑
摘要: docker 学习 阅读全文
posted @ 2017-07-31 18:34 蜗牛码 阅读(181) 评论(0) 推荐(0) 编辑
摘要: flashback 恢复数据准备工作:1.创建表空间 create tablespace zxq datafile 'd:\zxq.dbf' size 2m;2.创建用户 create user zxq identified by zxq default tablespace zxq ;3.创建测试 阅读全文
posted @ 2017-06-23 17:58 蜗牛码 阅读(276) 评论(0) 推荐(0) 编辑