📄 bn-out.s
字号:
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 retL__bn_add_words_end:.ident "_bn_add_words".text.globl _bn_sub_words.align 4_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_finishL015aw_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_loopL014aw_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 retL__bn_sub_words_end:.ident "_bn_sub_words".text.globl _bn_sub_part_words.align 4_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_finishL018aw_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_loopL017aw_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, %ebxL019aw_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_finishL023pw_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_loopL022pw_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_endL021pw_pos: andl $4294967288, %ebp jz L024pw_pos_finishL025pw_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_loopL024pw_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 subl %eax, %ecx
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -