qinqin12345 发表于 2015-6-5 22:47:51

问下这个程序哪里有问题

assume ds:dode
a   segment
        db 1,2,3,4,5,6,7,8
a   ends
b   segment
        db 1,2,3,4,5,6,7,8
b   ends
c   segment
        db 0,0,0,0,0,0,0,0
c   ends
dode segment
start:        mov dx,8
                mov bx,0
        s:        mov ax,a
                mov ds,ax
                mov al,
                mov dx,b
                mov ds,dx
                add al,
                mov dx,c
                mov ds,dx
                mov ,al
                inc bx
                loop s
               
                mov ax,4d00h
                int 21h
dode ends
end start

为什么无法编译?

南郊居士 发表于 2015-6-6 20:53:28

第1行:
assume cs:dode ;将ds改成cs,你把代码段关联到数据段去了

qinqin12345 发表于 2015-6-12 17:18:13

南郊居士 发表于 2015-6-6 20:53
第1行:
assume cs:dode ;将ds改成cs,你把代码段关联到数据段去了

不行,还是有问题

南郊居士 发表于 2015-6-12 17:39:46

qinqin12345 发表于 2015-6-12 17:18
不行,还是有问题
下次再问的时候把问题的现象说详细一点,我试了,编译可以通过,链接的时候报堆栈段没有。有图为证:


假如你说运行有问题的话,我再告诉你,程序退出的时候应该是mov ax, 4c00h,而不是mov ax, 4d00h

.。。。。 发表于 2015-6-14 20:55:04

感觉你们好牛x 我一个小白。。:mad:
页: [1]
查看完整版本: 问下这个程序哪里有问题