标题:关于 masm2012.5,w764 位系统,按照书上写的打入一个 asm 程序,结果生成 ...
取消只看楼主
blacker50
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2013-11-21
结帖率:71.43%
已结贴  问题点数:20 回复次数:2 
关于 masm2012.5,w764 位系统,按照书上写的打入一个 asm 程序,结果生成 obj 文件时,说 start 符号无定义?
datarea segment
    string1    db 'Move the cursor backward.'
    string2 db 'Move the cursor backward.'
    mess1    db 'Match.',13, 10, '$'
    mess2   db 'No match.',13, 10, '$'
datarea ends
prognam segment
main    proc    far
        assume cs:prognam,ds:datarea,es:datarea
start:
        push    ds
        sub        ax,ax
        push    ax
        
        mov        ax, datarea
        mov        ds,ax
        mov        es,ax
        
        lea        si,string1
        lea     di,string2
        cld
        mov        cx,25
        repz    cmpsb
        jz        match
        lea        dx,mess2
        jmp        short disp
match:
        lea        dx,mess1
disp:
        mov     ah,9
        int        21h
        ret
main    endp
prognam ends
         end     start

 

搜索更多相关主题的帖子: backward cursor start 
2014-04-19 09:54
blacker50
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2013-11-21
得分:0 
回复 2 楼 半江渔火
masm在64位机上可以使用,masm for windows2012.5好像集成了dosbox的虚拟环境供调试,另外,start符号无定义好像是软件的兼容性问题,在64位和32位的w7好像都会出现这种情况,可以将start:移到main proc far前面就可以通过运行,虽然在语法上是错误的
2014-05-19 16:00
blacker50
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2013-11-21
得分:0 
回复 4 楼 xkwy0000
好像不可以通过我把最后写成
end  start
end  main
end  prognam
   
结果提示main块嵌套不匹配,前后段名不相同。。不过可以看看我给2楼的回复,谢谢哈
2014-05-19 16:12



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




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

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