虚拟机 win7-x86
有关虚拟机安装win7的操作可以借鉴大佬网站步骤:
https://blog.csdn.net/weixin_43465312/article/details/92662519?
win10将debug命令移除
进入方法:win+r --> cmd --> debug 进入如下界面:
debug中操作字符的重点介绍:
-r cs 可以修改cs寄存器内容(段寄存器不能直接赋值需要借由通用计算器作为中介进行数据的录入)
-r ip 可以修改ip寄存器中的内容
-d 段寄存地址:偏移地址 可以查看改地址及其后几位地址的机器码
-u 段寄存地址:偏移地址 可以查看汇编指令
-a 段寄存地址:偏移地址 可以在指定地址出输入命令指令进行操作
-t 对上一r的最后一行的指令进行编译
栈:LIFO(后进先出)
cpu中有两个有关栈的寄存器:ss(段寄存器)、sp(寄存器“偏移”)。
任意时刻,ss:sp都指向栈顶元素。
(1) 在ss,sp中存放站定的段地址和偏移地址,提供入栈指令和出栈指令,他们根据ss:sp只是的地址,按照栈的方式访问内存单元。
(2) push指令:sp=sp-2;
向ss:sp只想的子单元中送入数据
(3) pop指令:从ss:sp指向的子单元中读取数据
sp=sp+2
栈:
1000H |
1001H |
1002H |
1003H |
1004H |
向1000H中输入数据并设置空栈:
mov ax,1000H
mov ss,ax
mov sp,2
push ax