Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
spmn а теперь Zn[ip]eR будет спрашивать почему же Ваш код не работает PS: а почему тема ЕЩЕ тут, а не в разделе программирование??? Там вроде кто-то помогал с курсачами/экзаменами/домашними и пр....
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Member
Статус: Не в сети Регистрация: 28.08.2004 Откуда: Питер
CCCP Звук, не звук, тут или умеешь или нет.
Короче я уже сам разобрался, раз никто не понимает в ассемблере
STACK SEGMENT PARA STACK 'STACK'
DB 128 DUP(0)
STACK ENDS
;
;
DSEG SEGMENT PARA PUBLIC 'DATA'
BUFF DB 1,2,3,4,5
DSEG ENDS
;
CSEG SEGMENT PARA PUBLIC 'CODE'
ASSUME CS:CSEG, DS:DSEG, SS:STACK
BEGIN:
MOV AX,DSEG
MOV DS,AX
MOV AL,0B6H
OUT 43H, AL
MOV AX, 7FFFh
PUSH AX
N: NOP
GET_KEY: MOV AH,01H
INT 21H
CMP AL, 20h
JE ON
JNE GET_KEY
ON:
POP AX
SHR AX,1
OUT 42h, AL
MOV AL,AH
OUT 42h,AL
IN AL,61h
OR AL, 00000011b
OUT 61h,AL
JMP N
MOV AH,4CH
INT 21H
CSEG ENDS
END BEGIN
Прога почти работает. Почти потому что выдает звуки не в той последовательности, а так все ОК.
d2x А зачем вам - массив (1-5) который нигде не используется ?
Вместо
MOV AH,01H
INT 21H
Лучше использовать прямой доступ к буфферу-
например вот так:
get_key:
push 0040h
pop ds ;ds=сегментный адрес данных BIOS
mov di, word ptr ds:001Ah ;адрес головы буфера клавиатуры
cmp di, word ptr ds:001Ch ;если он равен адресу хвоста
je get_key ;буфер пустой - читаем снова
mov ax, word ptr [di] ;иначе читаем символ
cmp ah, 39h ;если это не пробел (сканкод пробел=39h)
jne get_key ;вместо ( JE ON и JNE GET_KEY )
mov word ptr ds:001Ch,di ;очищаем буффер
ON:
Можно использовать упрощенные модели директив (вам ведь не обязательно ЯВНО указывать границу - с которой начинается сегмент)
например так
.model tiny
.stack 128
.data
message db 'hello$'
.code
Member
Статус: Не в сети Регистрация: 28.08.2004 Откуда: Питер
CCCP За советы спасибо, но только у меня ошибки сразу начинают выскакивать, хотелось бы тогда полный код программы и закомпилированный файл.
Если не лениво напиши. Интересно все таки...
Member
Статус: Не в сети Регистрация: 04.09.2003 Откуда: Санкт-Петерург
Что нужно сделать:
Наисать программу бильярд или точнее "физический модуль" то есть модуль где описываються все физ двжения шаров, столкновения их координаты после соударения о стенку/шар, модуль должен быть в формате dll
Люди помогите найти в интернете данную курсовую, может кто0то уже делал такую и у него осталась, вообщем помогите кто чем может, до завтра :)
_________________ http://goo.gl/kuaIs - отзывы в барахолке
Member
Статус: Не в сети Регистрация: 04.09.2003 Откуда: Санкт-Петерург
nickyoz =) Да это всё не мне ко мне тут приходят всякие =) двоичники, я толькл 11 класс закончил, все ребят всем спасибо я нашёл уже и заказа через веб мани заплатил и мне уже пришло
_________________ http://goo.gl/kuaIs - отзывы в барахолке
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения