РАССЫЛКИ ПОРТАЛА RFPRO.RU
Лучшие эксперты в разделе
Номер выпуска: 1786 Дата выхода: 24.04.2021, 15:45 Администратор рассылки: Зенченко Константин Николаевич (Старший модератор) Подписчиков / экспертов: 2 / 25 Вопросов / ответов: 1 / 1
Консультация # 200646 : Здравствуйте есть код на nasm который выводит сигнатуру процессора десятичным числом через фунцию call printf %u как мне вывести в двоичном числе? x86 nasm windows консоль. Консультация # 200646 :
Здравствуйте есть код на nasm который выводит сигнатуру процессора десятичным числом через фунцию call printf %u как мне вывести в двоичном числе? x86 nasm windows консоль.
Код
global main extern printf extern ExitProcess@4 segment .data Not_Supp db 'CPUID not supported', 10, 0 Supp db 'CPUID supported', 10, 0 Strl db 'Number function: %d', 10 db 'ID: %s', 10, 0 ModelStr db 'signature %u %Xh', 10, 0 ;Number dd 0 Buf times 32 db 0 Buf_Length equ $ - Buf - 1 db 0 endline db 13,10,'$' segment .code main: pushfd pop eax mov ebx, eax xor eax, 200000h push eax popfd pushfd pop eax cmp eax, ebx jne CPUIDSupp push Not_Supp call printf jmp @exit CPUIDSupp: push Supp call printf mov eax, 0 cpuid mov dword [Buf], ebx mov dword [Buf+4], edx mov dword [Buf+8], ecx push Buf push eax push Strl call printf ;push 32 ;push dword 0 ;push Buf ;call memset mov eax, 1 cpuid push eax push eax push ModelStr call printf @exit: push dword 0 call ExitProcess@4 Дата отправки: 14.04.2021, 15:34 Вопрос задал: Степанов Иван /REDDS (4-й класс) Всего ответов: 1 Страница онлайн-консультации »
Консультирует Зенченко Константин Николаевич (Старший модератор):
Здравствуйте, Степанов Иван /REDDS!
В строку преобразовывать не пробывали?
Зенченко Константин Николаевич Смотрите код(FASM) Код
format PE entry begin include 'WIN32AX.INC' section '.code' code readable executable begin: mov eax,1 cpuid mov ebx,eax mov edi,dbBin mov ecx,32 push edi push eax cld @@01: xor eax,eax shl ebx,1 adc al,'0' stosb loop @@01 xor eax,eax stosb pop eax push eax push eax push dbFormat call [printf] xor eax,eax call ExitProcess section '.data' data readable writable dbFormat db 'signature hex= %x oct= %o bin= %s this all',0 dbBin db 32 dup(?),0 section '.idata' import data readable library kernel, 'kernel32.dll',\ msvcrt, 'msvcrt.dll' import kernel,\ ExitProcess, 'ExitProcess' import msvcrt,\ printf, 'printf' Улачи! Консультировал: Зенченко Константин Николаевич (Старший модератор) Дата отправки: 23.04.2021, 18:09
5
Огромное спасибо за ответ и уделенное время. ----- Дата оценки: 23.04.2021, 23:11 Рейтинг ответа: +1
Оценить выпуск | Задать вопрос экспертам
главная страница | стать участником | получить консультацию техническая поддержка
Дорогой читатель! Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его . Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум , почитав журнал , который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом . Заходите - у нас интересно! МЫ РАБОТАЕМ ДЛЯ ВАС!
Комментариев нет:
Отправить комментарий