Необходимо ввести символьную строку,осуществить поиск имен регистров в строке и вывести содержимое найденных регистров в виде шестнадцатиричного числа. Заранее спасибо.
Код (Text): pusha mov esi, [esp+36] xor eax, eax l: shl eax, 8 and eax, 00FFFFFFh lodsb test al, al jz e cmp al, 'A' jc f cmp al, 'Z' ja f xor al, 20h f: cmp eax, 'eax' jz reax cmp eax, 'ecx' jz recx cmp eax, 'edx' jz redx cmp eax, 'ebx' jz rebx cmp eax, 'ebp' jz rebp cmp eax, 'esp' jz resp cmp eax, 'esi' jz resi cmp eax, 'edi' jz redi and eax, 0000FFFFh or eax, 00200000h cmp eax, ' ax' jz rgax cmp eax, ' cx' jz rgcx cmp eax, ' dx' jz rgdx cmp eax, ' bx' jz rgbx cmp eax, ' bp' jz rgbp cmp eax, ' sp' jz rgsp cmp eax, ' si' jz rgsi cmp eax, ' di' jz rgdi cmp eax, ' al' jz rgal cmp eax, ' cl' jz rgcl cmp eax, ' dl' jz rgdl cmp eax, ' bl' jz rgbl cmp eax, ' ah' jz rgah cmp eax, ' ch' jz rgch cmp eax, ' dh' jz rgdh cmp eax, ' bh' jz rgbh jmp l r: shl eax, 8 mov al, '=' lea ebx, [esp-12] xor ecx, ecx call wsprintfA, ebx, t, edx, eax, ecx, ecx, ecx add esp, 12 sub ebx, 4 call MessageBoxA, 0, ebx, c, MB_OK add esp, 16 jmp l e: popa ret 4 reax: mov edx, [esp+28] jmp r recx: mov edx, [esp+24] jmp r redx: mov edx, [esp+20] jmp r rebx: mov edx, [esp+16] jmp r rebp: mov edx, [esp+12] jmp r resp: mov edx, [esp+8] jmp r resi: mov edx, [esp+4] jmp r redi: mov edx, [esp+0] jmp r rgax: movzx edx, word [esp+28] jmp r rgcx: movzx edx, word [esp+24] jmp r rgdx: movzx edx, word [esp+20] jmp r rgbx: movzx edx, word [esp+16] jmp r rgbp: movzx edx, word [esp+12] jmp r rgsp: movzx edx, word [esp+8] jmp r rgsi: movzx edx, word [esp+4] jmp r rgdi: movzx edx, word [esp+0] jmp r rgal: movzx edx, byte [esp+28] jmp r rgcl: movzx edx, byte [esp+24] jmp r rgdl: movzx edx, byte [esp+20] jmp r rgbl: movzx edx, byte [esp+16] jmp r rgah: movzx edx, byte [esp+29] jmp r rgch: movzx edx, byte [esp+25] jmp r rgdh: movzx edx, byte [esp+21] jmp r rgbh: movzx edx, byte [esp+17] jmp r что-то типа этого. очепятки и недописки ищите сами, но если исправить все, то работать будет.