3.汇编语言debug 段等

一:debug

1.R命令查看寄存器内容 R 寄存器名可以改变寄存器内容3.汇编语言debug 段等
2.D命令查看内存的内容
D回车:预设地址内存处的128个字节内容
D 段地址:偏移地址 列出内存中指定地址处的内容(根据上文我们知道段地址:偏移地址可以给出确切的物理位置)
D 段地址:偏移地址 结尾偏移地址 列出内存中指定地址范围内的内容(图中2000:0000 f f为16相当于范围为16)

3.汇编语言debug 段等3.E命令改变内存中的内容
方式一:E 段地址:偏移地址 数据1 数据2
3.汇编语言debug 段等
方式二:E 段地址:偏移地址 逐个更改3.汇编语言debug 段等
4.U命令将内存中的机器指令翻译成汇编指令
3.汇编语言debug 段等
5.E写入机器指令,D查看,U可以看到该机器指令和汇编指令
3.汇编语言debug 段等
6.A命令以汇编指令的格式在内存中写入机器指令
073F:100 就是CS:IP(段地址:偏移地址)

3.汇编语言debug 段等
我们可以看到用a命令输入汇编会翻译成机器指令
3.汇编语言debug 段等
7.T命令执行CS:IP处的机器指令
R命令查看当下在073f:100下的指令 MOV AX,0123
3.汇编语言debug 段等
T命令来看CS:IP的机器指令,不断T查看并可清纯看到每条指令执行后的结果
3.汇编语言debug 段等

二:CS IP和代码段

(1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
(2)IP=IP+所读取指令的长度,从而指向下一条指令;
(3)执行指令。转到步骤1,重复这个过程。
3.汇编语言debug 段等

3.汇编语言debug 段等
在debug中测试写入指令后看变化
3.汇编语言debug 段等
3.汇编语言debug 段等

三:jmp跳转指令

3.汇编语言debug 段等
跳转指令如下图所示,相应debug测试输入指令后T看内存即可
3.汇编语言debug 段等

四:字和字单元

3.汇编语言debug 段等
3.汇编语言debug 段等

五:用DS和address实现字的传送,DS与数据段

ds就是段寄存器,段地址放在段寄存器里, [address]表示一个偏移地址为address的内存单元3.汇编语言debug 段等3.汇编语言debug 段等

六:栈

push ax:将ax中的数据送入栈
pop ax:从栈顶取出数据送入ax

3.汇编语言debug 段等
3.汇编语言debug 段等

七:总结

3.汇编语言debug 段等