上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页
摘要: 汇编语言中的函数和栈帧技术,通过设置栈帧基址便于访问局部变量和参数。函数定义、标准调用约定(如cdecl和stdcall)是实现函数间参数传递和返回值处理的关键。 阅读全文
posted @ 2024-04-12 22:00 pDJJq 阅读(590) 评论(0) 推荐(0)
摘要: 介绍了汇编语言中的宏,包括单行宏和多行宏的定义和使用方式。单行宏可简化代码,例如将寄存器内容乘以4;多行宏可以包含不同数量的行,通过% 阅读全文
posted @ 2024-04-12 21:59 pDJJq 阅读(470) 评论(0) 推荐(0)
摘要: 本文介绍了程序栈的基本概念和操作,包括入栈(push)和出栈(pop)操作。讨论了栈在计算机内存中的实现、rsp寄存器指向堆栈顶部、堆与栈的布局关系等原理,并提供了一个简单的反转数组的示例程序。 阅读全文
posted @ 2024-04-12 12:02 pDJJq 阅读(85) 评论(0) 推荐(0)
摘要: 汇编语言简易教程(8):寻址模式 寻址模式是使用正在访问(读取或写入)的数据项的地址来访问内存中的值的受支持方法。这可能包括变量的名称或数组中的位置。 基本的寻址模式包含: 寄存器 立即数 内存 寻址注意事项 使用[] 需要注意: 访问内存的唯一方法是使用方括号([]'s)。省略括号将不会访问内存, 阅读全文
posted @ 2024-04-12 12:00 pDJJq 阅读(74) 评论(0) 推荐(0)
摘要: 本文介绍了汇编语言中的移动指令和转换操作。通过mov指令可以在寄存器和内存之间传递数据,同时讨论了缩小和扩大转换的过程,包括有符号和无符号转换。程序员需要谨慎处理数据大小和类型,以确保正确执行。 阅读全文
posted @ 2024-04-11 01:37 pDJJq 阅读(312) 评论(0) 推荐(0)
摘要: 汇编语言简易教程(6):工具链以及调试器 通常,用于创建程序的编程工具集称为工具链。 就本文而言,工具链包括以下内容 汇编器 Assembler​ 连接器 Linker​ 加载器 Loader​ 调试器 Debugger 虽然工具链有很多选项,但本文使用了一组相当标准的开源工具,这些工具可以很好地协 阅读全文
posted @ 2024-04-10 12:03 pDJJq 阅读(428) 评论(0) 推荐(0)
摘要: 汇编语言简易教程(5):环境构建 最近在学习assembly64 时, 需要对程序进行编写 -> 生成汇编代码 -> 调试 -> 执行. 本文聚焦于如果在Windows环境下, 尽可能精简并且完整的构建一个汇编环境. 基于 Windows11, WSL Ubuntu22.04, vscode, 其他 阅读全文
posted @ 2024-04-10 12:02 pDJJq 阅读(296) 评论(0) 推荐(0)
摘要: 汇编语言简易教程(4):基本语法 以yasm语法为主 注释 ​;​ 分号之后的所有内容全都是注释, 没有实际作用. 数值 数值必须是 10进制 / 16进制 / 八进制 最终都会被转为16进制的数字, 以0x​开头, 例如 127​ ->0x7f​ 当使用8进制的时候: 511​ -> 777q​ 阅读全文
posted @ 2024-04-10 12:01 pDJJq 阅读(140) 评论(0) 推荐(0)
摘要: 汇编语言简易教程(3):编码表示 '表示'指的是计算机如何在内存中表示/存储. 计算机使用二进制 ( 1/0 )进行存储, 但是由于空间的限制, 任何表示方式只能表达一定范围, 一定精度的数据. 本章简要总结了整数、浮点和 ASCII 表示方案。 假设读者已经普遍熟悉二进制、十进制和十六进制编号系统 阅读全文
posted @ 2024-04-10 12:01 pDJJq 阅读(49) 评论(0) 推荐(0)
摘要: 汇编语言简易教程(2): 计算机体系概览 架构 ​​ CPU RAM BUS DEVICE Secondary Storage (SSD / Disk Drive) 通常来说程序被存储在硬盘中, 在实际需要运行时从硬盘加载到内存. 主存通常来说是易失性存储, 所以在断电时, 存储内容会丢失. 二级内 阅读全文
posted @ 2024-04-10 12:00 pDJJq 阅读(33) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页