Найти разность чисел ряда Фибоначчи (18 и 6) - Assembler

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Недавно узнал о существовании этого форума, надеюсь на Вашу профессиональную помощь!! Прошу помощи у гуру тасма. Есть два задания: 1. Найти разность чисел ряда Фибоначчи (18 и 6). Писать надо в паскале, подключая asm. Изучал литературу, разбирался. Написал такую прогу:
Program 1;
var: Q,W: word; x,z: byte;
begin
readln(x,z);
asm
{Первое число}
xor bx,bx
mov cl,z
mov ch,1
mov dx,1
mov ax,1
cmp cl,1
je @metka1
@metka2:
xor ax,ax
add ax,bx
add ax,dx
mov bx,dx
mov dx,ax
add ch,1
cmp ch,cl
jne @metka2
metka1:
mov Q,ax
{Второе число}
xor bx,bx
mov cl,x
mov ch,1
mov dx,1
mov ax,1
cmp cl,1
je @metka3
@metka4:
xor ax,ax
add ax,bx
add ax,dx
mov bx,dx
mov dx,ax
add ch,1
cmp ch,cl
jne @metka4:
mov W,ax
{Разность}
mov ax,W
mov bx,Q
sub ax,bx
mov W,ax
end;
writeln(W);
readln;
end.
работает для любых введенных чисел, все выводит корректно, НО, видите ли, по словам препода - программа должна выполнять только КОНКРЕТНУЮ задачу - т.е. считать разность только конкретных чисел, в моем случае - разность 18 и 6 числа ряда, без ввода чисел ручками, чтобы просто запустить и разность готова. Есть подсказка, что нужно использовать переходы и вручную вводить первые 2 члена ряда Фибоначчи - это единицы. Помогите, пожалуйста, написать, сам не могу, не хватает мозга, опыта и времени, а сдавать уже в субботу! 2. Нужно написать в таком же ключе( через паскаль, подключая asm) программу: Вывод имени и фамилии на экран, а по нажатию энтер - чтобы имя и фамилия выводилась в центр экрана. Пожалуйста, если у кого-то есть готовая программа, можете скинуть код? Я искал в форуме про вывод "Hello world!" на экран, но не тестил в паскале при подключении asm, ничего изменять не надо? Хотя бы напишите, как реализовать вывод имени и фамилии в центр экрана по нажатию Enter? Пытаюсь,сижу, но нихрена не выходит. Надеюсь только на

вашу

помощь!!!

Решение задачи: «Найти разность чисел ряда Фибоначчи (18 и 6)»

textual
Листинг программы
; tasm dos com #
.286
.model tiny
.code
org 100h
start:  mov cx,18
    call fib; в АХ 18-ое число ряда Фибоначчи
    mov dx,ax
    mov cx,6
    call fib; в АХ 6-ое число ряда Фибоначчи
    sub dx,ax;в DX разность чисел ряда Фибоначчи (18 и 6)
    ret; выход из программы
 
fib proc; расчет чисел ряда Фибоначи
    mov ax,1;первое число Фибоначчи
        mov bx,ax
a1: add ax,bx
        xchg ax,bx
        loop a1
    ret
fib endp
end start

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы