1)若要使jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?
完整程序如下:
assume cs:code,ds:data
data segment
(db 0,0,0 )
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
code ends
end start
1.CS:IP指向程序的第一条指令,第一条指令是从那里开始算的啊?都是从code segment开始算的吗?
2.开始定义了3个为0的字节数据,而后jmp word ptr [bx+1]又是一个字,应该占用2个字节,当仅仅是bx的时候应该是0000H(前面的两个0)bx+1以后则为00?(应该为第3和第4个0)怎么程序中只有3个0?
3.既然jmp word ptr [bx+1]是一个字,那为什么开头不用dw 0,0或者dd 0更为简单些呢? |