问题描述
- 关于汇编语言中调试多个段的程序(不懂)
-
根据题目要求是在start之间插入自己编辑的代码,要求将a段和b段中的数据相加,将结果存入c段中。下面的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 ax,a mov ds,ax mov ax,b mov es,ax mov bx,0 mov cx,8 s: add es:[bx],[bx] inc bx loop s mov ax,c mov ds,ax mov bx,0 mov cx,8 s0: mov [bx],es:[bx] inc bx loop s0 mov ax,4c00h int 21h code ends end start
解决方案
我复制你的编译的问题在add es:[bx],[bx]和mov [bx],es:[bx]指令部分,都是不能从内存到内存。
时间: 2024-10-30 04:52:33