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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2012, 19:57   #1
iLOL
Пользователь
 
Регистрация: 20.05.2012
Сообщений: 12
По умолчанию Модульное программирование (TASM)

Доброго времени суток. У меня есть рабочий алгоритм. Требуется его реализовать в виде подключаемого модуля. ДЛя знающего чеовека это дело 5 минут.. Извне должен вызываться только макрос just
Код:
; МАКРОСЫ МОДУЛЯ
fopen			        macro fname,desc
pusha
mov				ah, 3ch
mov				dx, offset fname
xor				cx, cx
int				21h
mov				desc, ax
popa
endm

WriteToFile		         macro
call			         fwrite
endm

just			         macro
fopen			         fname, desc
call			         search
endm

;ПЕРЕМЕННЫЕ МОДУЛЯ
str_entr			db "Введите число: $"
oney				db "Единица не имеет простых делителей $"
strErrorValueInput	db "Неверный ввод. Давай ещё: $"
tmp				dw ?
tmp2				dw ?
errMar			db "Границы чисел не удовлетворены. Попробуйте еще раз : $"
fname			db "C:\1.txt",0
write				dw 1
desc				dw ?
space				db " "

;ПРОЦЕДУРЫ МОДУЛЯ
search			proc
mov				dx, offset str_entr                                    
call			        string
call			        inint
cmp				ax, 1
je				one

mov				bx,ax
mov				si,ax
mov				cx,si
mov				tmp2,ax

divin:
	push		        cx
	mov			ax,tmp2
	xor			dx,dx
	div			si
	cmp			dx,0
	jnz			ndiv
		mov		tmp, ax 
		mov		cx,ax
		xor		bx,bx
		mov		di, tmp
divp:
		mov		ax, tmp
		xor		dx, dx
		div		di
		cmp		dx,0
		jnz		ndivp
		inc		bx ;колво делителей
ndivp:
		dec		di
		loop	        divp 
		cmp		bx,2
		jne		ndiv
		call	        outint
		WriteToFile
		call	         setnewline
ndiv:	
	pop			cx	;
	dec			si
	loop		        divin

jmp				ext
one:
mov				dx, offset oney
call			        string
ext:			        ret
search			endp

inint          proc           near
       ...
inint          endp

outint        proc           near
       ...
outint        endp

string 	proc
	...
string 	endp


symbol 	proc
	...
symbol 	endp

setnewline 	proc
	...
setnewline 	endp
  
waiting 	proc
	...
waiting 	endp

fwrite         proc          near
       ...
fwrite         endp
iLOL вне форума Ответить с цитированием
Старый 03.06.2012, 09:59   #2
iLOL
Пользователь
 
Регистрация: 20.05.2012
Сообщений: 12
По умолчанию

//////////
iLOL вне форума Ответить с цитированием
Старый 03.06.2012, 17:47   #3
iLOL
Пользователь
 
Регистрация: 20.05.2012
Сообщений: 12
По умолчанию

Uuuuuuuuuuup
iLOL вне форума Ответить с цитированием
Старый 04.06.2012, 04:57   #4
iLOL
Пользователь
 
Регистрация: 20.05.2012
Сообщений: 12
По умолчанию

Uuuuuuuuuuup
iLOL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
модульное программирование OtshelNik Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 15.06.2011 15:20
Модульное программирование. Say Помощь студентам 2 09.02.2011 08:39
Модульное программирование Solution Machine Microsoft Office Excel 2 21.12.2009 15:13
Модульное программирование. BARNEY Общие вопросы Delphi 5 28.07.2009 09:12
модульное программирование, С++ Stiker Помощь студентам 1 09.12.2007 21:38