copy.ys
来自「深入理解计算机系统 的lab」· YS 代码 · 共 54 行
YS
54 行
.pos 0init: irmovl Stack, %esp irmovl Stack, %ebp jmp Main# Source blocksrc: .long 0x00a .long 0x0b0 .long 0xc00# Destination blockdest: .long 0x111 .long 0x222 .long 0x333Main: irmovl $3, %eax pushl %eax irmovl dest, %edx pushl %edx irmovl src, %esi pushl %esi call copy_block haltcopy_block: pushl %ebp rrmovl %esp, %ebp mrmovl 16(%ebp), %ecx #len mrmovl 12(%ebp), %edx #dst mrmovl 8(%ebp), %ebx #src xorl %eax, %eax #result xorl %esi, %esi #valLoop: andl %ecx, %ecx jle DONE mrmovl (%ebx), %esi irmovl $4, %edi addl %edi, %ebx #*src++ rmmovl %esi, (%edx) addl %edi, %edx xorl %esi, %eax irmovl $1, %edi subl %edi, %ecx jmp LoopDONE: rrmovl %ebp, %esp popl %ebp ret .pos 0x100Stack:
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?