Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 13.05.2014, 00:11   #1 (permalink)
Charlotte
Member
 
Регистрация: 20.04.2014
Сообщений: 63
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Assembler Fasm. Организовать вычисления по формуле

привет, всем активным участникам этого замечательного форума. Помогите, пожалуйста, написать программу на Fasm (Assembler).

задание:
организовать вычисления (сложение и вычитание) по формуле
K=(a+5)-(c+d)+(e-f-7+a)

вот пример:
Код:
x=(a+b)/c
x =двойное слово
а=byte
b,c=слово
use16
org 100h
 movsx ax,[a]    {ax=a}
 add ax,[b]       {ax=b+a}
 cwd                {dx:ax=a+b}
 idiv [c] 
 cwd               {dx:ax=(a+b)/c}
 mov word[x],ax  {отправляем слово ах}
 mov word[x+2],dx  {остоток от деления x+2}


 mov ax,4c00h
 int 21h
;--------------
a db 5
b dw 5
c dw 2
x dd ?
вот ещё один пример:
Код:
s=s0+vt+at2/2
use16
org 100h
 mov al,[v0] {al=v0}
 mov cl,[t]{cl=t}
 mul cl{ax=al*cl=v0t}
 mov bx,ax{bx=ax=v0t}

 mov al,[a] {al=a}
 mul cl{ax=al*cl=a*t}
 mov ch,0{перетворюємо t в слово}
 mul cx {dx:ax=ax*cx=at2}
 mov cl,2{cl=2}
 div cx{ax=(ax/2)=(at2/2)

 add ax,bx{ax=ax+bx=v0t+at2/2}
 add al,[x0]{ax=ax+x0=x0+v0t+at2/2}
 adc ah,ch

 mov [x],ax {x=ax}

 mov ax,4c00h{конец}
 int 21h{конец}
;--------------
x0 db 100
v0 db 7
a db 3
t db 25
x dw ?
Заранее огромное спасибо за помощь!!!
Charlotte вне форума   Ответить с цитированием

Старый 13.05.2014, 00:11
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Возможно, ваша ваша проблема уже имеет решение на нашем форуме

Assembler Fasm. Определить значение функции
Вычислить значение переменной по заданной формуле и переменным
Как организовать подключения по Wi-Fi ?
Assembler
Как организовать автовключение усилителя?

Старый 13.05.2014, 03:56   #2 (permalink)
mike_
VIP user
 
Аватар для mike_
 
Регистрация: 15.01.2014
Сообщений: 1,828
Сказал(а) спасибо: 242
Поблагодарили 15 раз(а) в 11 сообщениях
Репутация: 26010
По умолчанию

Код:
CSEG segment
		org	100h
		start:
		a equ ?
		c equ ?
		d equ ?
		e equ ?
		f equ ?
                      xor ah,ah
		mov al,a
		add al,#5
		mov dl,al
		mov al,c
		add al,d
		sub dl,al
		mov al,e
		sub al,f
		sub al,#7
		add al,a
		add al,dl
k equ al
		
		CSEG ends
end	start
Именно фасмом никогда не пользовался.

Последний раз редактировалось mike_; 13.05.2014 в 04:04
mike_ вне форума   Ответить с цитированием
Старый 13.05.2014, 11:32   #3 (permalink)
Charlotte
Member
 
Регистрация: 20.04.2014
Сообщений: 63
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

mike_, спасибо вам! но мне очень нужно на Fasm!!!
Charlotte вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 19:16.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.