马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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 es,ax
mov ax,c
mov ds,ax
mov bx,0
mov cx,8
s: mov al,es:[bx]
mov [bx],al
inc bx
loop s
mov ax,b
mov es,ax
mov bx,0
mov cx,8
s1: mov al,es:[bx]
add [bx],al
inc bx
loop s1
mov ax,4c00h
int 21h
code ends
end start
编译的时候总是在 a,b,c segment 代码行报错不知道什么原因?大佬们帮忙解释一下!!谢谢
本帖最后由 jackz007 于 2022-5-10 22:07 编辑
楼主的代码用 MASM 5.10b 编译不存在任何问题。
不过,代码可略作简化如下:
- 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
- xor bx,bx
- mov cx,8
- push bx
- push cx
- mov ax,a
- mov es,ax
- s1: mov al,es:[bx]
- mov [bx],al
- inc bx
- loop s1
- mov ax,b
- mov es,ax
- pop cx
- pop bx
- s2: mov al,es:[bx]
- add [bx],al
- inc bx
- loop s2
- mov ax,4c00h
- int 21h
- code ends
- end start
复制代码
|