数据段除了ds寄存器指向的,就不能再有了??
程序代码:
assume cs:code1,ds:data1,ss:stack1 data1 segment sz: db '1975','1976','1977','1978','1979','1980','1981','1982' db '1983','1984','1985','1986','1987','1988','1989','1990' db '1991','1992','1993','1994','1995' ;;;;;;;;;以上为:21年的21个字符串;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; income:dd 16,22,382,1356,2390,8000,16000,24486,50065,97479 dd 140417,197514,345980,590827,8003530,1183000,1843000 dd 2759000,3753000,4649000,5937000 ;;;;;;;;;以上为:21年,每年的总收入;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; num: dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793 dw 4037,5635,8226,11542,14430,15257,17800 ;;;;;;;;;以上为:21年,每年公司雇员的个数;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; data1 ends table segment db 21 dup('0000000000000000') table ends stack1 segment db 16 dup(0) stack1 ends code1 segment start:mov ax,data1 mov ds,ax mov dx,table mov ax,stack1 mov ss,ax mov sp,16 mov di,0 mov cx,27 n:push cx mov cx,4 nian:mov dx:[di],ds:[di] inc di loop nian mov dx:[di],' ' add di,16 pop cx loop n mov ax,4c00H int 21H code1 ends end start呵呵,程序还没写完,我就是想问一下,汇编是不是只能有一个ds指向的数据段,其它寄存器指向的数据段(table)都不认啊,就算是显式定位也不行啊,
编译后,说“nian:mov dx:[di],ds:[di]”,“mov dx:[di]”
error A2096:segment,group,or segment register expected
是什么意思啊,难道是数据段没定义?
到底怎么回事啊,呵呵,进行不下去了啊
[ 本帖最后由 burningstyle 于 2010-7-25 20:06 编辑 ]