Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .section .data
  2.     a: .fill 30,4,0
  3.     string: .fill 400,1,0
  4.     string1: .fill 400,1,0
  5.     gr: .long 0
  6. .section .text
  7. .globl main
  8. main:
  9.     movl $3, %eax
  10.     movl $0, %ebx
  11.     leal string,%ecx
  12.     movl $400, %edx
  13.     int $0x80
  14.     leal string, %edi
  15.     movl $0, %esi
  16.     movl $0, %eax
  17.     movl $10, %ecx
  18. petlja:
  19.     cmpl $10, (%edi)
  20.     je dalje
  21.     xorl %ebx, %ebx
  22.     movb (%edi), %bl
  23.     cmpb $' ', %bl
  24.     je razmak
  25.     cmpb $'-', %bl
  26.     incl %edi
  27.     je minus
  28.     cmpb $'0' , %bl
  29.     jb greska
  30.     cmpb $'9', %bl
  31.     ja greska
  32.     subb $48, %bl
  33.     addl %ebx, %eax
  34.     incl %edi
  35.     mull %ecx
  36.     jc greska
  37.     jmp petlja
  38. minus:
  39.     cmpb $' ', %bl
  40.     je razmak1
  41.     cmpb $'0' , %bl
  42.     jb greska
  43.     cmpb $'9', %bl
  44.     ja greska
  45.     subb $48, %bl
  46.     addl %ebx, %eax
  47.     mull %ecx
  48.     jc greska
  49.     jmp minus
  50. razmak1:
  51.     divl %ecx
  52.     negl %eax
  53.     movl %eax, a(,%esi,4)
  54.     incl %edi
  55.     incl %esi
  56.     jmp petlja
  57. razmak:
  58.     divl %ecx
  59.     movl %eax, a(,%esi,4)
  60.     incl %esi
  61.     jmp petlja
  62. dalje:
  63.     movl $0, %ecx
  64.     movl $0, %edx
  65. blok1:
  66.     cmpl %ecx, %esi
  67.     jl dalje2
  68.     movl %ecx, %edx
  69. blok2:
  70.      incl %edx
  71.      cmpl %edx, %esi
  72.      jl blok3
  73.      movl a(,%ecx,4), %edi
  74.      cmpl %edi, a(,%edx,4)
  75.      jle blok2
  76.      xchgl %edi, a(, %edx,4)
  77.      movl %edi, a(, %ecx,4)
  78.      jmp blok2
  79. blok3:
  80.     incl %ecx
  81.     jmp blok1
  82. dalje2:      
  83.     leal string1, %edi
  84.     movl $0, %esi
  85.     movl $10, %ebx
  86. abc:
  87.     movl a(,%esi,4), %eax
  88.     incl %esi  
  89. dec_cifra:
  90.     xorl %edx, %edx
  91.     divl %ebx
  92.     addb $'0', %dl
  93.     movb %dl, (%edi)
  94.     incl %edi
  95.     andl %eax, %eax
  96.     jnz dec_cifra
  97.     decl %edi
  98.     leal dec_br, %esi
  99. obrni:
  100.     cmpl %edi, %esi
  101.     jae kraj
  102.     movb (%esi), %ah
  103.     movb (%edi), %al
  104.     movb %al, (%esi)
  105.     movb %ah, (%edi)
  106.     decl %edi
  107.     incl %esi
  108.     jmp obrni
  109.    
  110. kraj:
  111.     movl $1, %eax
  112.     int $0x80
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement