Advertisement
dariahinz

rejestr 1024 przesuniecie cykliczne

Nov 22nd, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. .686
  2. .model flat
  3.  
  4. extern _ExitProcess@4 : PROC
  5. extern __write : PROC
  6. public _main
  7.  
  8. .data
  9. rejestr1024 db 128 dup (81h)
  10.  
  11.  
  12.  
  13. .code
  14.  
  15.  
  16.  
  17. przesun PROC
  18.  
  19. xor eax, eax
  20. mov ebx, 128
  21. xor edx, edx
  22. xor ecx, ecx
  23.  
  24. mov al, [esi]
  25. shl al, 1
  26. mov [esi], al
  27. jnc skok
  28. mov dl,1
  29. dec ebx
  30. skok:
  31.  
  32. ptl:
  33. xor eax, eax
  34. inc esi
  35. mov al, [esi]
  36. cmp dl,0
  37. je tylko_przesun
  38.  
  39. shl al,1
  40. jnc ustaw_0
  41. mov dl,1
  42. skok2:
  43. or al, 00000001b
  44. mov [esi],al
  45. dec ebx
  46. cmp ebx,0
  47. jne ptl
  48. jmp koniec
  49.  
  50. tylko_przesun:
  51. shl al, 1
  52. jnc ustaw2_0
  53. mov dl,1
  54. skok1:
  55. mov [esi],al
  56. dec ebx
  57. cmp ebx,0
  58. jne ptl
  59.  
  60. jmp koniec
  61. ustaw_0:
  62. mov dl,0
  63. jmp skok2
  64.  
  65. ustaw2_0:
  66. mov dl,0
  67. jmp skok1
  68.  
  69.  
  70. koniec:
  71.  
  72. cmp dl,1
  73. je carry1
  74. CLC
  75. jmp ending
  76. carry1:
  77. mov al, rejestr1024[0]
  78. or al, 00000001b
  79. STC
  80.  
  81. ending:
  82. ret
  83. przesun ENDP
  84.  
  85. _main:
  86. mov esi, offset rejestr1024
  87. call przesun
  88.  
  89. push 128
  90. push offset rejestr1024
  91. push 1
  92.  
  93. call __write
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100. push 0
  101. call _ExitProcess@4
  102.  
  103. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement