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芯片?
下一个:利用汇编获取物理内存大小