汇编语言分析与设计
文章平均质量分 94
汇编之下无秘密
weixin_43773869
喜欢嵌入式技术的发烧友,对技术有着执着追求。
展开
-
汇编语言概论
为什么写这篇文章,我想还是要说一说的,俗话说好记性不如烂笔头,作为一个嵌入式行业开发者,汇编不可谓不重要,不管是大学的基于x86架构程序设计还是工作后的基于ARM的嵌入式软件设计,汇编都扮演了及其重要的重要,而且汇编可以说是最底层的语言,为什么?在这里编程最重要的是稳定,因此程序用汇编编写,另外就是速度,这个速度是程序运行的速度,要确保用最少的指令完成最好的工作,如果一个导弹程序在锁定目标后还有较大的延时这将是不可接受的,因为这个程序要精确的运行时间和实时性,这部分程序只能是由汇编语言设计。原创 2023-10-12 22:46:42 · 115 阅读 · 0 评论 -
x86汇编详解
首先指出x86指令集代表是32位下的x86机器架构简称,又称之为ia32。如无特殊说明,在本文中x86特指32位intel架构,而x86机器中64位机器则称之为x86_64,因此x86专门指代32位架构,因为x86是向后兼容的,包括对8086,80286,80386....等兼容。因为x86采用分段和分页单元进行寻址,所以x86地址寄存器有段寄存器和eip寄存器两部分共同构成,又能根据对段寄存器使用方法不同分为实模式和保护模式。原创 2023-10-22 21:04:10 · 1308 阅读 · 1 评论 -
x86和x86_64调用约定
首先介绍什么是调用约定,调用约定也称函数调用约定,是和体系结构,操作系统密切相关的一种约定,所以在此我们不能离开体系架构,因此在这里主要介绍在c语言环境下,x86中linux上的调用约定。在高级语言中我们会有函数,到了汇编中对应的就是过程,所以调用约定主要是解决三个问题1 ,参数以什么样的顺序被存储,是从左到右,还是从右到左?2,参数是存储在哪里,是在寄存器上还是在栈上?3,栈由谁来恢复?所以这篇文章主要解决这上面三个问题1.1调用约定分类。原创 2023-10-22 19:47:48 · 294 阅读 · 1 评论