Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2014, 19:50   #1
Ipman222
 
Регистрация: 26.05.2014
Сообщений: 9
По умолчанию сделать програму на асемблере

y = x3 +1
___________________________________ ____
чтото типо такого
--------------
Код:
.DATA
	xdw 3
	strbufdb 8 dup('$')
.CODE
; процедура перевода числа в строковое представление
; ax: число, ds:di – адрес буфера для строки
proc dec2str 
		push dx
		push cx

		mov dl, 10
		xor cx, cx
	dec2str_loop1:
		div dl
		push ax
		inc cx
		xor ah, ah
		cmp al, ah
		jnz dec2str_loop1
	dec2str_loop2:
		pop ax
		add ah, '0'
		mov [di], ah
		inc di
		loop dec2str_loop2

		pop cx
		pop dx
		ret
		endp dec2str
program1:
		mov ax, @data
		mov ds, ax

		;вычисление x!
		movax, 1
		movcx, [x]
	loop1:
		mul cl
		loop loop1

		;вычисление x! + 2x
		mov cx, [x]
		add ax, cx
		addax, cx

		;преобразование y в строку
		mov di, OFFSET strbuf
		push di
		call dec2str

		;выводстроки
		pop dx
		mov ah, 9
		int 21h

		;завершение программы
		movah, 4Ch
		int 21h
end program1


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 30.05.2014 в 21:27.
Ipman222 вне форума Ответить с цитированием
Старый 31.05.2014, 20:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
format MZ
include 'D:\fasmw16726\INCLUDE\win32a.inc'
push	cs
pop	ds

 call readint
 add ax,1

 call writeint


 mov	 ah, 1
 int	 21h		 ; DOS - KEYBOARD INPUT
 mov	 ah, 4Ch
 int	 21h

 mov	ah, 4Ch
 int	 21h

 ret

;Считываем число в регистр АХ
proc readint
 xor ax,ax
 xor bx,bx

inp:

 mov	 ah, 1
 int	 21h		 ; DOS - input
 cmp al,13
 je next
 sub al,'0'
 add bl,al
 mov ax,10
 xchg ax,bx
 mul bx
 xchg ax,bx
 jmp inp
next:
 mov ax,bx
 mov bx,10
 div bx
 ret
endp

;Пишем число на консоль из АХ
proc writeint
 mov bl,10
 xor cx,cx
for:
 inc cx
 div bl
 xor dx,dx
 mov dl,ah
 push dx
 xor ah,ah
 cmp al,10
 jg for
 push ax

 inc cx
 mov ah,2
output:
 pop dx
 add dl,'0'
 int 21h
 loop output
 ret
endp

;section '.data' data readable writable
s db 100 dup('$')
y dw ?
x3 dw 20
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Незнаю ка сделать програму на С++ vova_makarovych Помощь студентам 1 27.11.2011 15:37
не могу сделать програму на Си vova_makarovych Помощь студентам 2 20.10.2010 22:10