nice_fish 发表于 2011-8-19 11:16:16

《王爽第二版》课后习题实验五第五题

本帖最后由 nice_fish 于 2011-8-19 11:17 编辑

原题是:编写code段中的代码,将a段和b段中的数据依次相加,将结果存在c段中。

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:
   ?   
code ends
end start自己是这样做的,代码如下
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 bx,0
mov ax,a
mov ds,ax
mov ax,c
mov ss,ax
mov sp,16
mov cs,8

s: mov al,
add al,al
push al
mov ax,0
add bx,1
loop s

code ends
end start

在编译时老是出现错误,如图所示http://bbs.fishc.com/data/attachment/album/201108/19/111513tztxlbntn5jff7vq.jpg
谢谢大家啦
{:2_27:}

tsembrace 发表于 2011-8-19 12:47:05

一眼就能看出的问题有以下:
1、21行cs--->cx
2、25行push的操作数必须是字。
另外,关于c段的几个问题,是不是c是保留字符,不能用的?你换个其他的名字试试。

nice_fish 发表于 2011-8-19 22:24:29

tsembrace 发表于 2011-8-19 12:47 static/image/common/back.gif
一眼就能看出的问题有以下:
1、21行cs--->cx
2、25行push的操作数必须是字。


感谢指点,大意了大意了= =

ytrfamli 发表于 2011-9-10 04:41:05

我在练习时同样有syntax error : c的问题,这是在masm6版开始的,
c segment取别的名字例如cabc segment就不会有问题,
如果坚持要用c segment命名,用masm5的masm.exe编译就不会报错

小丫 发表于 2011-9-10 16:07:27

--!你自己看你的a段,b段都定义了吗,好像没有吧,就只有一个code段是定义了,在最开始的时候
页: [1]
查看完整版本: 《王爽第二版》课后习题实验五第五题