結果
問題 | No.5 数字のブロック |
ユーザー |
![]() |
提出日時 | 2016-03-31 23:52:56 |
言語 | Assembler (nasm 2.16.03) |
結果 |
AC
|
実行時間 | 1 ms / 5,000 ms |
コード長 | 10,572 bytes |
コンパイル時間 | 362 ms |
コンパイル使用メモリ | 7,076 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-18 08:26:29 |
合計ジャッジ時間 | 1,241 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 34 |
ソースコード
default relglobal _startsection .text_start:push r12lea rcx, [rel _ZL2in]push rbppush rdipush rsipush rbxsub rsp, 80lea rdx, [rsp+28H]call _ZN9FastInput11read_signedIiEEvPT_lea rdx, [rsp+2CH]lea rcx, [rel _ZL2in]call _ZN9FastInput11read_signedIiEEvPT_mov eax, dword [rsp+2CH]test eax, eaxjle L_031xor r10d, r10dxor ebp, ebpmov r9, qword 100002600Hlea rbx, [rel _ZZL6mymainvE3cnt]xor edi, edimov edx, 4096lea rsi, [rel _ZL9stdin_buf]ALIGN 8L_001: cmp byte [rel _ZL2in], 0jne L_010ALIGN 8L_002: mov rax, qword [rel _ZL13stdin_buf_ptr]cmp rax, qword [rel _ZL13stdin_buf_end]je L_021L_003: lea rcx, [rax+1H]mov qword [rel _ZL13stdin_buf_ptr], rcxmovsx eax, byte [rax]cmp al, -1je L_009cmp al, 32jbe L_008L_004: cmp al, 45je L_024lea ecx, [rax-30H]cmp cl, 9ja L_010mov rcx, qword [rel _ZL13stdin_buf_ptr]xor r12d, r12dL_005: xor r8d, r8djmp L_007L_006: lea rcx, [rax+1H]movsx eax, byte [rax]mov qword [rel _ZL13stdin_buf_ptr], rcxlea r11d, [rax-30H]cmp r11b, 9ja L_022L_007: cmp qword [rel _ZL13stdin_buf_end], rcxlea r8d, [r8+r8*4]lea r8d, [rax+r8*2-30H]mov rax, rcxjnz L_006mov eax, edisyscalllea rcx, [rel _ZL9stdin_buf]add rax, rsimov qword [rel _ZL13stdin_buf_end], raxmov qword [rel _ZL13stdin_buf_ptr], rcxcmp rax, rsije L_022mov rax, rcxjmp L_006L_008: bt r9, raxjc L_002jmp L_004ALIGN 8L_009: mov byte [rel _ZL2in], 1L_010: xor r8d, r8dL_011: movsxd rax, r8dadd dword [rbx+rax*4], 1cmp r10d, r8dcmovl r10d, r8dadd ebp, 1cmp dword [rsp+2CH], ebpjg L_001test r10d, r10dje L_032mov r9d, dword [rsp+28H]test r9d, r9djle L_032xor r11d, r11dxor ecx, ecxmov eax, 1jmp L_013ALIGN 16L_012: cmp eax, r9djg L_015L_013: movsxd r8, eaxmov edx, dword [rbx+r8*4]test edx, edxjle L_014lea r11, [rel _ZZL6mymainvE3cnt]sub edx, 1sub r9d, eaxmov dword [r11+r8*4], edxadd ecx, 1sub eax, 1mov r11d, 1L_014: add eax, 1cmp eax, r10djle L_012L_015: test r11b, r11bjne L_033L_016: lea r9, [rsp+30H]xor r8d, r8dmov r10d, 1717986919ALIGN 8L_017: mov eax, ecxadd r8d, 1add r9, 1imul r10dmov eax, ecxsar eax, 31sar edx, 2sub edx, eaxlea eax, [rdx+rdx*4]add eax, eaxsub ecx, eaxmov byte [r9-1H], clmov ecx, edxtest edx, edxjnz L_017L_018: lea rsi, [rel _ZL10stdout_buf]mov edi, 1mov edx, 4096mov r10, qword [rel _ZL14stdout_buf_ptr]lea rbx, [rel _ZL9stdin_buf]mov rbp, rsijmp L_020ALIGN 8L_019: lea r10, [rcx+1H]mov byte [rcx], r9bmov qword [rel _ZL14stdout_buf_ptr], r10test r8d, r8dje L_026L_020: sub r8d, 1mov rcx, r10movsxd rax, r8dmovzx r9d, byte [rsp+rax+30H]add r9d, 48cmp r10, rbxjnz L_019mov eax, edisyscalllea rsi, [rel _ZL10stdout_buf]mov rcx, rsijmp L_019L_021: mov eax, edisyscalllea rcx, [rel _ZL9stdin_buf]add rax, rsimov qword [rel _ZL13stdin_buf_end], raxmov qword [rel _ZL13stdin_buf_ptr], rcxcmp rax, rsije L_009mov rax, rcxjmp L_003ALIGN 8L_022: test r12b, r12bje L_011L_023: neg r8djmp L_011L_024: mov rax, qword [rel _ZL13stdin_buf_ptr]cmp rax, qword [rel _ZL13stdin_buf_end]jz L_028L_025: lea rcx, [rax+1H]movsx eax, byte [rax]mov qword [rel _ZL13stdin_buf_ptr], rcxlea r8d, [rax-30H]cmp r8b, 9ja L_029mov r12d, 1jmp L_005L_026: cmp r10, rbxjz L_030L_027: lea rdx, [r10+1H]mov eax, 1mov byte [r10], 10mov qword [rel _ZL14stdout_buf_ptr], rdxmov edi, eaxsub rdx, rbpsyscalllea rax, [rel _ZL10stdout_buf]xor edi, edimov qword [rel _ZL14stdout_buf_ptr], raxmov eax, 60syscallL_028: mov eax, edisyscalllea rcx, [rsi+rax]lea rax, [rel _ZL9stdin_buf]mov qword [rel _ZL13stdin_buf_end], rcxmov qword [rel _ZL13stdin_buf_ptr], raxcmp rcx, rsijnz L_025L_029: xor r8d, r8djmp L_023L_030: mov eax, 1mov edx, 4096mov edi, eaxsyscalllea rsi, [rel _ZL10stdout_buf]mov r10, rsijmp L_027L_031: xor ecx, ecxjmp L_016L_032: mov byte [rsp+30H], 0mov r8d, 1jmp L_018L_033:mov dword [rsp+28H], r9djmp L_016section .data_ZL14stdout_buf_ptr:dq _ZL10stdout_buf_ZL13stdin_buf_ptr:dq _ZL9stdin_buf_ZL13stdin_buf_end:dq _ZL9stdin_bufdq 0000000000000000Hsection .bss_ZZL6mymainvE3cnt:resb 400004_ZL2in: resb 28_ZL10stdout_buf:resb 4096_ZL9stdin_buf:resb 4096section .text_ZN9FastInput11read_signedIiEEvPT_:cmp byte [rcx], 0mov r9, rdxjne L_051push rdimov r10, rcxpush rsimov rsi, qword [rel _ZL13stdin_buf_ptr]cmp rsi, qword [rel _ZL13stdin_buf_end]je L_049L_034: lea rax, [rsi+1H]mov qword [rel _ZL13stdin_buf_ptr], raxmovsx eax, byte [rsi]cmp al, -1je L_042lea rsi, [rel _ZL9stdin_buf]xor edi, edimov edx, 4096mov r8, qword 100002600HL_035: cmp al, 32jbe L_040L_036: cmp al, 45je L_046lea edx, [rax-30H]cmp dl, 9ja L_043mov rcx, qword [rel _ZL13stdin_buf_ptr]xor r10d, r10dL_037: xor r8d, r8dxor edi, edimov edx, 4096lea rsi, [rel _ZL9stdin_buf]jmp L_039ALIGN 8L_038: lea rcx, [rax+1H]movsx eax, byte [rax]mov qword [rel _ZL13stdin_buf_ptr], rcxlea r11d, [rax-30H]cmp r11b, 9ja L_048L_039: cmp qword [rel _ZL13stdin_buf_end], rcxlea r8d, [r8+r8*4]lea r8d, [rax+r8*2-30H]mov rax, rcxjnz L_038mov eax, edisyscalllea rcx, [rel _ZL9stdin_buf]add rax, rsimov qword [rel _ZL13stdin_buf_end], raxmov qword [rel _ZL13stdin_buf_ptr], rcxcmp rax, rsije L_048mov rax, rcxjmp L_038ALIGN 8L_040: bt r8, raxjnc L_036mov rax, qword [rel _ZL13stdin_buf_ptr]cmp rax, qword [rel _ZL13stdin_buf_end]jz L_045L_041: lea rcx, [rax+1H]movsx eax, byte [rax]mov qword [rel _ZL13stdin_buf_ptr], rcxcmp al, -1jne L_035L_042: mov byte [r10], 1L_043: xor eax, eaxL_044: pop rsimov dword [r9], eaxpop rdiretALIGN 8L_045: mov eax, edisyscalllea rcx, [rel _ZL9stdin_buf]add rax, rsimov qword [rel _ZL13stdin_buf_end], raxmov qword [rel _ZL13stdin_buf_ptr], rcxcmp rax, rsijz L_042mov rax, rcxjmp L_041ALIGN 16L_046: mov rsi, qword [rel _ZL13stdin_buf_ptr]cmp rsi, qword [rel _ZL13stdin_buf_end]jz L_050L_047: movsx eax, byte [rsi]lea rcx, [rsi+1H]mov qword [rel _ZL13stdin_buf_ptr], rcxlea edx, [rax-30H]cmp dl, 9ja L_043mov r10d, 1jmp L_037L_048: mov eax, r8dtest r10b, r10bjz L_044neg eaxpop rsimov dword [r9], eaxpop rdiretL_049: lea rsi, [rel _ZL9stdin_buf]xor eax, eaxmov edx, 4096mov edi, eaxsyscalladd rax, rsimov qword [rel _ZL13stdin_buf_ptr], rsimov qword [rel _ZL13stdin_buf_end], raxcmp rax, rsijne L_034jmp L_042L_050: lea rsi, [rel _ZL9stdin_buf]xor eax, eaxmov edx, 4096mov edi, eaxsyscalladd rax, rsimov qword [rel _ZL13stdin_buf_ptr], rsimov qword [rel _ZL13stdin_buf_end], raxcmp rax, rsijne L_047jmp L_043L_051:xor eax, eaxmov dword [rdx], eaxretnopnopnopnopnopnopnopnopsection .text.text.startup:_GLOBAL__sub_I__start:mov byte [rel _ZL2in], 0retnopnopnopnopnopnopnopnopsection .ctorsdq _GLOBAL__sub_I__startsection .rdata