. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
数据处理的两个基本问题
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
immediate model illegal..
[已解决]
回复[
5
次 ] 点击[
487
次 ]
jsdtqk
[帖 主]
[ 发表时间:2011-12-02 20:51 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:1
注册日期:2011-11-30 21:48
书p166最上面的一个程序,masm编译后出现immediately model illegal,百度说是‘立即数错误模式’,说是找个寄存器过度一下。我这么写的:
assume cs:codesg
codesg segment
start:
mov ax,2000h
mov ds,as
mov byte ptr [1000h],1
codesg ends
end start
求指教!应该是第5行的问题。
realbit
[第
1
楼]
[ 回复时间:2011-12-02 21:31 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:1
信誉值:4
注册日期:2011-11-28 20:29
mov ds,as ---> mov ds,ax
jsdtqk
[第
2
楼]
[ 回复时间:2011-12-02 21:42 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:1
注册日期:2011-11-30 21:48
这个是打错的啊。谢谢!
tomato
[第
3
楼]
[ 回复时间:2011-12-02 23:46 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
mov byte ptr [1000h],1
这条指令错了。分成两步,第一,mov bx,1000h,第二步,mov byte ptr [bx],1
一定要清楚在debug下和源程序下[1000h]的含义是不一样的。楼主先看一下书,源程序中[1000h]代表的是什么含义吧。知道什么含义就明白这个问题是什么了。
jsdtqk
[第
4
楼]
[ 回复时间:2011-12-03 14:56 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:1
注册日期:2011-11-30 21:48
谢谢!
jsdtqk
[第
5
楼]
[ 回复时间:2011-12-03 14:57 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:1
注册日期:2011-11-30 21:48
此贴由 贴主 于 [ 2011-12-03 14:57 ] 结贴。 结贴原因:问题已解决
得分情况: 3楼(tomato):1分
此问题已结贴!
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved