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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2011, 19:31   #1
serrgggeee
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 65
По умолчанию Программа имитации звуковой серены

скажите мне пожалуйста чем отличается исходный код для DOS Windows Linuks и в частности какое различе исходноого кода для DOS в TASM и Windows для MASM, мне нужно программу написанную для DOS откомпилировать в Windows используя MASM.
Вот этот исходный код извините пожалуйсто кодировка коментариев не понятнай причину не знаю.
Код:
;---------Prg_7_1.asm---------------
;Џа®Ја*¬¬* ,Ё¬ЁвЁагой*п §ўгЄ бЁаҐ*л.
;€§¬Ґ*Ґ*ЁҐ ўлб®вл §ўгЄ* ®в 450 ѓж ¤® 2100 ѓж.
;€бЇ®«м§гҐвбп ¬*Єа®б delay (§*¤Ґа¦Є*).
;ЏаЁ *Ґ®Ўе®¤Ё¬®бвЁ
;¬®¦*® Ї®¬Ґ*пвм §**зҐ*ЁҐ §*¤Ґа¦ЄЁ (Ї® 㬮«з**Ёо - ¤«п Їа®жҐбб®а* Pentium).
;------------------------------------
masm
model	small
stack	100h
delay macro time
;¬*Єа®б §*¤Ґа¦ЄЁ, ҐЈ® ⥪бв ®Ја**ЁзЁў*Ґвбп ¤ЁаҐЄвЁў*¬Ё macro Ё endm.
;Ќ* ўе®¤Ґ - §**зҐ*ЁҐ §*¤Ґа¦ЄЁ (ў ¬Єб)
	local	ext,iter
	push	cx
	mov	cx,time
ext:
	push	cx
	mov	cx,5000
iter:
	loop	iter
	pop	cx
	loop	ext
	pop	cx
endm
.data	;ᥣ¬Ґ*в ¤***ле
tonelow	dw	2651	;*Ё¦*пп Ја**Ёж* §ўгз**Ёп = 450 ѓж
cnt	db	0	;бзсвзЁЄ ¤«п ўл室* Ё§ Їа®Ја*¬¬л
temp	dw	?	;ўҐае*пп Ја**Ёж* §ўгз**Ёп
.code	;ᥣ¬Ґ*в Є®¤*
main:	;в®зЄ* ўе®¤* ў Їа®Ја*¬¬г
	mov	ax,@data	;бўп§лў*Ґ¬ ॣЁбва ds б ᥣ¬Ґ*⮬
	mov	ds,ax	;¤***ле зҐаҐ§ ॣЁбва ax
	xor	ax,ax	;®зЁй*Ґ¬ ax
go:
;§**®бЁ¬ б«®ў® б®бв®п*Ёп 10110110b(0‚6h) ў Є®¬**¤*л© аҐЈЁбва (Ї®ав 43h)
	mov	al,0B6h
	out	43h,al
	in	al,61h	;Ї®«гзЁ¬ §**зҐ*ЁҐ Ї®ав* 61h ў al
	or	al,3	;Ё*ЁжЁ*«Ё§Ёа㥬 ¤Ё**¬ЁЄ Ё Ї®¤*Ґ¬ в®Є ў Ї®ав 61h
	out	61h,al
	mov	cx,2083	;Є®«ЁзҐбвў® и*Ј®ў бвгЇҐ*з*в®Ј® Ё§¬Ґ*Ґ*Ёп в®**
musicup:
;ў ax §**зҐ*ЁҐ *Ё¦*Ґ© Ја**Ёжл з*бв®вл 
	mov	ax,tonelow
	out	42h,al	;ў Ї®ав 42h ¬«*¤иҐҐ б«®ў® ax :al
	xchg	al,ah	;®Ў¬Ґ* ¬Ґ¦¤г al Ё ah
	out	42h,al	;ў Ї®ав 42h бв*а襥 б«®ў® ax:ah
	add	tonelow,1	;Ї®ўли*Ґ¬ в®*
	delay 1	;§*¤Ґа¦Є* ** 1 ¬Єб
	mov	dx,tonelow	;ў dx ⥪г饥 §**зҐ*ЁҐ ўлб®вл
	mov	temp,dx	;temp - ўҐае*ҐҐ §**зҐ*ЁҐ ўлб®вл 
	loop	musicup	;Ї®ўв®аЁвм жЁЄ« Ї®ўлиҐ*Ёп
	mov	cx,2083	; ў®ббв**®ўЁвм бзҐвзЁЄ жЁЄ«*
musicdown:
	mov	ax,temp	;ў ax ўҐае*ҐҐ §**зҐ*ЁҐ ўлб®вл
	out	42h,al	;ў Ї®ав 42h ¬«*¤иҐҐ б«®ў® ax :al
	mov	al,ah	;®Ў¬Ґ* ¬Ґ¦¤г al Ё ah
	out	42h,al;ў Ї®ав 42h бв*а襥 б«®ў® ax :ah
	sub	temp,1	;Ї®*Ё¦*Ґ¬ ўлб®вг
	delay 1	;§*¤Ґа¦Є* ** 1 ¬Єб
	loop musicdown	;Ї®ўв®аЁвм жЁЄ« Ї®*Ё¦Ґ*Ёп
nosound:
	in	al,61h	;Ї®«гзЁ¬ §**зҐ*ЁҐ Ї®ав* 61h ў AL
	and	al,0FCh	;ўлЄ«озЁвм ¤Ё**¬ЁЄ
	out	61h,al	;ў Ї®ав 61h
	mov	dx,2651	;¤«п Ї®б«Ґ¤гойЁе жЁЄ«®ў
	mov	tonelow,dx
	inc	cnt	;㢥«ЁзЁў*Ґ¬ бзсвзЁЄ Їа®е®¤®ў, в® Ґбвм 
;Є®«ЁзҐбвў® §ўгз**Ё© бЁаҐ*л
	cmp	cnt,5	;5 а*§ ? 
	jne	go	;Ґб«Ё *Ґв, Ё¤вЁ ** ¬ҐвЄг go
	exit:
	mov	ax,4c00h	;бв**¤*ав*л© ўл室
	int	21h
end main	;Є®*Ґж Їа®Ја*¬¬л
serrgggeee вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C\C++]Робот для имитации работы на компьютере severovdrei Фриланс 4 29.11.2011 17:41
Чем отличается эмуляция от и стимуляции и имитации? romantik2011 Свободное общение 8 28.07.2011 01:44
Проблема имитации нажатия клавиш xrenomx Общие вопросы Delphi 11 05.02.2011 22:04
Программа для имитации работы часов KEIego Общие вопросы C/C++ 1 03.10.2010 08:25
Звуковой файл Михаил Юрьевич Общие вопросы Delphi 13 07.07.2008 11:14