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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 04.11.2009, 14:09   #1
rusell
Пользователь
 
Аватар для rusell
 
Регистрация: 30.03.2009
Сообщений: 20
Злость Имеется ли у вас какой ассемблерный код?

Дело в том, что не изучая ассемблера , нам дали задание найти ассемблерный код и сделать блок-схему! Ребята, может у кого имеется какая не большая программа на асм? Если вам не сложно, напиши коментарии к ней так, что бы я мог понять как программа работает(для блоксхемы) и выложите код! Потому что, все найденное в и-нете и сдесь на форуме, то ли слишком сложно, то ли не доделано!

Очень надеюсь на вашу отзывчивость и понимание!
Самый приятный момент в написании кода, это когда кажется, что код почти готов!
rusell вне форума
Старый 04.11.2009, 14:37   #2
mitryz
Пользователь
 
Регистрация: 04.10.2009
Сообщений: 29
По умолчанию

Вот код
Код:
.386
.model flat, stdcall
option casemap :none
include	\masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\gdi32.inc
include \masm32\include\opengl32.inc
include \masm32\include\glu32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\gdi32.lib
includelib \masm32\lib\opengl32.lib
includelib \masm32\lib\glu32.lib
;Глобальные переменные
_data segment
	hInstance		dd 0
	hWnd			dd 0
	hDC				dd 0
	hRC				dd 0
	ApplicationName db 'proj1', 0
	wc 				WNDCLASS <0>
	msg 			MSG <0>
	pfd 			PIXELFORMATDESCRIPTOR <0>
	ClearRed 		dd 0.5
	ClearGreen 		dd 0.5
	ClearBlue 		dd 0.5
	ClearAplha 		dd 0.0
_data ends
;Код
_text segment
begin:
	push 0
	call GetModuleHandle
	cmp eax, 0
	je exit
	mov hInstance, eax
	mov wc.style, CS_HREDRAW or CS_VREDRAW
	mov wc.lpfnWndProc, offset MsgProc
	mov wc.cbClsExtra, 0
	mov wc.cbWndExtra, 0
	push hInstance
	pop wc.hInstance
	push IDI_APPLICATION
	push 0
	call LoadIcon
	mov wc.hIcon, eax
	push IDC_ARROW
	push 0
	call LoadCursor
	mov wc.hCursor, eax
	mov wc.hbrBackground, COLOR_WINDOW
	mov wc.lpszMenuName, 0
	mov wc.lpszClassName, offset ApplicationName
	push offset wc
	call RegisterClass
	cmp eax, 0
	je exit
	push 0
	push hInstance
	push 0
	push 0
	push CW_USEDEFAULT
	push CW_USEDEFAULT
	push CW_USEDEFAULT
	push CW_USEDEFAULT
	push WS_OVERLAPPEDWINDOW or WS_VISIBLE
	push offset ApplicationName
	push offset ApplicationName
	push 0
	call CreateWindowEx
	cmp eax, 0
	je exit
	mov hWnd, eax
	call EnableOpenGL
	cmp eax, 0
	je exit
startloop:
	push PM_REMOVE
	push 0
	push 0
	push 0
	push offset msg
	call PeekMessage
	cmp eax, 0
	je onframe
	cmp msg.message, WM_QUIT
	je endloop
	push offset msg
	call TranslateMessage
	push offset msg
	call DispatchMessage
	jmp startloop
onframe:
	call OnFrame
	jmp startloop
endloop:
	call DisableOpenGL
exit:
	push 0
	call ExitProcess
EnableOpenGL proc
	push hWnd
	call GetDC
	cmp eax, 0
	je err
	mov hDC, eax
    mov pfd.nSize, sizeof PIXELFORMATDESCRIPTOR
    mov pfd.nVersion, 1
    mov pfd.dwFlags, PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER
    mov pfd.iPixelType, PFD_TYPE_RGBA
    mov pfd.cColorBits, 24
    mov pfd.cDepthBits, 32
    mov pfd.iLayerType, PFD_MAIN_PLANE
	push offset pfd
	push hDC
	call ChoosePixelFormat
	cmp eax, 0
	je err
	push offset pfd
	push eax
	push hDC
	call SetPixelFormat
	cmp eax, 0
	je err
	push hDC
	call wglCreateContext
	cmp eax, 0
	je err
	mov hRC, eax
	push hRC
	push hDC
	call wglMakeCurrent
	cmp eax, 0
	je err
	mov eax, 1
	ret
err:
	mov eax, 0
	ret
EnableOpenGL endp
DisableOpenGL proc
	push 0
	push 0
	call wglMakeCurrent
	push hRC
	call wglDeleteContext
	push hDC
	push hWnd
	call ReleaseDC
	ret
DisableOpenGL endp
InitializeOpenGL proc
	ret
InitializeOpenGL endp
OnFrame proc
	push ClearAplha
	push ClearBlue
	push ClearGreen
	push ClearRed
	call glClearColor
	push GL_COLOR_BUFFER_BIT
	call glClear
	push hDC
	call SwapBuffers
	push 1
	call Sleep
	ret
OnFrame endp
MsgProc proc
	push ebp
	mov ebp, esp
	push ebx
	push esi
	push edi
	cmp dword ptr [ebp + 0Ch], WM_DESTROY
	jne default
	push 0
	call PostQuitMessage
	jmp retnl
default:
	push dword ptr [ebp + 14h]
	push dword ptr [ebp + 10h]
	push dword ptr [ebp + 0Ch]
	push dword ptr [ebp + 8h]
	call DefWindowProc
	jmp ndprc
retnl:
	mov eax, 0
ndprc:
	pop edi
	pop esi
	pop ebx
	pop ebp
	ret 16
MsgProc endp
_text ends
end begin
A, B, C++,..
mitryz вне форума
Старый 04.11.2009, 14:39   #3
mitryz
Пользователь
 
Регистрация: 04.10.2009
Сообщений: 29
По умолчанию

советую почитать http://wasm.ru/article.php?article=1022001
A, B, C++,..
mitryz вне форума
Старый 04.11.2009, 14:43   #4
rusell
Пользователь
 
Аватар для rusell
 
Регистрация: 30.03.2009
Сообщений: 20
По умолчанию

Цитата:
mitryz
ты типо издеваешься?

не большая - строк в 20-40! + коменты ...
Самый приятный момент в написании кода, это когда кажется, что код почти готов!
rusell вне форума
Старый 04.11.2009, 15:03   #5
mitryz
Пользователь
 
Регистрация: 04.10.2009
Сообщений: 29
По умолчанию

почитай http://wasm.ru/article.php?article=1022001 там есть маленькие примеры
A, B, C++,..
mitryz вне форума
Старый 04.11.2009, 16:11   #6
rusell
Пользователь
 
Аватар для rusell
 
Регистрация: 30.03.2009
Сообщений: 20
По умолчанию

Все, спасибо! С работой справился! Удаляйте топик.
Самый приятный момент в написании кода, это когда кажется, что код почти готов!
rusell вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой код клавиши?? RAVAL)) Общие вопросы Delphi 10 28.10.2015 12:24
Какой у вас корпус системного блока? Sk!f Компьютерное железо 20 08.06.2009 01:06
какой ну жен код чтобы открыть exe файл? mrs.rafanadal Общие вопросы Delphi 1 04.06.2009 11:50
Какой нужно написать код,чтобы свернуть форму Bigtyoma Общие вопросы Delphi 2 08.09.2008 23:22