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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2012, 23:25   #1
cyber922
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 15
Вопрос соединение кода программы

есть код программы проверки треугольника:

Код:
format  PE GUI 4.0
 include ' include\WIN32AX.INC'
.data
formats db "%d",0
result db 256 dup(?) ;Когда будем преобразовывать число в                                       ;строку, сюда сохраним результат
A  db   02h   ; стороны 
B  db   02h   ; треуголь-
C  db   04h   ; ника
 
.code
start:
 
   MOV  DL,byte[C]
   MOV  AL,byte[A]
   MOV  BL,byte[B]
 
   CMP  AL,BL            ;  сравнение
   JNE  NOT_EQABC
   CMP  BL,DL
   JNE  NOT_EQABC
 
invoke MessageBox,0,result,"треугольник равносторонний",MB_OK ;Выводим результат на экран.
  JMP  METKA       ; переход  на метку
 
 NOT_EQABC: CMP     AL,BL
     JE EQUAL
     CMP        BL,DL
      JE        EQUAL
      CMP       AL,DL
      JE   EQUAL
;
invoke MessageBox,0,result,"треугольник обычный",MB_OK ;Выводим результат на экран.
     JMP        METKA
     EQUAL:
;
invoke MessageBox,0,result,"треугольник равнобедренный ",MB_OK ;Выводим результат на экран.
 
METKA:    invoke ExitProcess,0          ;Выход из программы
    .end start
мне нужно добавить проверить его на существование, и на прямоугольность
это сделано в отдельном коде.

Код:
mov al,[A]
mov bl,[B]
mov cl,[C]
cmp al,bl
jae @f ;  
xchg al,bl
@@:
cmp al,cl
jae @f
xchg al,cl
@@: ;
mov dl,bl
add dl,cl
cmp al,dl
invoke MessageBox,0,result,"треугольник существует",MB_OK ;Выводим результат на экран.
mul al ; умножаем al само на себя, результат в ax
mov dx,ax ; сохраняем ax в dx для последующего сравнения
mov al,bl
mul al
mov bx,ax ; сохраняем квадрат одной из меньших сторон в bx
mov al,cl
mul al
add bx,ax ; суммируем квадраты меньших сторон, результат в bx
cmp dx,bx ; сравниваем квадрат большей стороны и сумму квадратов меньших сторон
invoke MessageBox,0,result,"треугольник прямоугольный",MB_OK ;Выводим результат на экран.
вот теперь мне надо этот код соединить во едино...
только у меня этого не получается, прошу помощи)
cyber922 вне форума Ответить с цитированием
Старый 07.03.2012, 08:16   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

а в чём проблема? оформляйте процедурой и вставляйте в программу.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 07.03.2012, 09:16   #3
cyber922
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
а в чём проблема? оформляйте процедурой и вставляйте в программу.
в том то и дело, что я делаю, но сомневаюсь в правильности его работы.
Хотелось бы чтоб кто то по продвинутее меня это сделал((
cyber922 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сокеты. Гарантированное соединение. структура кода Pcrepair Общие вопросы Delphi 2 20.07.2011 19:23
Соединение программы с удаленной mysql базой Dominatorsha Общие вопросы Delphi 11 15.12.2010 13:31
Шифрование кода программы Kolik317 Общие вопросы Delphi 11 01.09.2010 09:24
Упрощение кода программы Alex TGM Общие вопросы C/C++ 7 30.06.2010 22:40
Оптимизация кода программы insi Фриланс 2 17.05.2008 18:30