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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2014, 12:03   #1
Firgat13
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 20
По умолчанию Emu8086

Emu8086 на нем писал программу



система у=((a-b)/a; при a<0,b>0;(a-b)/b ;при a>0,b<0;(a+b)/(a-b) ;при иначе
ну я так примерное сделал тока не могу сделать сравнение по b





Код:
.model small
.stack 100h
.data
                  a dw 6
                  b dw 4
                  u dw 0
                  y dw ?

.code
     
      begin:
               mov ax,@data
               mov ds,ax
               mov ax,a
               sub ax,b
               mov y,ax
               mov ax,a 
                        cmp ax,u
                                jl var1
                                jg var2

mov bx,b
cmp bx,u
jg var2
jl var1
 var3:
             mov ax,a 
             add ax,b
             cwd 
             idiv y
             jmp exit
 var2:
            mov ax,y
            cwd
            idiv b 
            jmp exit
 var1:
            mov ax,y
            cwd
            idiv a
             exit:
     

      mov y,ax
      mov ah,4ch
      int 21h
end begin

Последний раз редактировалось Stilet; 27.10.2014 в 12:28.
Firgat13 вне форума Ответить с цитированием
Старый 28.10.2014, 09:45   #2
Scorpius
Пользователь
 
Регистрация: 06.10.2014
Сообщений: 26
По умолчанию

Цитата:
Сообщение от Firgat13 Посмотреть сообщение
ну я так примерное сделал тока не могу сделать сравнение по b
Добавил сравнение по b, но в твоей программе нет вывода результата и сохраняешь только частное от деления. А остаток, ненужен?
Код:
.model small
.stack 100h
.data
		a dw 6
		b dw 4
		u dw 0
		y dw ?

.code
	begin:
		mov ax,@data
		mov ds,ax
		mov ax,a
		sub ax,b
		mov y,ax
		mov ax,a 
			cmp ax,u
				jl var1
				jg var2
				jmp result3

	var1:
		mov bx,b
		cmp bx,u
		jg result1

	var2:
		mov bx,b
		cmp bx,u
		jl result2

	result3:
		mov ax,a 
		add ax,b
		cwd 
		idiv y
		jmp exit

	result2:
		mov ax,y
		cwd
		idiv b 
		jmp exit

	result1:
		mov ax,y
		cwd
		idiv a

	exit:
		mov y,ax

		mov ah,4ch
		int 21h
end begin
Не всегда говори то, что знаешь, но всегда знай, что говоришь.
Scorpius вне форума Ответить с цитированием
Старый 28.10.2014, 11:15   #3
Firgat13
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 20
По умолчанию

без остатка. только целое число. спасибо ) а то препод ничего не обьяснил

Последний раз редактировалось Firgat13; 28.10.2014 в 11:19.
Firgat13 вне форума Ответить с цитированием
Старый 28.10.2014, 11:53   #4
Scorpius
Пользователь
 
Регистрация: 06.10.2014
Сообщений: 26
По умолчанию

А что насчет вывода результата на терминал?
Не всегда говори то, что знаешь, но всегда знай, что говоришь.
Scorpius вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не знаю как решить проблему с цветом текста) the27mart Общие вопросы C/C++ 4 21.03.2012 21:56
не знаю как решить задачи sashqaw0w Помощь студентам 1 17.12.2011 20:10
не знаю как решить задачи, завтра сдавать уже.. flz Помощь студентам 0 12.07.2011 19:02