. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
转移指令的原理
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
检测点9.1(3)的问题
[已解决]
回复[
3
次 ] 点击[
333
次 ]
wscjsh
[帖 主]
[ 发表时间:2008-11-17 13:40 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:3
信誉值:31
注册日期:2007-08-16 23:26
我一运行我的程序就显示 NTVDM CPU遇到无效的指令.请大家帮我看看哪错了.
并请告诉我正确的程序如何写.
下面是我写的程序.打错运行后验证cs 和ip的值
=======================
assume cs:code
code segment
start:mov ax,2000h
mov es,ax
jmp dword ptr es:[1000h]
mov ax,4c00h
int 21h
code ends
end start
mouse
[第
1
楼]
[ 回复时间:2008-11-17 18:17 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
我一运行我的程序就显示 NTVDM CPU遇到无效的指令
----------------
首先是不是每个人的电脑运行楼主的程序都会出现这样的情况,那为什么呢??
jmp dword ptr es:[1000h]
--------
它的功能是什么?es:[1000h]存放的数据是什么能确定吗?
mess
[第
2
楼]
[ 回复时间:2008-11-18 18:56 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
jmp修改的是cs和ip,把未知的数据赋值给他们,也就是让cpu执行位置的指令,所以也有可能出现未知的错误。
一个程序之所以实现了我们的功能,是因为指令了我们让他执行的指令,所以上面的问题没有什么实际意义。
wscjsh
[第
3
楼]
[ 回复时间:2008-11-19 07:33 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:3
信誉值:31
注册日期:2007-08-16 23:26
此贴由 贴主 于 [ 2008-11-19 07:33 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved