Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 02.05.2007, 19:31   #1
Irwin
 
Регистрация: 02.05.2007
Сообщений: 3
Репутация: 10
Печаль Ассемблер. Факториал числа. Коментарии к программе

Надо написать 2 проги:
1- Считает факториал отрицательног числа
2- Считает факториал положительного числа
И написать к этим прогам коментарии: что, где и зачем!!!!!
Ребята выручайте, очень надо как можно скорее!!!!

Последний раз редактировалось RSLoader; 03.05.2007 в 01:10.
Irwin вне форума   Ответить с цитированием
Старый 02.05.2007, 22:42   #2
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
Репутация: 285
По умолчанию

function Factorial(n: integer): integer;
begin
if N > 1
then Factorial := N*Factorial(N-1)
else Factorial := 1;
end;
__________________
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума   Ответить с цитированием
Старый 02.05.2007, 23:44   #3
Irwin
 
Регистрация: 02.05.2007
Сообщений: 3
Репутация: 10
По умолчанию

Спасибо огромное за помощ, но там пишется как-то по - другому, там сначала, по-моему в блокноте, а потом через командную строку запускаешь этот текстовый файл, но с расширением (блин чисто на память, что-то в универе говорили) asm, или что-то в этом роде. Если в курсе "о чем я", то помоги плиз!!!
Irwin вне форума   Ответить с цитированием
Старый 03.05.2007, 01:54   #4
Alexander77
Пользователь
 
Аватар для Alexander77
 
Регистрация: 27.04.2007
Сообщений: 13
Репутация: 30
По умолчанию

;==== NASM syntax вроде бы
;
; file: factorial.asm
; This program demonstrates local variables and recursion
;
%include "asm_io.inc"
segment .data
prompt db "Enter a number: ", 0
ans_msg db "! is ", 0
segment .bss
input1 resd 1
input2 resd 1
segment .text
factorial:
;
; This procedure expects one unsigned integer (n>0) on the stack.
; It returns n! in eax
;
push ebp
mov ebp,esp
sub esp,4 ;make space for a local variable (at ebp-4)
mov eax,[ebp+8] ;put parameter in eax
cmp eax,0
je done ;if we were finding 0!
mov [ebp-4],eax ;else store eax in our local variable
dec eax ;compute n-1
push eax ;put it on the stack
call factorial ;and find (n-1)!
;oops! forgetting to remove param from stack. see *
mul dword [ebp-4] ;then multiply it by our saved value
jmp epilog ;and return it
done:
mov eax,1
epilog:
mov esp,ebp ;restore esp (skip over local variables)
; Note *: saved, because we fix esp no matter what
; DON'T DO THIS. I left it in for educational purposes only
pop ebp
ret

global _asm_main
_asm_main:
enter 0,0 ; setup routine
pusha
mov eax, prompt
call print_string
call read_int
call print_int
push eax
mov eax,ans_msg
call print_string
call factorial
add esp,4 ;remove parameter from stack
call print_int
call print_nl
popa
mov eax, 0 ; return back to C
leave
ret
Alexander77 вне форума   Ответить с цитированием
Старый 03.05.2007, 13:52   #5
Irwin
 
Регистрация: 02.05.2007
Сообщений: 3
Репутация: 10
Радость СПАСИБО

Спасибо огромное, выручил! (если конечно это в том виде который мне нужен). А ты мне можешь объяснить "по-русски": что в этой программе происходит последовательно (построчно)? И она сразу считает и "+" и "-" числа?
Irwin вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Факториал числа в Delphi Prisian Общие вопросы Delphi 16 24.01.2008 14:23
Факториал числа (циклы) Sargon Общие вопросы C/C++ 2 14.01.2008 03:25
Факториал от дробного числа RIO Помощь студентам 11 26.12.2007 19:36
ADO. коментарии в Memo Чайка БД в Delphi 2 19.04.2007 20:07


15:21.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.