Даны два массива. Чётные элементы увеличить на 1 (добавьте комментарии)

Тема в разделе "WASM.BEGINNERS", создана пользователем SkurK, 14 окт 2020.

  1. SkurK

    SkurK New Member

    Публикаций:
    0
    Регистрация:
    14 окт 2020
    Сообщения:
    1
    Кому не сложно, распишите пожалуйста комментарии к программе , спасибо!

    Код (ASM):
    1. ;Даны два массива. Изменить каждый из них используя процедуру, по правилу:
    2. ;чётные элементы увеличить на 1.
    3. data segment
    4. NA EQU 3
    5. NB EQU 5
    6. A DB 1,2,3
    7. B DB -1,-2,-3,-4,-5
    8.  
    9. data ends
    10. text segment
    11. SR PROC
    12. PUSH EBP
    13. MOV EBP,ESP
    14.  
    15. PUSH BX
    16. PUSH ECX
    17. PUSH AX
    18. PUSH DX
    19.  
    20. MOV ESI,[EBP+8]
    21. MOV CX,[EBP+12]
    22.  
    23. MOV DL,2
    24. L:  MOV AL,BYTE PTR[ESI]
    25.     CBW
    26.     IDIV DL
    27.     CMP AH,0
    28.     JNE L1
    29.     MOV AL,BYTE PTR[ESI]
    30.     INC AL
    31.     MOV [ESI],AL
    32.     L1: INC ESI
    33.         LOOP L
    34. POP DX
    35. POP AX
    36. POP ECX
    37. POP BX
    38.  
    39. POP EBP
    40. RET
    41. SR ENDP
    42.  
    43. start:
    44.  
    45. MOV AX,NA
    46. PUSH AX
    47. LEA EAX,A
    48. PUSH EAX
    49. CALL SR
    50. MOV AX,NB
    51. PUSH AX
    52. LEA EAX,B
    53. PUSH EAX
    54. CALL SR
    55.  
    56. push 0
    57. call ExitProcess@4
    58. text ends
    59. end start
     
    Последнее редактирование модератором: 15 окт 2020
  2. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.787
    SkurK,

    Если в вуз поступил, то либо плати либо учись.
     
    Mikl___ и q2e74 нравится это.