oriontyy 发表于 2012-4-23 18:10:03

王爽汇编语言实验五第五题编译不通过,求解决方案

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 ax,c
      mov es,ax
      mov bx,0

s1:    mov es:,ds:
      inc bx
      loop s1
      
      mov ax,b
      mov ds,ax
      mov ax,c
      mov es,ax
      mov bx,0

s2:    add es:,ds:
      inc bx
      loop s2

      mov ax,4c00h
      int 21h   
code ends

end start

蓝色冰点 发表于 2012-4-23 18:10:04

MOV 指令不能从 内存直接传送到内存。可以用中间寄存器中转

崎安 发表于 2012-4-23 19:51:24

有人说 c 是保留字    换成d试试   然后你没有循环次数mov cx,08h

oriontyy 发表于 2012-4-23 20:37:07

本帖最后由 oriontyy 于 2012-4-23 20:40 编辑

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

d segment
   db 0,0,0,0,0,0,0,0
d ends

code segment
start:mov ax,a
          mov ds,ax
          mov ax,d
          mov es,ax
          mov bx,0
         
          mov cx,8
s1:      mov es:,ds:
          inc bx
          loop s1
      
          mov ax,b
          mov ds,ax
          mov ax,d
          mov es,ax
          mov bx,0
         
          mov cx,8
s2:      add es:,ds:
          inc bx
          loop s2

          mov ax,4c00h
          int 21h   
code ends

end start


提示:error A2070:

oriontyy 发表于 2012-4-24 07:59:02

问题已经解决,谢谢大家
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

d segment
   db 0,0,0,0,0,0,0,0
d ends

code segment
start:mov ax,a
      mov ds,ax
      mov ax,d
      mov es,ax
      mov bx,0
                mov cx,8

s1:   mov ax,ds:
      mov es:,ax
      inc bx
      loop s1
      
      mov ax,b
      mov ds,ax
      mov ax,d
      mov es,ax
      mov bx,0
      mov cx,8               

s2:   mov ax,ds:
      add es:,ax
      inc bx
      loop s2

      mov ax,4c00h
      int 21h   
code ends

end start

_作业 发表于 2012-4-25 20:38:57

应该差不多吧
页: [1]
查看完整版本: 王爽汇编语言实验五第五题编译不通过,求解决方案