![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.12.2011
Сообщений: 17
|
![]()
include '%include%/win32ax.inc'
.data a db 6 b db 8 c db 1 d db 3 r db 0 .code start: mov al,[ a ] cmp al,[ b ] jg n1 n3: cmp al,[ c ] ja n2 n4: cmp al,[ d ] ja n5 jmp exit n1: mov al,[ b ] jmp n3 n2: mov al,[ c ] jmp n4 n5: mov al,[ d ] mov [ r ],al exit: add [ r ],al add [ r ],'0' invoke MessageBox,NULL,r,"Result",MB_OKCAN CEL invoke ExitProcess,0 .end start точнее тока к этому все остольно знаю include '%include%/win32ax.inc' .data invoke MessageBox,NULL,r,"Result",MB_OKCAN CEL invoke ExitProcess,0 .end start кстати алгаритм программы начинаеться с .дата ?? |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 15.12.2011
Сообщений: 17
|
![]()
я знаю=) мне комметари нужны , да и объясните человеку чем вообще различаюсться масм фасм и тасм
просто язык ассемблер 1 а коды разные о чуть не забыл , а как сделать допустим так что бы была 1 кнопка а не 2 ? или бесконечно окошек что бы прога тока через диспечер закрывалась ? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
1)ассемблер вообще не язык, это представление опкодов процессора в текстовом виде.
разные компиляторы принимают код в разном виде(разный синтаксис). 2)чтоб программа не завершалась нужен вечный цикл(банальный jmp). 3)прочитайте описание функции MessageBox, поймете насчет кнопки. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 15.12.2011
Сообщений: 17
|
![]()
точно jmp n
n: и в начало да ? Функция MessageBox Описание: function MessageBox(Parent: HWnd; Txt, Caption: PChar; TextType: Word): Integer; Создает и отобpажает блок диалога, содеpжащий указанное сообщение и заголовок, а также пpедопpеделенные пиктогpаммы и текстовые кнопки, в соответствии с паpаметpом TexType. Параметры: Parent: Окно, владеющее блоком сообщений. Txt: Отобpажаемое сообщение (заканчивающееся пустым символом). Caption: Заголовок блока диалога (заканчивающийся пустым символом) или nil для "Error" ("Ошибка"). TextType: Одна или комбинация констант mb_. См. pаздел "Флаги блока сообщения, mb_" в главе 1. Возвpащаемое значение: В случае успешного завеpшения одна из следующих констант: id_Abort, id_Cancel, id_Ignore, id_No, id_OK, id_Retry или id_Yes. См. pаздел "Идентификатоpы команд блока диалога, id_" в главе 1. почитал мало что понял =) тоесть например вот это invoke MessageBox,NULL,message,message,MB_ OK даст кнопку ок invoke MessageBox,NULL,message,message,MB_ отмена а это даст ошибку если сразу вместе прописать так друзья давайте вспомним что мне нужны коментарии=) |
![]() |
![]() |
![]() |
#6 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
Цитата:
вообще предпочитаю оригиналы документации. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 15.12.2011
Сообщений: 17
|
![]()
include '%include%/win32ax.inc'
.data invoke MessageBox,NULL,r,"Result",MB_OKCAN CEL invoke ExitProcess,0 .end start комментарии к этому нужны |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 15.12.2011
Сообщений: 17
|
![]()
ну вот поставил метку jmp
теперь и через диспечер не выходит ХД |
![]() |
![]() |
![]() |
#9 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Код:
Цитата:
так же подключает файл с макросами(например invoke) Цитата:
Код:
равносильно Код:
функция ExitProcess является правильным выходом из программы(хотя можно и иначе). Код:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|||
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 15.12.2011
Сообщений: 17
|
![]()
да все вышел спс большое=)
push "Result" ;правда не знаю позволяет ли FASM такое позоляет выводит заголовок результат. а не могли бы помочь с другой программкой ? вообщем надо 2 возвести в степень сх, сх принимает значения от 1 до 4 это что то типо того будет ? mov ax,2 mov cx,1 mul cx, ax cmp ax,cx mov cx,2 ну и по анологии или что то типо этого include '%include%/win32ax.inc' .data a db 2 b db 1 c db 2 d db 3 r db 4 .code start: include '%include%/win32ax.inc' .data a db 2 b db 1 c db 2 d db 3 r db 4 .code start: mov al,[ a ] mul al,[ b ] jg n1 n3: mul al,[ c ] ja n2 n4: mul al,[ d ] ja n5 jmp exit n1: mov al,[ b ] jmp n3 n2: mov al,[ c ] jmp n4 n5: mov al,[ d ] mov [ r ],al exit: add [ r ],al add [ r ],'0' invoke MessageBox,NULL,r,"Result",MB_OKCAN CEL invoke ExitProcess,0 .end start |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нужны комментарии | protrence | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 08.12.2011 12:21 |
Очень нужны комментарии!!!!!!!! | Tanusha_221 | Помощь студентам | 0 | 01.05.2010 20:00 |
Скрипт JS - нужны комментарии | dropacid | JavaScript, Ajax | 3 | 04.04.2010 13:07 |
Pascal нужны комментарии к процедуре. | RrR5 | Помощь студентам | 16 | 28.01.2009 15:26 |
Диспетчер задач нужны комментарии | Naymen | Общие вопросы Delphi | 1 | 20.12.2008 12:28 |