标题:编译无法通过,显示syntax error,按书上敲的呀
只看楼主
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
结帖率:100%
已结贴  问题点数:20 回复次数:4 
编译无法通过,显示syntax error,按书上敲的呀
assume cs:code
code segment
    s1:  db 'Good,better,best,','$'
    s2:  db 'Never let it rest,','$'
    s3:  db 'Till good is better,','$'
    s4:  db 'And better,best.','$'
    s:   dw offset s1,offset s2,offset s3,offset s4
    row: db 2,4,6,8
   
    start:mov ax,cx
          mov ds,ax
          mov bx,offset s
          mov si,offset row
          mov cx,4
       ok:mov bh,0
          mov dh,byte ptr [si]
          mov dl,0
          mov ah,2
          int 10h
         
          mov dx,[bx]
          mov ah,9
          inc si
          add bx,2
          loop ok
          mov ax,4c00h
          int 21h
code ends
end start
搜索更多相关主题的帖子: offset db mov code 编译 
2020-08-06 22:37
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:11
帖 子:337
专家分:2462
注 册:2016-5-15
得分:20 
masm 5.1可以通过
一般情况下,masm编译器不接受 '变量 :' ,或者,资料区不容许有标示地址(:)这种写法,去除冒号即可.

另外,通过编译并不表示运行正常或思路正确.

[此贴子已经被作者于2020-8-7 05:48编辑过]

2020-08-07 05:46
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:0 
改了半天,把cs写成cx硬是没查出来
assume cs:code
code segment
    s1  db 'Good,better,best,','$'
    s2  db 'Never let it rest,','$'
    s3  db 'Till good is better,','$'
    s4  db 'And better,best.','$'
    s   dw offset s1,offset s2,offset s3,offset s4
    row db 2,4,6,8
   
    start:mov ax,cs
          mov ds,ax
          mov bx,offset s
          mov si,offset row
          mov cx,4
       ok:mov bh,0
          mov dh,[si]
          mov dl,0
          mov ah,2
          int 10h
         
          mov dx,[bx]
          mov ah,9
          int 21h
          inc si
          add bx,2
          loop ok
          mov ax,4c00h
          int 21h
code ends
end start
2020-08-07 22:49
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:11
帖 子:337
专家分:2462
注 册:2016-5-15
得分:0 
延伸讨论....

关于显示字串,1楼用的是int21h,ah=9.其实bios也提供了一个int10h,ah=13h的功能,可以在任意座标显示一条颜色字串。

找一下,之前我在本论坛也贴了一个程式,利用这个函数,如何再配合鼠标如操作,楼主可以参考一下,附源码。
https://bbs.bccn.net/thread-466000-1-1.html

下面是程式示范
2020-08-08 19:51
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:0 
学完了《汇编语言》还是有很多指令没见过,比如版主程序里的lodsb,stosb,两个@@组成的地址标号,还有类似这个的跳转jz @f ,书上好像并没有。
还有楼上提到的程序里很多都看不懂,尤其是宏定义。
算了暂时不深究了,去学其他的课程去了。谢谢版主大神热心的讲解。
2020-08-10 21:18



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




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

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