标题:一段小代码的错误
只看楼主
l1206795157
Rank: 1
等 级:新手上路
帖 子:14
专家分:9
注 册:2013-3-17
结帖率:50%
已结贴  问题点数:10 回复次数:5 
一段小代码的错误
data segment
    x1 db 10h,20h,?
    data ends

code segment
    assume ds:data,cs:code
st1:    mov ax,data
        mov ds,ax
        ;*****************
        mov al,[0001]
        add al,[0002]
        mov [0003],al
        ;***************
        mov ah,4ch
        int 21h
code ends
    end st1
    生成obj文件时,说第十二行有一个错误,求解释
    错误为:不合法的立即数寻址方式


[ 本帖最后由 l1206795157 于 2013-5-13 14:25 编辑 ]
2013-05-13 14:16
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:5 
应该是add al,[0002]这行出错吧,改成下面试试:
mov ah,[0002]
add al,ah

活到老,学到老! http://www. E-mail:hu-jj@
2013-05-13 16:36
l1206795157
Rank: 1
等 级:新手上路
帖 子:14
专家分:9
注 册:2013-3-17
得分:0 
回复 2楼 hu9jj
还是不行,说int 21h有问题,
我是用记事本编的,然后用masm生成obj文件,系统是win7的,所以是在dosbox里运行的,是不是和这个有关系?

梦断代码
2013-05-14 18:58
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
哪会不会是WIN7是64位的版本问题?

活到老,学到老! http://www. E-mail:hu-jj@
2013-05-14 19:40
Agdmeg
Rank: 4
来 自:四川成都
等 级:业余侠客
威 望:3
帖 子:101
专家分:201
注 册:2011-8-9
得分:5 
改成mov ds:[0003],al编译通过
2013-05-15 12:35
l1206795157
Rank: 1
等 级:新手上路
帖 子:14
专家分:9
注 册:2013-3-17
得分:0 
回复 5楼 Agdmeg
嗯,通过了,谢啦

梦断代码
2013-05-23 19:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-406965-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.185529 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved