Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
ms200792
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 7
#1

Калькулятор(коментарии) - Assembler

22.12.2010, 01:10. Просмотров 386. Ответов 0
Метки нет (Все метки)

Вот программа "Калькулятор" немогли бы вы проставить коментарии где ето возможно ,что из каждых пунктов делает!Исправить знаки "???" в программе
""""Неработает ещё "точка" и "+/-" если можно исправить""""

Вод код!ЗАРАНЕЕ БЛАГОДАРЕН!
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
.386                    ;директива визначення типу мікропроцесора
.model flat,stdcall     ; завдання лінійної моделі пам'яті
option casemap:none ;відмінність малих та великих літер
 
include     include\windows.inc
include     include\gdi32.inc
includelib  lib\gdi32.lib
include     include\kernel32.inc
includelib  lib\kernel32.lib
include     include\user32.inc
includelib  lib\user32.lib
include     include\comctl32.inc
include     include\comdlg32.inc
includelib  lib\comctl32.lib
includelib  lib\comdlg32.lib
include     include\shell32.inc
includelib  lib\shell32.lib
            ;бібліотеки
;-----------------------------------------------
 
            ; директива визначення даних
.data
hInstance   dd  ?
hWnd        dd  ?
msg     MSG <>
data_1      dd  0
data_2      dd  0
handle      dw  0
sz          db  ,0
szt         db  ,0      
 
                       ; директива початку коду програми
.code
_ProcDlgMain    proc    uses ebx edi esi subhWnd,wMsg,wParam,lParam   ;процедура ProcDlgMain
        mov eax,wMsg
 
        .if eax == WM_CLOSE
            invoke  DestroyWindow,hWnd
            invoke  PostQuitMessage,0
        .elseif eax== WM_INITDIALOG
            push    subhWnd
            pop hWnd
        .elseif eax==WM_COMMAND
            mov eax,wParam
            .if ax>=0 && ax<=9
                mov ecx,data_1
                movzx   ebx,ax
                .if !ecx
                    mov data_1,ebx
                .else
                    mov data_2,ebx
                .endif
                invoke  SetDlgItemInt,subhWnd,253,ebx,1
            .elseif ax>=11 && ax <= 12;+-
                push    eax
                mov bx,handle
                .if bx
                    mov ecx,data_1
                    .if bx==11
                        add ecx,data_2
                    .elseif bx==12
                        sub ecx,data_2
                    .endif
                    mov data_1,ecx
                    invoke  SetDlgItemInt,subhWnd,253,ecx,1
                    mov data_2,0
                .endif
                pop eax
                mov handle,ax
            .elseif ax==13  
                xor eax,eax
                mov data_1,eax
                mov data_2,eax
                mov handle,ax
                invoke  SetDlgItemInt,subhWnd,253,eax,1
            .elseif ax==14;=
                mov bx,handle
                mov ecx,data_1
                .if bx==11
                    add ecx,data_2
                .elseif bx==12
                    sub ecx,data_2
                .endif
                mov data_1,ecx
                invoke  SetDlgItemInt,subhWnd,253,ecx,1
                mov data_2,0
            .elseif ax==254 || ax==255
                invoke  MessageBox,subhWnd,addr sz,addr szt,4096
            .endif
        .else
            mov eax,FALSE
            ret
        .endif
        mov eax,TRUE
        ret
_ProcDlgMain    endp
 
start:
    invoke  GetModuleHandle,0
    mov hInstance,eax
 
    invoke  CreateDialogParam,hInstance,101,0,offset _ProcDlgMain,NULL
    .while  1
    invoke  GetMessage,addr msg,0,0,0
    .break  .if !eax
        invoke  TranslateMessage,addr msg
        invoke  DispatchMessage,addr msg
    .endw
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    invoke  ExitProcess,NULL
        end start                     ;конец программы


Вкладуюю также саму программу
http://www.cyberforum.ru/assembler/thread66663.html
0
Вложения
Тип файла: rar calc.rar (5.5 Кб, 24 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2010, 01:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Калькулятор(коментарии) (Assembler):

написать коментарии к программе и исправить ошибку в одной программе
и впрграмме mass нужно найти ошибку

Калькулятор
Вот программа &quot;Калькулятор&quot; немогли бы вы проставить коментарии где ето...

Калькулятор
Всем привет! У меня несколько вопросов: 1. Почему не выводит результат...

Калькулятор
программа что то типо калькулятора и только которая бы смогла решать 1 пример....

Калькулятор матриц
Нужно написать программу на MASM32 калькулятор матриц,подскажите с чего бы...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2010, 01:10
Привет! Вот еще темы с решениями:

Калькулятор на ассемблере
Есть программа, но считает не правильно, не соблюдает иерархию знаков (+ и -...

Простейший калькулятор
Стоит задача следующего типа: написать простейший калькулятор, умеющий...

Консольный калькулятор на 4 действия на FASM
Товарищи форумчане! Учусь я на втором курсе и препод по архитектуре компьютера...

Арифметический калькулятор для двух двузначных чисел
Нужно создать калькулятор. Вводятся 2 двузначных числа с клавиатуры. Нужно их...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru