汇编
文章平均质量分 90
shenmingik
于现在,对话未来
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
汇编——前置概念
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-09-14 20:43:55 · 786 阅读 · 0 评论 -
汇编 —— 访问程序信息(mov & push & pop)
文章目录数据传送指令 movmov后缀确定mov示例mov的数据扩展mov 练习题mov 练习题答案压入和弹出数据参考文献写在前面:从腾讯实习回来之后,就感觉到自己的知识体系过于散乱。于是萌生了写一个自己的操作系统这样的心思,此为系列第一章,主要是讲解一些汇编知识的,内容大多从CSAPP中也可以获得。本篇内容主要讲解汇编指令:mov数据传送指令 mov在汇编中最频繁使用的指令是将数据从一个位置复制到另一个位置的指令。操作数表示的通用性使得一条简单的数据传送指令能偶完成在许多机器中要好几条不同指令原创 2021-09-15 23:06:33 · 2726 阅读 · 1 评论 -
汇编 —— 算术和逻辑操作
文章目录加载有效地址leaq 练习题练习题答案一元操作符&二元操作符一元&二元 练习题练习题答案移位操作移位练习题练习题答案特殊的算数操作符练习题练习题答案参考文献写在前面:从腾讯实习回来之后,就感觉到自己的知识体系过于散乱。于是萌生了写一个自己的操作系统这样的心思,此为系列第一章,主要是讲解一些汇编知识的,内容大多从CSAPP中也可以获得。本篇内容主要讲解汇编指令:算数以及逻辑相关操作指令加载有效地址加载有效地址指令leaq实际上是movq指令的变形。 它的指令形式是从内存读取原创 2021-09-16 20:54:26 · 1964 阅读 · 1 评论 -
汇编 —— 控制指令
文章目录跳转指令直接跳转指令有条件跳转 if-else跳转指令 练习题练习题 答案条件指令条件码条件码的设置条件码访问条件码 练习题练习题答案条件控制指令条件控制指令 练习题练习题答案条件传送指令CPU流水线写在前面:从腾讯实习回来之后,就感觉到自己的知识体系过于散乱。于是萌生了写一个自己的操作系统这样的心思,此为系列第一章,主要是讲解一些汇编知识的,内容大多从CSAPP中也可以获得。本篇内容主要讲解汇编指令:跳转、条件以及循环指令跳转指令之前简单介绍了直线代码的指令情况。而jump指令可以改变原创 2021-09-18 19:29:53 · 2581 阅读 · 0 评论 -
汇编 —— 函数
文章目录函数内存管理 —— 栈传递控制练习题练习题答案写在前面:从腾讯实习回来之后,就感觉到自己的知识体系过于散乱。于是萌生了写一个自己的操作系统这样的心思,此为系列第一章,主要是讲解一些汇编知识的,内容大多从CSAPP中也可以获得。本篇内容主要讲解:函数的汇编级实现在正式讲栈之前,我想先大概讲讲在汇编级别机器是怎么支持函数的。要提供对函数的机器级别支持,必须要处理许多不同的属性。假设函数P调用函数Q,Q之后执行完毕返回P,这些动作细分如下:传递控制:在进入过程Q的时候,程序计数器需要被设置为原创 2021-09-22 15:59:01 · 1586 阅读 · 0 评论 -
汇编 —— 数组
文章目录基本原则指针运算练习题练习题答案嵌套数组练习题练习题答案参考文献基本原则对于数据类型T和整型常数N,声明如下即为数组:T a[N];起始位置表示为Xa,这个声明有两个效果:在内存中分配一个sizeof(T)*N字节的连续的区域引入标识符a,可以用a来作为指向数组开头的指针,这个指针的值就是Xa而在x86-64中的内存引用指令可以用来简化数组访问,比如说,E是一个int型的数组,而我们想要计算E[i],假设E的地址放在寄存器%rdx中,i 放在寄存器%rcx中,那么访问E[i]的汇原创 2021-09-22 17:00:45 · 3918 阅读 · 0 评论 -
汇编 —— 特殊数据结构
文章目录结构体练习题练习题答案联合体数据对齐参考文献写在前面:从腾讯实习回来之后,就感觉到自己的知识体系过于散乱。于是萌生了写一个自己的操作系统这样的心思,此为系列第一章,主要是讲解一些汇编知识的,内容大多从CSAPP中也可以获得。本篇内容主要讲解:结构体和联合体的汇编实现结构体C语言中用struct来声明一个结构体,将可能不同类型的对象聚合到一个对象指针,用名字来引用结构的各个组成部分。像数组一样,结构体的所有组成部分都存放在内存中一段连续的区域内,而指向结构的指针就是结构第一个字节的地址。原创 2021-09-24 20:45:19 · 643 阅读 · 0 评论 -
汇编 —— 混合编程与内联汇编
文章目录混合编程内联汇编扩展内联汇编写在前面:之前都是讲的汇编理论,今天将汇编应用在实战之中。主要有两种方式:混合编程和内联汇编。混合编程混合编程就是单独的汇编文件和单独的C语言文件分别编译成目标文件之后,一起链接成可执行文件。假设我们要写一个打印函数,既然是分别编译那么肯定是分两部分了。C语言部门相信大家都有基础,就不做多解释了,直接贴代码:extern void asm_print(char *, int);void c_print(char* str){ int len原创 2021-10-12 22:34:53 · 771 阅读 · 0 评论
分享