当前位置:编程学习 > 汇编语言 >>

jmpi和jmp

http://www.asmedu.net/bbs/manager/managerpaste.jsp?part=1&level=free&kind=1020&qkSg=2&qID=68140
补充:_init_setup:
  mov ax,BOOT_SETUP
  mov ds,ax
  mov ax,INIT_SETUP
  mov es,ax
  mov cx,100h ;256*2 = 512(boot size)
  sub si,si
  sub di,di
  rep
  movsw
ret


 ;这指令好像不能复制内存,是不是要和cld之类的合用才行,指点下.
追问:你的意思是我上面的代码没错,可以复制,但我用bochsdbg调试时发现目标内存还是空的,全是00BOOT_SETUP 内容就是执行代码部分我才无语,我只是让你看下那问题,又不叫你在那里回答.
答案:赞同楼上的。。我点进去只能先注册。。。根本看不到问题。。
 
你还是贴出来吧。。最烦注册了、 
 
 
可以复制  看来楼主还是不太明白
rep movsw  的作用。
他就是循环复制。
 MOVSW 每次搬移一个字,如果DF=0,所以每次搬运完 SI、DI 会增加 2,而 CX 仍然减少一。

如果DF=1,每次搬运完 SI、DI 会减少 2
没有rep,一次只搬移一个字

rep的转换:每次执行的时候先执行cx=cx-1然后判断cx是否为0,如果是0说明REP MOVSW这个指令执行完毕了,直接跳转执行REP MOVSW的下一行语句,如果不为0,执行movsw也就是数据转移一次
懂了吧。。
其他:无语,为了回答你问题难不成还要人专门注册账号给你答题。。。。 

上一个:我的是用MAX3232做下载,有USB转9针串口线,用用什么软件把程序下载到89S52芯片?
下一个:利用汇编获取物理内存大小

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,