; Да се напише подпрограма, която да записва в масив от думи с начален адрес ; в регистър RDI първите 7 числа от редицата на Силвестър, първото от които е ; 2, а всяко следващо е равно на произведението на всички предидущи плюс 1. option prologue:none, epilogue:none .code sequence proc _sequence proc MOV RAX,1 ; Текущо число (MUL променя RDX -> неизползваем е) .repeat MOV RCX,RAX ; Съхрани S[i-1] - 1 за следващата итерация INC RAX ; S[i] = S[i-1] * (S[i-1] - 1) + 1 STOSQ ; Запиши S[i] в масива MUL RCX ; S[i] = S[i-1] * (S[i-1] - 1) .until (carry?) ; Ако старшата дума на произведението в RDX != 0, край RET ; Върни се към извикващата програма _sequence endp sequence endp end