jmp指令

jmp指令为无条件转移指令,可以只修改IP,也可以同时修改CS和IP

jmp指令的主要应用格式:

1
2
3
4
5
只改变IP————段内转移
jmp short 标号(转到标号处执行指令)——短转移,8位位移
jmp near ptr 标号 ——近转移,16位位移
jmp 16位reg
jmp word ptr 内存单元地址
1
2
3
同时改变CS和IP————段间转移
jmp far ptr 标号 ——远转移
jmp dword ptr 内存单元地址

call指令

CPU执行call指令时,进行两步操作:

  1. 将当前的IP或CS和IP压入栈中;
  2. 转移。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
只改变IP————段内转移

call 标号(将当前的IP压入栈后,转到标号处执行指令)
相当于操作:
push IP
jmp near ptr 标号

call 16位reg
相当于操作:
push IP
jmp 16位reg

call word ptr 内存地址单元
相当于操作:
push IP
jmp word ptr 内存地址单元

1
2
3
4
5
6
7
8
9
10
11
12
13
同时改变CS和IP————段间转移

call far ptr 标号
相当于操作:
push CS
push IP
jmp far ptr 标号

call dword ptr 内存单元地址
相当于操作:
push CS
push IP
jmp dword ptr 内存单元地址

ret指令

ret指令调用栈中的数据,修改IP的内容,从而实现近转移;

retf指令调用栈中的数据,修改CS和IP的内容,从而实现远转移。

ret指令

相当于操作:pop IP

retf指令

相当于操作:pop IP pop CS

Python安装虚拟环境

1.安装virtualenv包

1
2
pip install virtualenv  
version==20.0.31

2.创建放置虚拟环境的文件夹Python_virtual_environment

image-20211114164151926.png

3.创建虚拟环境

进入到上面的文件夹下,进入cmd命令框执行以下命令

1
2
3
python -m virtualenv “项目名”
#例如
python -m virtualenv demo

image-20211114164255605.png

4.激活虚拟环境

1
2
3
>>cd demo/Scripts

>>activate

5.退出虚拟环境

1
>>deactivate.bat

pip临时源

1
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple “包的名称”

新的开始

总算是熬过了期末考试,大学4年的时间也走了3/4了,终于不用再卷学校的考试啦!!!开心!!!

阅读全文 »

我的第一篇博客

自从大二上学期无意间听了一个学长的一句话,搭一个专属于自己的博客这个想法就一直存在脑海中,拖拖拉拉了一年多,总算是初步搭起了一个简陋的静态博客。在跟着教程搭的过程中,也是再一次的发现了自己的一个缺点,总是看的太多,想的太多,做的太少,不敢去尝试,总想把所有错误都考虑到,总想每个地方都一步到位的做到最优。也正是这种想法,当我在看到不少教程时,阻碍了我的尝试。也算是对自己的一个小反省吧,希望自己以后回过头来再看到这篇文章的时候,能够对比以前的自己,发现自己成长了。