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

王爽第二版汇编实验5的问题

hjy88168 发布于 2012-12-18 10:45, 646 次点击
意思是将啊,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:
        mov ax,c
        mov ds,ax
        mov cx,8
        mov bx,0
        s:mov ax,a
          mov es,ax
        add [bx],es:[bx]
        mov ax,b
        mov es,ax
        add [bx],es:[bx]
        inc bx
        loop s
code ends

end start

编译时报两个错误Improper operand type

小弟初学汇编,请大神指导~!
4 回复
#2
wp2319572012-12-18 11:28
     add [bx],es:[bx]
有这样的语句吗  这是啥意思呢
#3
水哥2012-12-18 13:46
add [bx],es:[bx]  指令的俩边不可同为内存地址
#4
hjy881682012-12-18 13:48
哦哦~~这样~~谢谢两位啊~~

另外,你们是怎么记得呢?我感觉不好记啊,两边是什么类型
#5
水哥2012-12-18 13:48
加法指令 ADD (addition)

指令的汇编格式:add dst,src
指令的基本功能:(dst)<-(src)+(dst)
指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。
指令对标志位的影响:SF=1  加法结果为负数(符号位为1)
                    SF=0  加法结果为正数(符号位为0)
                    ZF=1  加法结果为零
                    ZF=0  加法结果不为零
                    CF=1  最高有效位向高位有进位
                    CF=0  最高有效位向高位无进位
                    OF=1  两个同符号数相加(正数+正数 或 负数+负数),结果符号与其相反。
                    OF=0  两个不同符号数相加,或同符号数相加,结果符号与其相同。
1