TangLMalan 2015-06-11 04:42 采纳率: 0%
浏览 1805
已采纳

关于汇编语言中调试多个段的程序(不懂)

根据题目要求是在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

图片说明

  • 写回答

1条回答

  • 纵横车 2015-06-11 05:20
    关注

    我复制你的编译的问题在add es:[bx],[bx]和mov [bx],es:[bx]指令部分,都是不能从内存到内存。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘