鱼C论坛

 找回密码
 立即注册
查看: 2383|回复: 2

汇编语言实验五(5)一个问题!

[复制链接]
发表于 2017-1-16 09:27:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 xiaoshazi 于 2017-1-16 09:45 编辑

我的问题在红字那里!!
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   ;ds指向a段地址

       mov ax,b

       mov es,ax   ;es指向b段地址

       mov bx,0

       mov cx,8

    s: mov al,[bx]

       add al,es:[bx]

       mov dx,c

       mov ds,dx   ;ds指向c段地址

       mov [bx],al

       mov ax,a

       mov ds,ax   ;重新将ds指向a段(好像此处还能改进) 这里为什么要重新将段数指向a段啊

       inc bx

       loop s

    mov ax,4c00h

    int 21h

code ends

end start

左边是加了mov ax,a mov ds,ax 右边没有

左边是加了mov ax,a         mov ds,ax   右边没有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-16 10:04:27 | 显示全部楼层
本帖最后由 redstone8415 于 2017-1-16 10:13 编辑

assume cs:code ds:b es:a
操作哪段就装入哪段! 因为A段和B段不在同一段 ,一个标号代表一段。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-1-19 04:42:20 | 显示全部楼层
s: mov al,[bx]

       add al,es:[bx]

       mov dx,c

       mov ds,dx   ;ds指向c段地址

       mov [bx],al

       mov ax,a

       mov ds,ax   

       inc bx

       loop s
当将数值写入c段后,执行循环,到s标号处开始,执行mov al,[bx]此时(al)==(ds:bx)而这个ds指向的是c!不是a!所以不能缺少你所说的那句。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 18:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表