xjw666

2021年12月7日 #

Linux内核栈切换过程

摘要: 图为PCB的结构,内核栈位于PCB的高地址。内核栈详解如下: 1. 用户栈程序经0x80中断进入内核,将用户栈指针 pc指针等压栈 2. 调用sys_call,将一些现场信息压入栈 2. 进入reschedule,若引发调度则进入调度函数,否则进行ret,这里若引发调度也要先把ret函数地址压栈,保 阅读全文

posted @ 2021-12-07 08:44 xjw666 阅读(269) 评论(0) 推荐(0) 编辑

2021年12月6日 #

PCB结构

摘要: 阅读全文

posted @ 2021-12-06 15:29 xjw666 阅读(12) 评论(0) 推荐(0) 编辑

栈帧详解-转自知乎

摘要: 浅析函数调用的栈帧 新乐于心 温文尔雅的偏执狂 ​关注他 10 人赞同了该文章 ​ 目录 在x86的计算机系统中,内存空间中的栈主要用于保存函数的参数,返回值,返回地址,本地变量等。一切的函数调用都要将不同的数据、地址压入或者弹出栈。 什么是栈? 栈是一种LIFO(后进先出)可以想象下函数调用的时候 阅读全文

posted @ 2021-12-06 09:04 xjw666 阅读(1735) 评论(0) 推荐(0) 编辑

2021年10月23日 #

汇编call指令

摘要: call 标号 等价于 push ip jmp near ptr 标号 ip的变化是在读入当前指令以后就变化的,并非要等当前指令处理完再变化 call 内存单元等价于 push CS push IP jmp dword ptr内存单元地址 其中,jmp可看作是 阅读全文

posted @ 2021-10-23 17:42 xjw666 阅读(401) 评论(0) 推荐(0) 编辑

汇编ret指令

摘要: 可分为ret指令和retf指令,ret指令仅修改IP的内容,retf指令修改cs和ip,从而实现远转移。 ret指令从栈中弹出要修改的ip指令;retf指令先从栈中弹出ip,再从栈中弹出cs 阅读全文

posted @ 2021-10-23 17:25 xjw666 阅读(947) 评论(0) 推荐(0) 编辑

王爽 汇编语言 实验9

摘要: assume cs:code data segment db 'welcome to masm!' db 02h,24h,71h data ends #开辟空间用来放常量,包括要显示的字符串和颜色 stack segment db 16 dup(0) stack ends #开辟栈段 code se 阅读全文

posted @ 2021-10-23 16:56 xjw666 阅读(22) 评论(0) 推荐(0) 编辑

2021年10月8日 #

汇编学习-实验八分析一个奇怪的程序

摘要: 代码如下: assume cs:codesg codesg segment mov ax, 4c00H int 21H start: mov ax, 0 s: nop nop mov di, offset s mov si, offset s2 mov ax, cs:[si] mov cs:[di] 阅读全文

posted @ 2021-10-08 18:40 xjw666 阅读(73) 评论(0) 推荐(0) 编辑

2021年1月29日 #

蒙特卡洛树搜索

摘要: 算法思想转载自 https://zhuanlan.zhihu.com/p/25345778 C++实现代码 在github https://github.com/Xie-JunWei/MCTS-- 阅读全文

posted @ 2021-01-29 20:54 xjw666 阅读(118) 评论(0) 推荐(0) 编辑

2020年12月27日 #

两个已排列好的数组(从小到大)找出第k个大的数

摘要: 两个有序数组找到第k个大的元素,常用的方法有先把两个数组进行排序再求;双指针法以及类二分法,类二分法的时间消耗是最少的。 对于第三种方法,网上现在流行的解题说明如下: 存在的问题:如何保证每一个数组元素数目都是大于k/2的? 实际上,第一个数组中的的定位应该放min(k/2,len(array_1) 阅读全文

posted @ 2020-12-27 21:32 xjw666 阅读(386) 评论(0) 推荐(0) 编辑

2020年12月8日 #

visual studio2019查看C++类内存分布操作

摘要: vs6.0以后编译器支持查看类的内存分布,这对多重继承,虚基类继承的调试非常有用,本文介绍visual studio中查看内存分布的操作。 1. 在类实现文件右键点击属性 2. 选中命令行,在空白处输入/d1 reportAllClassLayout 点击确定 3. 将输出来源选为生成 4. 点击生 阅读全文

posted @ 2020-12-08 10:20 xjw666 阅读(995) 评论(0) 推荐(0) 编辑

导航