Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- section .data
- segment .bss
- base resb 16
- degree resb 16
- pow resb 64
- sum resb 64
- section .text
- global _start
- _start:
- ; Ввод base (base of power)
- mov eax, 3 ; Фанкшн
- mov ebx, 0 ; Дескриптор ввода
- mov ecx, base ; 'Контейнер'
- mov edx, 16 ; 'Объём контейнера'
- int 80h ; Прерывание, забыл его 'физический' смысл
- mov ebx, base ; адрес начала base
- mov esi, eax ; длина в edx
- dec esi ; чтобы было без знака переноса
- xor eax, eax
- mov edi, 10
- xor ecx, ecx
- .digits1:
- mov cl, [ebx]
- sub cl, '0'
- mul edi
- add eax, ecx ; edi * eax
- dec esi
- jnz .digits1
- push eax
- ; Ввод degree
- mov eax, 3
- mov ebx, 0
- mov ecx, degree
- mov edx, 16
- int 0x80
- mov ebx, degree ; адрес начала degree
- mov esi, eax ; длина в edx
- dec esi ; чтобы было без знака переноса
- xor eax, eax
- mov edi, 10
- xor ecx, ecx
- .digits2:
- mov cl, [ebx]
- sub cl, '0'
- mul edi
- add eax, ecx ; edi * eax
- dec esi
- jnz .digits2
- push eax
- ; Внешний цикл
- pop eax ; degree
- dec eax ; количество итераций внешнего цикла
- ; Внутренний цикл
- pop ebx ; base
- ; количество итераций внутреннего цикла
- mov edx, ebx ; save base for included loop
- mov edi, ebx ; edi = base
- .loopa:
- mov ebx, edx
- xor ecx, ecx
- .pupa:
- add ecx, edi
- dec ebx
- jnz .pupa
- mov edi, ecx
- dec eax
- jnz .loopa
- ; End game
- mov eax, 1
- int 0x80
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement