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]指令部分,都是不能从内存到内存。

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

报告相同问题?

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样