. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
主题 : :  检测点9.1-1的一个疑问  [待解决] 回复[ 39次 ]   点击[ 1915次 ]  
cdzjf
[帖 主] [ 发表时间:2007-12-06 20:34 ] 
荣誉值:1
信誉值:6
注册日期:2007-11-14 11:28
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更为简单些呢?
cdzjf
[第10楼] [ 回复时间:2008-01-02 14:32 ] 
荣誉值:1
信誉值:6
注册日期:2007-11-14 11:28
可否说一下
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved