04 2024 档案

摘要:汇编语言简易教程(15):End 写到这里, 就告一段落了. 前面的内容写起来还是比较认真的, 到后面的系统调用, 栈缓存, 中断 这些内容已经快要昏迷过去了 但是我认为这篇教程能够达到预期的目标: 对于汇编代码的基本阅读 了解汇编的基本机制 我强烈建议各位有时间能够去阅读原书, 难易适中, 非常适 阅读全文
posted @ 2024-04-14 14:19 pDJJq 阅读(16) 评论(0) 推荐(0) 编辑
摘要:本文介绍了计算机中断的概念及处理过程,包括异步和同步中断、硬件和软件中断等内容。讨论了中断类型和权限等级,以及中断处理的一般步骤,包括暂停当前进程、获取ISR地址等。重点强调了中断服务例程(ISR)的重要性和处理中断时需注意的事项。 阅读全文
posted @ 2024-04-14 14:18 pDJJq 阅读(89) 评论(0) 推荐(0) 编辑
摘要:栈缓存溢出是指当程序使用基于堆栈的本地数组时,如果数组元素超出分配大小,可能导致堆栈溢出。溢出会破坏重要数据,可能使程序崩溃,调试困难。示例中的函数读取用户输入到数组,若未检查字符计数,覆写缓冲区将损害栈内容,导致返回错误。测试漏洞方法是输入超出预期字符,如输入200个字符后程序崩溃。 阅读全文
posted @ 2024-04-14 14:16 pDJJq 阅读(52) 评论(0) 推荐(0) 编辑
摘要:汇编语言简易教程(12):系统服务 应用程序必须使用操作系统执行许多操作。 此类操作包括控制台输出、键盘输入、文件服务(打开、读取、写入、关闭等)、获取时间或日期、请求内存分配等 访问系统服务是应用程序请求操作系统执行某些特定操作(代表进程)的方式。 更具体地说,系统调用是执行进程和操作系统之间的接 阅读全文
posted @ 2024-04-13 17:41 pDJJq 阅读(32) 评论(0) 推荐(0) 编辑
摘要:MySQL事务状态判断 前置 MySQL的默认隔离级别是: 可重复读(REPEATABLE READ) 可重复读隔离级别下,事务中的SELECT操作会看到快照数据,也就是事务开始时刻的数据状态。此隔离级别可以防止脏读和不可重复读,但可能会有幻读的问题出现。 问题描述 表结构 create table 阅读全文
posted @ 2024-04-12 22:38 pDJJq 阅读(13) 评论(0) 推荐(0) 编辑
摘要:汇编语言中的函数和栈帧技术,通过设置栈帧基址便于访问局部变量和参数。函数定义、标准调用约定(如cdecl和stdcall)是实现函数间参数传递和返回值处理的关键。 阅读全文
posted @ 2024-04-12 22:00 pDJJq 阅读(240) 评论(0) 推荐(0) 编辑
摘要:介绍了汇编语言中的宏,包括单行宏和多行宏的定义和使用方式。单行宏可简化代码,例如将寄存器内容乘以4;多行宏可以包含不同数量的行,通过% 阅读全文
posted @ 2024-04-12 21:59 pDJJq 阅读(171) 评论(0) 推荐(0) 编辑
摘要:本文介绍了程序栈的基本概念和操作,包括入栈(push)和出栈(pop)操作。讨论了栈在计算机内存中的实现、rsp寄存器指向堆栈顶部、堆与栈的布局关系等原理,并提供了一个简单的反转数组的示例程序。 阅读全文
posted @ 2024-04-12 12:02 pDJJq 阅读(49) 评论(0) 推荐(0) 编辑
摘要:汇编语言简易教程(8):寻址模式 寻址模式是使用正在访问(读取或写入)的数据项的地址来访问内存中的值的受支持方法。这可能包括变量的名称或数组中的位置。 基本的寻址模式包含: 寄存器 立即数 内存 寻址注意事项 使用[] 需要注意: 访问内存的唯一方法是使用方括号([]'s)。省略括号将不会访问内存, 阅读全文
posted @ 2024-04-12 12:00 pDJJq 阅读(32) 评论(0) 推荐(0) 编辑
摘要:本文介绍了汇编语言中的移动指令和转换操作。通过mov指令可以在寄存器和内存之间传递数据,同时讨论了缩小和扩大转换的过程,包括有符号和无符号转换。程序员需要谨慎处理数据大小和类型,以确保正确执行。 阅读全文
posted @ 2024-04-11 01:37 pDJJq 阅读(37) 评论(0) 推荐(0) 编辑
摘要:汇编语言简易教程(6):工具链以及调试器 通常,用于创建程序的编程工具集称为工具链。 就本文而言,工具链包括以下内容 汇编器 Assembler​ 连接器 Linker​ 加载器 Loader​ 调试器 Debugger 虽然工具链有很多选项,但本文使用了一组相当标准的开源工具,这些工具可以很好地协 阅读全文
posted @ 2024-04-10 12:03 pDJJq 阅读(119) 评论(0) 推荐(0) 编辑
摘要:汇编语言简易教程(5):环境构建 最近在学习assembly64 时, 需要对程序进行编写 -> 生成汇编代码 -> 调试 -> 执行. 本文聚焦于如果在Windows环境下, 尽可能精简并且完整的构建一个汇编环境. 基于 Windows11, WSL Ubuntu22.04, vscode, 其他 阅读全文
posted @ 2024-04-10 12:02 pDJJq 阅读(26) 评论(0) 推荐(0) 编辑
摘要:汇编语言简易教程(4):基本语法 以yasm语法为主 注释 ​;​ 分号之后的所有内容全都是注释, 没有实际作用. 数值 数值必须是 10进制 / 16进制 / 八进制 最终都会被转为16进制的数字, 以0x​开头, 例如 127​ ->0x7f​ 当使用8进制的时候: 511​ -> 777q​ 阅读全文
posted @ 2024-04-10 12:01 pDJJq 阅读(57) 评论(0) 推荐(0) 编辑
摘要:汇编语言简易教程(3):编码表示 '表示'指的是计算机如何在内存中表示/存储. 计算机使用二进制 ( 1/0 )进行存储, 但是由于空间的限制, 任何表示方式只能表达一定范围, 一定精度的数据. 本章简要总结了整数、浮点和 ASCII 表示方案。 假设读者已经普遍熟悉二进制、十进制和十六进制编号系统 阅读全文
posted @ 2024-04-10 12:01 pDJJq 阅读(25) 评论(0) 推荐(0) 编辑
摘要:汇编语言简易教程(2): 计算机体系概览 架构 ​​ CPU RAM BUS DEVICE Secondary Storage (SSD / Disk Drive) 通常来说程序被存储在硬盘中, 在实际需要运行时从硬盘加载到内存. 主存通常来说是易失性存储, 所以在断电时, 存储内容会丢失. 二级内 阅读全文
posted @ 2024-04-10 12:00 pDJJq 阅读(19) 评论(0) 推荐(0) 编辑
摘要:本文介绍了汇编语言的定义、学习目的和使用场景,包括理解计算机底层运行逻辑、使用汇编工具链、提高算法开发能力、函数栈帧调用等。 阅读全文
posted @ 2024-04-10 11:59 pDJJq 阅读(47) 评论(0) 推荐(0) 编辑
摘要:Windows系统下汇编环境的搭建 最近在学习assembly64 时, 需要对程序进行编写 -> 生成汇编代码 -> 调试 -> 执行. 本文聚焦于如果在Windows环境下, 尽可能精简并且完整的构建一个汇编环境. 基于 Windows11, WSL Ubuntu22.04, vscode, 其 阅读全文
posted @ 2024-04-09 17:55 pDJJq 阅读(133) 评论(0) 推荐(0) 编辑
摘要:介绍了在Windows 11下更好用的截图工具PixPin和FlameShot,以及禁用Snipping Tool的方法。通过安装PixPin或FlameShot替代原生截图工具,同时关闭PrtScr映射、修改注册表和策略组来禁用Snipping Tool。提供了详细步骤和验证方法。 阅读全文
posted @ 2024-04-03 13:26 pDJJq 阅读(392) 评论(0) 推荐(0) 编辑
摘要:常见的Hash函数包括crc、md5、sha等,在字符串长度较小时性能相近,推荐使用内置的crc。对于文件摘要需求,建议选择非可逆Hash函数以确保安全性。 阅读全文
posted @ 2024-04-02 19:09 pDJJq 阅读(160) 评论(0) 推荐(0) 编辑
摘要:Sync.Pool提供了对象池的功能,通过复用对象减少内存分配和垃圾回收压力。 Pool结构包含local数组存储P对应的本地对象池,New函数生成对象。 poolLocal与每个P绑定,private用于快速处理,shared作为大容量存储和窃取。Put方法将对象放回池中。 阅读全文
posted @ 2024-04-01 02:09 pDJJq 阅读(49) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示