鱼C论坛

 找回密码
 立即注册
查看: 2308|回复: 7

关于试验九

[复制链接]
发表于 2011-11-17 18:44:47 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 wuyaozi 于 2011-11-17 18:47 编辑

assume cs:code;ds:data

data segment
db 'welcome to masm!'
data ends

code segment
start:mov ax,data
      mov ds,ax
      mov bx,0
      mov ax,0B872H
      mov es,ax
      mov si,0
      mov cx,16

s:  mov al,[bx]
      mov es:[si],al
        此处两行我写成 mov byte ptr es:[si],ds:[bx] 编译错误。我不知道错在哪里?望高手解答?
      mov byte ptr es:[si+1],2h
      
      mov al,[bx]
      mov es:0A0H[si],al
      mov byte ptr es:0A0H[si+1],24h
      
      mov al,[bx]
      mov es:140H[si],al
      mov byte ptr es:140H[si+1],71h
      
      add si,2
      inc bx

      loop s
   
      mov ax,4c00h
      int 21h

code ends

end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-17 19:04:16 | 显示全部楼层
看来我得把汇编重新过一遍
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-17 19:22:48 | 显示全部楼层
es是段寄存器,不能当作通用寄存器来用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-18 09:15:43 | 显示全部楼层
好像是es:[si]和ds:[bx]不能同时传送数据,中间必须要有个通用寄存器做间接传送。
就好象data不能直接和ds挂钩一样,中间必须要有个通用寄存器做中介。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-18 23:52:56 | 显示全部楼层
4楼正解,两个内存单元之间不可以直接通信。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-22 12:58:53 | 显示全部楼层
4楼正解,小甲鱼老师说了,他们2个不能直接发生关系的。。
不要想歪哈,思想要纯洁:lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-3 22:25:58 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-5 15:06:54 | 显示全部楼层
这个问题我也遇到过,百度过,应该是2个内存单元不能直接操作,必须要通过媒介寄存器
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-8 06:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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