Advertisement
pasholnahuy

Untitled

Oct 7th, 2023
1,013
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3.  1 .global supersum                                            | 1 |                      |       |              
  4.  2                                                             | 2 |----------------------|-------|              
  5.  3 supersum:                                                   | 3 | **Time limit:**      | `1 s` |              
  6.  4     xor %edx, %edx // буфер для промежуточной суммы         | 4 | **Real time limit:** | `5 s` |              
  7.  5     cmp %esi, %edi                                          | 5 | **Memory limit:**    | `64M` |              
  8.  6     jle swap                                                | 6                                              
  9.  7     mov %eax, %ecx                                          | 7                                              
  10.  8     mov $-1, %eax                                           | 8 ### Problem sm02-5: asm/algorithms/dlinko    
  11.  9                                                             | 9                                              
  12. 10 loop:                                                       |10 Напишите функцию supersum складывающую беззнак
  13. 11     inc %eax                                                |11                                              
  14. 12     cmp %eax, %edi                                          |12 В регистре eax передается указатель на число A
  15. 13     jg add_remain                                           |13                                              
  16. 14     addw (%ecx, %eax, 1), %dx                               |14 В esi лежит размер числа A, в edi размер числа
  17. 15     addw (%ebx, %eax, 1), %dx                               |15                                              
  18. 16     mov %dl, (%ecx, %eax, 1)                                |16 Программа возвращает 1 + индекс последнего нен
  19. 17     mov %dh, %dl                                            |17 размер числа C).                              
  20. 18     xor %dh, %dh                                            |18                                              
  21. 19     jmp loop                                                |19 Размер числа 0 - 0.                          
  22. 20                                                             |20                                              
  23. 21 swap:                                                       |21 Гарантируется, что размер буфера C > max(разме
  24. 22     xchg %eax, %ebx                                         |22                                              
  25. 23     xchg %esi, %edi                                         |23 Не забывайте сохранять значения регистров, кот
  26. 24     jmp supersum                                            |24                                              
  27. 25                                                             |25 Инструкции pushf и popf выглядят надежными и к
  28. 26 add_remain:                                                 |26                                              
  29. 27     addw (%ecx, %eax, 1), %dx                               |27 Входные числа могут содержать старшие нулевые
  30. 28     mov %dl, (%ecx, %eax, 1)                                |28                                              
  31. 29     mov %dh, %dl                                            |29 Вы можете протестировать функцию со [следующим
  32. 30     xor %dh, %dh                                            |30 файлами](https://gist.github.com/ObjatieGroba/
  33. 31     cmp $0, %dl                                             |31                                              
  34. 32     jnz loop                                                |32 ### Examples                                  
  35. 33                                                             |33                                              
  36.                                                                                            
  37.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement