Найти разность чисел ряда Фибоначчи (18 и 6) - Assembler
Формулировка задачи:
Здравствуйте. Недавно узнал о существовании этого форума, надеюсь на Вашу профессиональную помощь!!
Прошу помощи у гуру тасма.
Есть два задания:
1. Найти разность чисел ряда Фибоначчи (18 и 6).
Писать надо в паскале, подключая asm.
Изучал литературу, разбирался. Написал такую прогу:
работает для любых введенных чисел, все выводит корректно, НО, видите ли, по словам препода - программа должна выполнять только КОНКРЕТНУЮ задачу - т.е. считать разность только конкретных чисел, в моем случае - разность 18 и 6 числа ряда, без ввода чисел ручками, чтобы просто запустить и разность готова. Есть подсказка, что нужно использовать переходы и вручную вводить первые 2 члена ряда Фибоначчи - это единицы. Помогите, пожалуйста, написать, сам не могу, не хватает мозга, опыта и времени, а сдавать уже в субботу!
2. Нужно написать в таком же ключе( через паскаль, подключая asm) программу: Вывод имени и фамилии на экран, а по нажатию энтер - чтобы имя и фамилия выводилась в центр экрана. Пожалуйста, если у кого-то есть готовая программа, можете скинуть код? Я искал в форуме про вывод "Hello world!" на экран, но не тестил в паскале при подключении asm, ничего изменять не надо? Хотя бы напишите, как реализовать вывод имени и фамилии в центр экрана по нажатию Enter?
Пытаюсь,сижу, но нихрена не выходит. Надеюсь только на
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)»
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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д