实验8 分析一个奇怪的程序
2017-09-09 21:25
274 查看
仔细阅读9.3节依据位移进行转移的jmp指令,然后理解下面的这个很奇怪的程序就容易多了,当然要看着机器码去分析。
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], ax
s0: jmp short s
s1: mov ax, 0
int 21h
mov ax, 0
s2: jmp short s1
nop
codesg ends
end start为便于分析代码,下面列出其机器码:
分析:
0A-14行:把s2一行的机器码复制到s处;
16行:ip跳到8,此时机器码是:EBF6,F6就是-0Ah,也就是十进制的-10,也就是说要执行此行代码,ip要向前移动10个位置,此时ip是A,所以跳到第一行代码上,因此本段代码能够顺利返回。
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], ax
s0: jmp short s
s1: mov ax, 0
int 21h
mov ax, 0
s2: jmp short s1
nop
codesg ends
end start为便于分析代码,下面列出其机器码:
分析:
0A-14行:把s2一行的机器码复制到s处;
16行:ip跳到8,此时机器码是:EBF6,F6就是-0Ah,也就是十进制的-10,也就是说要执行此行代码,ip要向前移动10个位置,此时ip是A,所以跳到第一行代码上,因此本段代码能够顺利返回。
相关文章推荐
- 汇编语言(王爽)》(第九章、实验8分析一个奇怪的程序)学习笔记
- 小结:实验8 分析一个奇怪的程序
- 王爽实验8 分析一个奇怪的程序
- 汇编实验八:分析一个奇怪的程序
- 王爽《汇编语言》第9章 实验8 分析一个奇怪的程序
- 王爽《汇编语言》实验8 分析一个奇怪的程序
- 汇编语言---王爽--实验8-分析一个奇怪的程序
- 汇编语言:实验8分析一个奇怪的程序
- <<汇编语言>>---王爽 (实验 8)分析一个奇怪的程序
- 关于王爽老师实验实验八 (分析一个奇怪的程序)之个人解析
- 编译原理实验一:为PL/0语言编写一个词法分析程序
- 王爽《汇编语言》实验8:分析一个奇怪的程序
- Linux内核分析:实验七--Linux内核如何装载和启动一个可执行程序
- ;分析一个奇怪的程序 jmp short s
- Linux内核分析实验1——汇编一个简单的C程序
- 实验四递归下降语法分析程序设计
- Linux内核分析一:反汇编一个简单的C程序
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- Ex32.java 题目:取一个整数a从右端开始的4~7位。 程序分析:可以这样考虑:
- 用C语言写的一个物理实验数据处理程序