码迷,mamicode.com
首页 > 其他好文 > 详细

王爽汇编实验(八)

时间:2019-11-23 09:23:21      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:运行   mamicode   分配   end   执行   inf   masm   alt   asm   

分析下面的程序,在运行前思考:这个程序可以正确返回吗?

运行后再思考:为什么时这种结果?

通过这个程序加深对相关内容的额理解。

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

初看时到s1,然后是返回中止?

不多说,运行分析

技术图片

是从start开始的指令,与想法没错,end start告诉了masm那里是入口

技术图片

 

技术图片

JMP 0008是S的标号地址,后来JMP 0000 这样一来发现了原本的IP是0005,是前面两个返回语句,是直接略过的

 

技术图片

jmp 0008下一条是jmp0000,nop执行后分配90H机器码空间,跳转到codesg 结束

 

王爽汇编实验(八)

标签:运行   mamicode   分配   end   执行   inf   masm   alt   asm   

原文地址:https://www.cnblogs.com/otakus/p/11878693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!