注册 登录
编程论坛 汇编论坛

大大们 帮我看看哪里出问题了 编译不通过

wenbin168 发布于 2012-07-02 00:32, 585 次点击
assume cs:code,ds:data,ss:stack

data segment;数据段
db 'welcome to masm!'
db 02h,24h,71h
data ends

stack segment
dw 8 dup(0)
stack ends

code segment
 start:mov ax,data
       mov ds,ax
       mov ax,0b800h
       mov es,ax
       mov ax,stack
       mov ss,ax
       mov sp,10h
       mov bx,0;字属性定位
       mov di,0;数据每行偏移变量
       MOV si,0;第几行定位
       mov dx,0;显存每行中位置
       mov cx,3;
      
s0:     push cx
        mov cx,16
s:      mov al,[di];读取DATA段的数据
        mov ah,[bx+16];读取DATA段第二行的字属性
        mov es:[dx+si],al;将DATA段的数据送入显存      
        mov es:[dx+si+1],ah;将DATA段的第二行的字属性数据送入显存
        inc di
        add dx,2
        loop s;
      
        inc bx;每行字属性定位
        pop cx
        loop s0;

    mov ax,4c00h;
    int 21h;

     
code ends

end start;
5 回复
#2
zklhp2012-07-02 09:24
你也懒 连编译错误都不贴
#3
于祥2012-07-02 13:31
stack segment
堆栈段的名字就不正确
#4
wenbin1682012-07-02 13:50
以下是引用zklhp在2012-7-2 09:24:52的发言:
你也懒 连编译错误都不贴

啊,今天重新翻了一下王爽的书才发现犯了个低级错误:dx不能用在间接寻址。另外回班主,我也不知道怎么找错误代码,我是用masm编译,用记事本写的
#5
zklhp2012-07-02 13:58
以下是引用wenbin168在2012-7-2 13:50:45的发言:

 
啊,今天重新翻了一下王爽的书才发现犯了个低级错误:dx不能用在间接寻址。另外回班主,我也不知道怎么找错误代码,我是用masm编译,用记事本写的
你不知道怎么找错误信息 那你怎么知道编译出错的呢。。
#6
heliang62912012-07-04 23:31
这种低级错误!懒得说了。
另外编辑器么,我用notepad++还不错,不过看到版主用的编辑器好酷啊,不知道是什么编辑器,版主提供下信息,最好还能让我伸手一回啊,提供下下载地址哈。
1