求汇编语言将一个内存块拷贝到指定地址的代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求汇编语言将一个内存块拷贝到指定地址的代码相关的知识,希望对你有一定的参考价值。
求汇编语言将一个内存块拷贝到指定地址的代码例程。
加问一步:
如果要将这段代码后面的一段数据复制到指定地址,应该怎么做?如何获得当前代码的偏移,并计算出源数据的位置?
最好使用debug的汇编例程,这样就不用编译器了。
MOV AX,段地址1
MOV DS,AX
MOV AX,段地址2
MOV ES,AX
MOV BX,偏移地址1
MOV SI,偏移地址2
SUB AX,AX
MOV CX,复制数量(字节或字或其他)
S:MOV AX(或其他),[BX]
MOV ES:[SI],AX
ADD BX,2
ADD SI,2
LOOP S
大致是据你情况修改 参考技术B 可以使用rep前缀,用movsx指令
movsb则是将DS:ESI(SI)中的一个字节复制到ES:EDI(DI)中,然后自动将ESI,EDI加一,rep前缀则是和loop检查ECX机制一样,ECX-1,!=0,继续,=0结束。
mov ds,SEGMENT sdata
mov esi,OFFSET sdata
mov es,SEGMENT ddata
mov edi,OFFSET ddata
mov ecx,datasize
rep movsb
以上是关于求汇编语言将一个内存块拷贝到指定地址的代码的主要内容,如果未能解决你的问题,请参考以下文章