Какая строка будет выведена на экран? - Assembler

Узнай цену своей работы

Формулировка задачи:

Какая строка будет выведена на экран?
    mov     eax, 42424242h
    cmp     eax, 42424242h
    xor     ecx, ecx
    jnz     short near ptr loc_A+3
 
loc_A:
    mov     edx, 0
 
loc_B:
    mov     ecx, 9EB4556h       ; .byte 0xb9, 0x56, 0x45
        ; .byte 0xEB, 0x09
    mov     ecx, 137F1Bh
    div     ecx
    jmp     short near ptr loc_B+3      ; .byte 0xeb, 0xf5
    
    imul    ecx, edx, 41A7h
 
loc_C: 
    imul    eax, 0AEBD1C0h
    xchg    eax, ecx
    sub     eax, ecx
    and     eax, 7FFFFFFFh
    jnz     short near ptr loc_C+1  ; .byte 0x75, 0x100-15
    push    eax
    push    offset fmt          ; "%x\n"
    call    _printf
    push    0
    call    _exit

Решение задачи: «Какая строка будет выведена на экран?»

textual
Листинг программы
; masm windows gui #
.686
.MODEL flat
include windows.inc
includelib user32.lib
includelib kernel32.lib
includelib msvcrt.lib     
include kernel32.inc
include user32.inc
include msvcrt.inc
.data
fmt db "%x\n",0
string db 10 dup (0)
.CODE      
start:  
    mov     eax, 42424242h
    cmp     eax, 42424242h
    xor     ecx, ecx
    jnz     short near ptr loc_A+3
 
loc_A:
    mov     edx, 0
 
loc_B:
    mov     ecx, 9EB4556h       
    mov     ecx, 137F1Bh
    div     ecx
    jmp     short near ptr loc_B+3          
    imul    ecx, edx, 41A7h 
loc_C: 
    imul    eax, 0AEBD1C0h
    xchg    eax, ecx
    sub     eax, ecx
    and     eax, 7FFFFFFFh
    jnz     short near ptr loc_C+1  
        invoke crt_sprintf,offset string,offset fmt,eax
    invoke MessageBox,0,offset string,0,MB_OK
    invoke ExitProcess,0
end start

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы