您的位置:首页 > 其它

汇编语言(王爽)》(第九章、实验8分析一个奇怪的程序)学习笔记

2010-07-08 11:17 716 查看
<加深转移指令原理的理解>

assume cs:codesg
codesg segment
mov ax,4c00h
int 21h
start:
mov ax,0
s: //cs:0008h
nop
nop
mov di,offset s
mov si,offset s2
mov ax,cs:[si]
mov cs:[di],ax
s0:
jmp short s
s1: //cs:0018h
mov ax,0
int 21h
mov ax,0
s2: //cs:0020h
jmp short s1
nop
codesg ends
end start

程序可以正确返回;第10到13行是将s2标号的机器码(如EBF6,F6:十进制表示-10)复制到s标号的两个字节中;

当转到s:处时,机器指令为EBF6(补码表示),当执行机器指令时,ip=0010h,则转移的标号地址为F6H+10H=0,即

翻译出的汇编指令为:jmp short 0000h;执行mov ax,4c00h,int 21h;程序即可正确返回;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: