Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Assembler Fasm. Организовать вычисления по формуле (http://www.tehnari.ru/f41/t96294/)

Charlotte 13.05.2014 00:11

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 ?

Заранее огромное спасибо за помощь!!!

mike_ 13.05.2014 03:56

Код:

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

Именно фасмом никогда не пользовался.

Charlotte 13.05.2014 11:32

mike_, спасибо вам! но мне очень нужно на Fasm!!!


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

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.