自学汇编,讨论学习,不对之处请指出共同学习,不喜勿喷
程序1
若要使程序中的jmp指令执行后,CS:IP指向程序中的第一条指令,在data段中应该定义哪些数据
首先明白jmp word ptr [bx+1] 跳转到data段的第1位字节,jmp word 是段内转移,cs不变只要ip为0就可以了,由于是word所以,只要确定data段中1位2位是0就可以了
assume cs:code
data segment
db 2,0,0,3
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
code ends
end start
程序2
补全程序,使jmp指令执行后,CS:IP指向程序的第一条指令。
主要内容jmp dword ptr ds:[0] 是段间转移,ds:[0] ds:[1]组成跳转的IP ,ds:[2]ds:[3]组成跳转指令的CS,所以只需要改变数据段对应的数据就可了,mov ds:[0]:0等效mov ds:[0],bx
mov ds:[2]:cs
assume cs:code
da