鱼C论坛

 找回密码
 立即注册
查看: 5630|回复: 6

[汇编作业] 给个检测点16.2的答案呗

[复制链接]
发表于 2016-5-19 19:35:20 | 显示全部楼层 |阅读模式

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

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

x
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-6-14 21:07:35 | 显示全部楼层
mov ax,data   

mov es,ax  

assume那里已经将data段和es寄存器挂钩,但是那种挂钩只是编译器做的,程序并不知道,所以你要将data的段地址给es,以后的数据就默认是段地址是es了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2017-8-8 15:54:35 | 显示全部楼层
兰陵月 发表于 2016-6-14 21:07
mov ax,data   

mov es,ax  

我觉得既然[si]和b都是默认ds,第二句仍应为mov ds,ax啊。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-8-8 16:01:21 | 显示全部楼层
BellXu 发表于 2017-8-8 15:54
我觉得既然[si]和b都是默认ds,第二句仍应为mov ds,ax啊。。

我错了!ASSUME把DATA段和ES关联,故默认段改为ES。
16.2DEBUG.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-23 20:09:23 | 显示全部楼层
还是不明白啊。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-5 23:08:24 | 显示全部楼层
BellXu 发表于 2017-8-8 16:01
我错了!ASSUME把DATA段和ES关联,故默认段改为ES。

为什么会这样啊,不是si的默认就是ds嘛~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-19 19:07:29 | 显示全部楼层
assume cs:code,es:data

data segment
a        db 1,2,3,4,5,6,7,8
b        dw 0
data ends

code segment


start:        mov ax,data
                mov es,ax     ;data段要和es段关联
                mov si,0
                mov cx,8
               
        s:         mov al,a[si]
                mov ah,0
                add b,ax
                inc si
                loop s
               
                mov ax,4c00h
                int 21h
               
code ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 19:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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