Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2009, 20:38   #1
Lamo
Пользователь
 
Регистрация: 15.12.2009
Сообщений: 49
По умолчанию Как вывести числа от 0 до 9 при помощи FASM?

Подскажите пожалуйста новичку как реализовать вывод чисел от 0 до 9 при помощи FASM для PE GUI 4.0? Если что-то напутал с темой, извините, в первый раз.
Lamo вне форума Ответить с цитированием
Старый 15.12.2009, 21:02   #2
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

можно выбрать здесь
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 15.12.2009, 21:32   #3
Lamo
Пользователь
 
Регистрация: 15.12.2009
Сообщений: 49
По умолчанию

Если не сложно, кто-нибудь может написать пример программы?
Lamo вне форума Ответить с цитированием
Старый 29.12.2010, 14:26   #4
DinoAsm
Пользователь
 
Аватар для DinoAsm
 
Регистрация: 29.10.2010
Сообщений: 31
По умолчанию

PE GUI 4.0 - это что? Если имеется ввиду Graphical User Interface Wind-ы, то всё написано в приложеном файле. Правда, там всё на английском.
Вложения
Тип файла: rar win32.rar (4.45 Мб, 14 просмотров)
В гостях - хорошо. Дома – лучше. В пути туда и обратно - терпимо. Стоять в проходе и по пол часа прощаться – ужасно.

Последний раз редактировалось DinoAsm; 29.12.2010 в 14:59.
DinoAsm вне форума Ответить с цитированием
Старый 29.12.2010, 14:57   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Прям из Example Асма:
Код:
; Template for program using standard Win32 headers

format PE GUI 4.0
entry start

include 'D:\fasmw16726\INCLUDE\win32a.inc'

section '.data' data readable writeable
  _class TCHAR 'FASMWIN32',0
  _title TCHAR 'Win32 program template',0
  _error TCHAR 'Startup failed.',0
  dc dd ?
  s db " ",0
  wc WNDCLASS 0,WindowProc,0,0,NULL,NULL,NULL,COLOR_BTNFACE+1,NULL,_class

  msg MSG

section '.code' code readable executable

  start:

        invoke  GetModuleHandle,0
        mov     [wc.hInstance],eax
        invoke  LoadIcon,0,IDI_APPLICATION
        mov     [wc.hIcon],eax
        invoke  LoadCursor,0,IDC_ARROW
        mov     [wc.hCursor],eax
        invoke  RegisterClass,wc
        test    eax,eax
        jz      error

        invoke  CreateWindowEx,0,_class,_title,WS_VISIBLE+WS_DLGFRAME+WS_SYSMENU,128,128,256,192,NULL,NULL,[wc.hInstance],NULL
        test    eax,eax
        jz      error

  msg_loop:
        invoke  GetMessage,msg,NULL,0,0
        cmp     eax,1
        jb      end_loop
        jne     msg_loop
        invoke  TranslateMessage,msg
        invoke  DispatchMessage,msg
        jmp     msg_loop

  error:
        invoke  MessageBox,NULL,_error,NULL,MB_ICONERROR+MB_OK

  end_loop:
        invoke  ExitProcess,[msg.wParam]

proc WindowProc hwnd,wmsg,wparam,lparam
        push    ebx esi edi
        cmp     [wmsg],WM_DESTROY
        je      .wmdestroy
        cmp     [wmsg],WM_PAINT
        jne      .defwndproc
        ;*******************************
         invoke GetDC,[hwnd]
         mov [dc],eax
        ;** Рисуем **********
         mov ecx,9;
         mov ebx,10;
         .aga:
          mov edx,ecx
          push ecx
          add edx,'0'
          mov byte [s],dl
          invoke TextOut,[dc],ebx,10,s,1
          add ebx,20
          pop ecx
         loop .aga
         invoke ReleaseDC,[hwnd],[dc]
        ;*******************************
        jmp     .finish

  .defwndproc:
        invoke  DefWindowProc,[hwnd],[wmsg],[wparam],[lparam]
        jmp     .finish
  .wmdestroy:
        invoke  PostQuitMessage,0
        xor     eax,eax
  .finish:
        pop     edi esi ebx
        ret
endp

section '.idata' import data readable writeable

  library gdi32,'gdi32.DLL',\
          kernel32,'KERNEL32.DLL',\
          user32,'USER32.DLL'

  include 'D:\fasmw16726\INCLUDE\api\kernel32.inc'
  include 'D:\fasmw16726\INCLUDE\api\user32.inc'
  include 'D:\fasmw16726\INCLUDE\api\gdi32.inc'
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2010, 15:37   #6
DinoAsm
Пользователь
 
Аватар для DinoAsm
 
Регистрация: 29.10.2010
Сообщений: 31
По умолчанию

Попробуй заменить "invoke TextOut,[dc],ebx,10,s,1" на "invoke TextOut,[dc],edx,10,s,1" в обработке сообщения WM_PAINT.
В гостях - хорошо. Дома – лучше. В пути туда и обратно - терпимо. Стоять в проходе и по пол часа прощаться – ужасно.
DinoAsm вне форума Ответить с цитированием
Старый 29.12.2010, 15:52   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
DinoAsm
Зачем?????
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2010, 16:01   #8
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Некро...........
DinoAsm, не, ну если хорошо поискать, то можно и двухгодичные незакрытые темы найти и туда ещё чё-нить ну ваще написать.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 29.12.2010, 16:15   #9
DinoAsm
Пользователь
 
Аватар для DinoAsm
 
Регистрация: 29.10.2010
Сообщений: 31
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Зачем?????
Звыняюсь, я чего-то напутал. Думаю, длинну строки нужно записывать с учётом последнего нулевого символа.
В гостях - хорошо. Дома – лучше. В пути туда и обратно - терпимо. Стоять в проходе и по пол часа прощаться – ужасно.
DinoAsm вне форума Ответить с цитированием
Старый 29.12.2010, 16:24   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ulex
Ничего. Вполне кому-то может пригодится
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как числа в двоичном виде вывести в столбик по 4 числа? Equalizer Общие вопросы C/C++ 11 27.09.2009 14:15
Как вывести из диапозона не хватающие числа... boy24 Microsoft Office Excel 7 08.06.2009 06:08
дано трехзначное число.вывести число,полученное при перестановки цифр десятков и сотен исходдного числа. Kenny_mackormik Помощь студентам 7 12.03.2009 15:18
Как при помощи сырых-COM использовать компонет браузер IE AlexDX Общие вопросы C/C++ 0 04.02.2009 20:24
Как вывести все целые степени числа? riorio07 Паскаль, Turbo Pascal, PascalABC.NET 1 20.05.2008 11:47