gitcat

Untitled

Jun 14th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.79 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5.  
  6.  
  7. int main()
  8. {
  9.     char *a = (char*)malloc(16);
  10.     char **b = (char**)calloc(15, sizeof(char*));
  11.     char i, k;
  12.     printf("Array A:\n");
  13.     for (i = 0; i < 16; i++) {
  14.         scanf("%hhd", a + i);
  15.     }
  16.     __asm {
  17.         mov esi, a; указатель на a
  18.         mov ebx, b; указатель на b
  19.         mov cl, 0; счетчик цикла
  20.         mov ch, 0; счетчик элементов b
  21.         l:
  22.         mov al, byte ptr [esi]
  23.         inc esi
  24.         mov ah, byte ptr [esi]
  25.         cmp al, 0
  26.         jl skip
  27.         cmp ah, 0
  28.         jl skip
  29.         dec esi
  30.         mov dword ptr [ebx], esi
  31.         inc esi
  32.         add ebx, 4
  33.         inc ch
  34.         skip:
  35.         inc cl
  36.         cmp cl, 15
  37.         jl l
  38.         mov k, ch
  39.     }
  40.     printf("\nArray B length: %hhd\n", k);
  41.     printf("\nArray B:\n");
  42.     for (i = 0; i < k; i++) {
  43.         printf("%x ", b[i]);
  44.     }
  45.     return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment