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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2010, 17:31   #1
Enver
 
Регистрация: 16.05.2010
Сообщений: 7
Стрелка Калькулятор

Помогите написать самый простой калькулятор. Есть программа, ее нужно дописать.

.model small
.286
.data
a dw ? ; pervoye 4islo
c db ' $'; vyvod rezultata
b dw 10
znak dw ?
d dw ?; vtoroe 4islo
e dw 10
ravno dw ?
.code
start: mov ax,@data
mov ds,ax

; vvod 1 4isla

k5: mov ah,08h
int 21h
k1: cmp al,30h
ja k2
jmp k5
k2: cmp al,39h
ja k5

mov dl,al
mov ah,02h
int 21h

sub dl,30h
mov dh,0
mov a,dx ; save 1 tsifru 1 4isla
;-----------------------------------
mov si,4
k9: cmp si,0
je k6

mov ah,08h
int 21h
cmp al,30h
jae k7 ;
jmp k8 ; jump to znak

k7: cmp al,39h
ja k9

mov dl,al
mov ah,02h
int 21h

sub dl,30h
mov dh,0
mov cx,dx

mov ax,a
mul b

add ax,cx
dec si
jmp k9
;------
k8: cmp al,'+'
je k10
cmp al,'-'
je k11
cmp al, '/'
je k12
cmp al,'*'
jne k9
mov dx,3
mov znak,dx
jmp k20
k10: mov dx,1
mov znak,dx
jmp k20
k11: mov dx,2
mov znak,dx
jmp k20
k12: mov dx,4
mov znak,dx
jmp k20

k6:; vvod znaka
mov ah,08h
int 21h

cmp al,'+'
je k10
cmp al,'-'
je k11
cmp al, '/'
je k12
cmp al,'*'
jne k6
mov dx,3
mov znak,dx


k20: ; vyvod znaka

mov dl,al
mov ah,02h
int 21h


k21: ; vvod 2 4isla

k22: mov ah,08h
int 21h
cmp al,30h
ja k23
jmp k22
k23: cmp al,39h
ja k22

mov dl,al
mov ah,02h
int 21h

sub dl,30h
mov dh,0
mov d,dx ; save 1 tsifru 2 4isla
;-----------------------------------
mov si,4
k27: cmp si,0
je k24

mov ah,08h
int 21h
cmp al,3dh
ja k28 ;
jmp k92 ;jump to ravno
;------
k92: cmp al,'='
mov dx,5
mov ravno,dx
jmp k26

k24:; vvod ravno
mov ah,08h
int 21h

cmp al,'='
jne k24
mov dx,5
mov ravno,dx


k26: ; vyvod ravno

mov dl,al
mov ah,02h
int 21h


mov ah,4ch
int 21h
end start
Enver вне форума Ответить с цитированием
Старый 04.06.2010, 18:26   #2
Polos
 
Регистрация: 02.06.2010
Сообщений: 9
По умолчанию

в инете куча калькуляторов есть с комментами даже.
сегодня вечером скину.
Polos вне форума Ответить с цитированием
Старый 05.06.2010, 12:59   #3
Enver
 
Регистрация: 16.05.2010
Сообщений: 7
По умолчанию

спасибо, буду ждать
Enver вне форума Ответить с цитированием
Старый 05.06.2010, 15:54   #4
Polos
 
Регистрация: 02.06.2010
Сообщений: 9
По умолчанию

Не сегодня. До воскресения потерпите? Или даже до понедельника.
Polos вне форума Ответить с цитированием
Старый 06.06.2010, 08:37   #5
Enver
 
Регистрация: 16.05.2010
Сообщений: 7
По умолчанию

можно до воскресенья, мне срочно надо... к понедельнику.
Enver вне форума Ответить с цитированием
Старый 06.06.2010, 11:02   #6
Polos
 
Регистрация: 02.06.2010
Сообщений: 9
По умолчанию

Спорим я знаю, где ты учишься?))))
Polos вне форума Ответить с цитированием
Старый 06.06.2010, 16:02   #7
Enver
 
Регистрация: 16.05.2010
Сообщений: 7
По умолчанию

и где по твоему я учусь??
Enver вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ калькулятор napanin Общие вопросы C/C++ 0 09.05.2010 16:32
Калькулятор Иринка26 Помощь студентам 11 19.02.2010 17:05
Калькулятор program09 Общие вопросы C/C++ 1 01.06.2009 15:39
Калькулятор ViNcHeStEr Помощь студентам 5 23.11.2008 15:39
Калькулятор Димарик Общие вопросы Delphi 1 04.10.2008 15:52