📄 bn-coff.s
字号:
adcl %eax, %eax addl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, 20(%ebx) jz .L013aw_end # Tail Round 6 movl 24(%esi), %ecx movl 24(%edi), %edx addl %eax, %ecx movl $0, %eax adcl %eax, %eax addl %edx, %ecx adcl $0, %eax movl %ecx, 24(%ebx).L013aw_end: popl %edi popl %esi popl %ebx popl %ebp ret.L__bn_add_words_end:.ident "_bn_add_words".text.globl _bn_sub_words.def _bn_sub_words; .scl 2; .type 32; .endef.align 16_bn_sub_words: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 20(%esp), %ebx movl 24(%esp), %esi movl 28(%esp), %edi movl 32(%esp), %ebp xorl %eax, %eax andl $4294967288, %ebp jz .L014aw_finish.L015aw_loop: # Round 0 movl (%esi), %ecx movl (%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, (%ebx) # Round 1 movl 4(%esi), %ecx movl 4(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 4(%ebx) # Round 2 movl 8(%esi), %ecx movl 8(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 8(%ebx) # Round 3 movl 12(%esi), %ecx movl 12(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 12(%ebx) # Round 4 movl 16(%esi), %ecx movl 16(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 16(%ebx) # Round 5 movl 20(%esi), %ecx movl 20(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 20(%ebx) # Round 6 movl 24(%esi), %ecx movl 24(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 24(%ebx) # Round 7 movl 28(%esi), %ecx movl 28(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 28(%ebx) addl $32, %esi addl $32, %edi addl $32, %ebx subl $8, %ebp jnz .L015aw_loop.L014aw_finish: movl 32(%esp), %ebp andl $7, %ebp jz .L016aw_end # Tail Round 0 movl (%esi), %ecx movl (%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, (%ebx) jz .L016aw_end # Tail Round 1 movl 4(%esi), %ecx movl 4(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, 4(%ebx) jz .L016aw_end # Tail Round 2 movl 8(%esi), %ecx movl 8(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, 8(%ebx) jz .L016aw_end # Tail Round 3 movl 12(%esi), %ecx movl 12(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, 12(%ebx) jz .L016aw_end # Tail Round 4 movl 16(%esi), %ecx movl 16(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, 16(%ebx) jz .L016aw_end # Tail Round 5 movl 20(%esi), %ecx movl 20(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, 20(%ebx) jz .L016aw_end # Tail Round 6 movl 24(%esi), %ecx movl 24(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 24(%ebx).L016aw_end: popl %edi popl %esi popl %ebx popl %ebp ret.L__bn_sub_words_end:.ident "_bn_sub_words".text.globl _bn_sub_part_words.def _bn_sub_part_words; .scl 2; .type 32; .endef.align 16_bn_sub_part_words: pushl %ebp pushl %ebx pushl %esi pushl %edi movl 20(%esp), %ebx movl 24(%esp), %esi movl 28(%esp), %edi movl 32(%esp), %ebp xorl %eax, %eax andl $4294967288, %ebp jz .L017aw_finish.L018aw_loop: # Round 0 movl (%esi), %ecx movl (%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, (%ebx) # Round 1 movl 4(%esi), %ecx movl 4(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 4(%ebx) # Round 2 movl 8(%esi), %ecx movl 8(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 8(%ebx) # Round 3 movl 12(%esi), %ecx movl 12(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 12(%ebx) # Round 4 movl 16(%esi), %ecx movl 16(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 16(%ebx) # Round 5 movl 20(%esi), %ecx movl 20(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 20(%ebx) # Round 6 movl 24(%esi), %ecx movl 24(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 24(%ebx) # Round 7 movl 28(%esi), %ecx movl 28(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 28(%ebx) addl $32, %esi addl $32, %edi addl $32, %ebx subl $8, %ebp jnz .L018aw_loop.L017aw_finish: movl 32(%esp), %ebp andl $7, %ebp jz .L019aw_end # Tail Round 0 movl (%esi), %ecx movl (%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, (%ebx) addl $4, %esi addl $4, %edi addl $4, %ebx decl %ebp jz .L019aw_end # Tail Round 1 movl (%esi), %ecx movl (%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, (%ebx) addl $4, %esi addl $4, %edi addl $4, %ebx decl %ebp jz .L019aw_end # Tail Round 2 movl (%esi), %ecx movl (%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, (%ebx) addl $4, %esi addl $4, %edi addl $4, %ebx decl %ebp jz .L019aw_end # Tail Round 3 movl (%esi), %ecx movl (%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, (%ebx) addl $4, %esi addl $4, %edi addl $4, %ebx decl %ebp jz .L019aw_end # Tail Round 4 movl (%esi), %ecx movl (%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, (%ebx) addl $4, %esi addl $4, %edi addl $4, %ebx decl %ebp jz .L019aw_end # Tail Round 5 movl (%esi), %ecx movl (%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, (%ebx) addl $4, %esi addl $4, %edi addl $4, %ebx decl %ebp jz .L019aw_end # Tail Round 6 movl (%esi), %ecx movl (%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, (%ebx) addl $4, %esi addl $4, %edi addl $4, %ebx.L019aw_end: cmpl $0, 36(%esp) je .L020pw_end movl 36(%esp), %ebp cmpl $0, %ebp je .L020pw_end jge .L021pw_pos # pw_neg movl $0, %edx subl %ebp, %edx movl %edx, %ebp andl $4294967288, %ebp jz .L022pw_neg_finish.L023pw_neg_loop: # dl<0 Round 0 movl $0, %ecx movl (%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, (%ebx) # dl<0 Round 1 movl $0, %ecx movl 4(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 4(%ebx) # dl<0 Round 2 movl $0, %ecx movl 8(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 8(%ebx) # dl<0 Round 3 movl $0, %ecx movl 12(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 12(%ebx) # dl<0 Round 4 movl $0, %ecx movl 16(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 16(%ebx) # dl<0 Round 5 movl $0, %ecx movl 20(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 20(%ebx) # dl<0 Round 6 movl $0, %ecx movl 24(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 24(%ebx) # dl<0 Round 7 movl $0, %ecx movl 28(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 28(%ebx) addl $32, %edi addl $32, %ebx subl $8, %ebp jnz .L023pw_neg_loop.L022pw_neg_finish: movl 36(%esp), %edx movl $0, %ebp subl %edx, %ebp andl $7, %ebp jz .L020pw_end # dl<0 Tail Round 0 movl $0, %ecx movl (%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, (%ebx) jz .L020pw_end # dl<0 Tail Round 1 movl $0, %ecx movl 4(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, 4(%ebx) jz .L020pw_end # dl<0 Tail Round 2 movl $0, %ecx movl 8(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, 8(%ebx) jz .L020pw_end # dl<0 Tail Round 3 movl $0, %ecx movl 12(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, 12(%ebx) jz .L020pw_end # dl<0 Tail Round 4 movl $0, %ecx movl 16(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, 16(%ebx) jz .L020pw_end # dl<0 Tail Round 5 movl $0, %ecx movl 20(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax decl %ebp movl %ecx, 20(%ebx) jz .L020pw_end # dl<0 Tail Round 6 movl $0, %ecx movl 24(%edi), %edx subl %eax, %ecx movl $0, %eax adcl %eax, %eax subl %edx, %ecx adcl $0, %eax movl %ecx, 24(%ebx) jmp .L020pw_end.L021pw_pos: andl $4294967288, %ebp jz .L024pw_pos_finish.L025pw_pos_loop: # dl>0 Round 0 movl (%esi), %ecx subl %eax, %ecx movl %ecx, (%ebx) jnc .L026pw_nc0 # dl>0 Round 1 movl 4(%esi), %ecx subl %eax, %ecx movl %ecx, 4(%ebx) jnc .L027pw_nc1 # dl>0 Round 2 movl 8(%esi), %ecx subl %eax, %ecx movl %ecx, 8(%ebx) jnc .L028pw_nc2 # dl>0 Round 3 movl 12(%esi), %ecx subl %eax, %ecx movl %ecx, 12(%ebx) jnc .L029pw_nc3 # dl>0 Round 4 movl 16(%esi), %ecx subl %eax, %ecx movl %ecx, 16(%ebx) jnc .L030pw_nc4 # dl>0 Round 5 movl 20(%esi), %ecx subl %eax, %ecx movl %ecx, 20(%ebx) jnc .L031pw_nc5 # dl>0 Round 6 movl 24(%esi), %ecx subl %eax, %ecx movl %ecx, 24(%ebx) jnc .L032pw_nc6 # dl>0 Round 7 movl 28(%esi), %ecx subl %eax, %ecx movl %ecx, 28(%ebx) jnc .L033pw_nc7 addl $32, %esi addl $32, %ebx subl $8, %ebp jnz .L025pw_pos_loop.L024pw_pos_finish: movl 36(%esp), %ebp andl $7, %ebp jz .L020pw_end # dl>0 Tail Round 0 movl (%esi), %ecx subl %eax, %ecx movl %ecx, (%ebx) jnc .L034pw_tail_nc0 decl %ebp jz .L020pw_end # dl>0 Tail Round 1 movl 4(%esi), %ecx subl %eax, %ecx movl %ecx, 4(%ebx) jnc .L035pw_tail_nc1 decl %ebp jz .L020pw_end # dl>0 Tail Round 2 movl 8(%esi), %ecx subl %eax, %ecx movl %ecx, 8(%ebx) jnc .L036pw_tail_nc2 decl %ebp jz .L020pw_end # dl>0 Tail Round 3 movl 12(%esi), %ecx subl %eax, %ecx movl %ecx, 12(%ebx) jnc .L037pw_tail_nc3 decl %ebp jz .L020pw_end # dl>0 Tail Round 4 movl 16(%esi), %ecx subl %eax, %ecx movl %ecx, 16(%ebx) jnc .L038pw_tail_nc4 decl %ebp jz .L020pw_end # dl>0 Tail Round 5 movl 20(%esi), %ecx subl %eax, %ecx movl %ecx, 20(%ebx) jnc .L039pw_tail_nc5 decl %ebp jz .L020pw_end # dl>0 Tail Round 6 movl 24(%esi), %ecx
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -