..磊●﹖ 发表于 2011-12-8 03:44:47

汗了·为什么找不到实验5的解答啊!

通过了的进来看下·我编译怎么都用过不了。郁闷呐。。代码如下。
assume cs:code
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

code segment
start: mov ax,a
           mov ds,ax
           mov bx,0
           mov ax,b
           mov es,ax
           mov ax,c
s:           mov ax:,
           add ax:,es:
           inc bx
           loop s
          
           mov ax,4c00h
           int 21h
code ends
end start

提示 c segment 下面三行错误和 mov ax,c 三行错误!求解。。。


顺便一起问下。在课本上有一段这样的问题,。
如下定义段
name segment
...
name ends
如果段中的数据占N个字节,则程序加载后,该段实际占有的空间为!!!!老师说是 (N/16+1)*16 不解·求哪位高手教育下!哎。。。。。等各位的解答·

zzmatrix 发表于 2011-12-8 12:55:53

1,你可以换个版本的编译器
2,c 这个标号用其他的代替,记得以前我是用的这种方法。

第二个问题
程序加载以后给段空间分配都是以16字节为倍数的
假如N<16,N/16=0,算下来就是分配16字节空间
假如16<N<32,N/16=1,就要分配32字节空间
页: [1]
查看完整版本: 汗了·为什么找不到实验5的解答啊!