福州英文网站建设,网络营销的方法有哪些,作文大全网站,湛江定制建站企业网站Algorithm
题目#xff1a;链表中环的检测 自己的分析见博客《检测链表中是否存在环》
Review
disassemble command是我读的一篇英语文章#xff0c;这篇文章主要是介绍gdb反汇编命令的使用和参数。自己为了能够演示这篇文章里边的内容#xff0c;特意自己使用汇编语言编…Algorithm
题目链表中环的检测 自己的分析见博客《检测链表中是否存在环》
Review
disassemble command是我读的一篇英语文章这篇文章主要是介绍gdb反汇编命令的使用和参数。自己为了能够演示这篇文章里边的内容特意自己使用汇编语言编写代码然后写了一篇博客。
我这里使用下边的汇编代码进行演示
# 文件名称twoNumberPlus.s
.type twoNumberPlus, function
.section .dataintFormatShow:.ascii %d\n\0.global main.section .textmain:pushq %rbpmovq %rsp,%rbpmovq $2,%rdimovq $3,%rsicall twoNumberPlusmovq %rax,%rsimovq $intFormatShow,%rdimovq $0,%raxcall printfmovq $60,%raxmovq $0,%rdimovq %rbp,%rsppopq %rbpsyscalltwoNumberPlus:pushq %rbpmovq %rsp,%rbpaddq %rdi,%rsimovq %rsi,%raxmovq %rbp,%rsppopq %rbpretgcc -g twoNumberPlus.s -static -o twoNumberPlus带有调试信息地进行编译。 gdb -q twoNumberPlus使用安静模式开始调试。 list可以看一下第1行到第10行代码。
break 10可以在第10行代码处设置上断点run可以让gdb开始运行程序disassemble可以查看当前运行的函数。
disassemble twoNumberPlus可以看一下twoNumberPlus函数的汇编代码。
disassemble 0x0000000000401095可以看一下0x0000000000401095地址所在的函数汇编代码。
disassemble 0x000000000040108e,0x0000000000401095只显示0x000000000040108e到0x0000000000401095之间的汇编代码注意不包括0x0000000000401095。
disassemble twoNumberPlus,4反汇编函数twoNumberPlus和它加4地址之间的代码不包括twoNumberPlus4的代码。
disassemble 0x000000000040108e,9反汇编0x000000000040108e到0x000000000040108e9的地址之间代码不包括0x000000000040108e9的代码。
disassemble /m twoNumberPlus把 twoNumberPlus函数反汇编出来也把对应的行数显示出来。
disassemble /r twoNumberPlus把机器码也反汇编出来。
Technique/Tip
我最近在学习汇编语言感觉自己的技术基础有些差希望程序员朋友还是要把底层知识好好学习一下争取都能掌握让我们的技术生命周期更长一些。另外还需把自己的涉及面提升一下我的意思就是大家的技术既要深也要博当然还是要把握两者的平衡点毕竟一个人的精力有限。这里推荐给大家几本汇编书籍。 intel汇编风格64位 Beginning x64 Assembly Programming From Novice to AVX Professional中文版《x64汇编语言从新手到AVX专家》 Low-Level Programming C, Assembly ATT汇编风格64位 Learn to Program with Assembly Foundational Learning for New Programmers Share
分享自己对《认知天性》的一些总结。 学习的本质是打造心智模型将知识条件反射式使用就是在遇到问题时能够毫不费力地迅速对问题做出反应。 学习的三步骤编码、巩固和检索 编码将材料记到大脑里面形成短期记忆 巩固将短期记忆变成长期记忆 检索将知识从记忆中提取到意识中解决实际问题 学习的提升需要通过合意困难来完成合意困难有三个要素 1.有相应的已知做基础 2.能够触发巩固和检索 3.对学习有正面促进作用 学习的八种方法 1.从记忆中检索新学习的内容,是学习的最好方法。 2.间隔地安排检索练习需要注意检索知识的时间间隔在《认知天性》里边只说根据不同的材料选择不同的间隔时间。根据《考试脑科学》中的说法在学习之后的一个月内一定要复习一次否则可能就是重新学习了。 3.穿插学习各种问题类型 4.细化为新材料寻找不同层次的意义比如将刚学习的内容跟已经学习到的知识进行关联。 5.生成在看到解决方法之前需要自己努力回答问题或者解决难题。 6.反思将检索和细化进行结合回顾一下以前学习的知识看一下自己什么地方做得好什么地方做得不好。 7.校准 使用客观评价工具来清除你已经掌握的知识错觉调整你的认识来更好地反映现实。 8.助记使用谐音或者顺口溜或者概括进行记忆。