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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2014, 18:58   #1
lantyx21
Новичок
Джуниор
 
Регистрация: 28.11.2014
Сообщений: 1
Сообщение Assembler Диоды

Дали задание,зделать программу которая будет заставлять мигать диоды....
Код:
.model small
.stack 100h
.386    ;aby mozna bylo stosowac przesuniecia o kilka pozycji

.data
info db "Zabawa z diodami klawiatury (obserwuj diody CapsLock i NumLock)",0ah,0dh,'$'
info1 db "Wybierz liczbe powtorzen w petli od 1 do 9",0ah,0dh,'$'
info3 db "Podaj liczbe z zakresu od 1 do 9",0ah,0dh,'$'
info4 db "Czy sprawdzac 'CapsLock' t/n (male litery) ?",0ah,0dh,'$'
liczba dw ?
czas db ?
cap db ?

.code
glowna proc
mov ax,@data
mov ds,ax

mov ah,0
mov al,3
int 10h

mov ah,9
mov dx,offset info
int 21h

mov ah,9
mov dx,offset info1
int 21h

poczatek:
mov ah,8
int 21h
cmp al,'1'
je liczba1
cmp al,'2'
je liczba2
cmp al,'3'
je liczba3
cmp al,'4'
je liczba4
cmp al,'5'
je liczba5
cmp al,'6'
je liczba6
cmp al,'7'
je liczba7
cmp al,'8'
je liczba8
cmp al,'9'
je liczba9

mov ah,0
mov al,3
int 10h

mov ah,9
mov dx,offset info3
int 21h
jmp poczatek

liczba1:
mov liczba,1
jmp koniec
liczba2:
mov liczba,2
jmp koniec
liczba3:
mov liczba,3
jmp koniec
liczba4:
mov liczba,4
jmp koniec
liczba5:
mov liczba,5
jmp koniec
liczba6:
mov liczba,6
jmp koniec
liczba7:
mov liczba,7
jmp koniec
liczba8:
mov liczba,8
jmp koniec
liczba9:
mov liczba,9
koniec:

zzz:
mov ah,9
mov dx,offset info4
int 21h

mov ah,8
int 21h         

cmp al,'t'
je qqq
cmp al,'n'
je aaa4
jmp zzz

qqq:
mov cap,1
jmp xxx
aaa4:
mov cap,0
xxx:

mov cx,liczba
petla:
pusha
call delay
mov ah,0Bh
int 21h         ;
popa

call swiec2     

cmp cap,1
je sss
jmp www
sss:

mov ah,0Bh
int 21h
call swiec3     

www:
loop petla

mov ax,4c00h
int 21h
glowna endp

swiec1 proc    
push ds
mov ax,40h
mov ds,ax
mov bx,17h
xor byte ptr [bx],000100000b
pop ds
int 15h
ret
swiec1 endp

swiec2 proc     
push ds
mov ax,40h
mov ds,ax
mov bx,17h
xor byte ptr [bx],00100000b
pop ds
int 15h
ret
swiec2 endp

swiec3 proc     
push ds
mov ax,40h
mov ds,ax
mov bx,17h
xor byte ptr [bx],01000000b
pop ds
int 15h
ret
swiec3 endp

delay proc
mov ah,2
int 1Ah         
shl dh,4
shr dh,4        
add dh,2       
cmp dh,9       
ja kkkk
jmp mmmm
kkkk:
sub dh,10
mmmm:
mov czas,dh     
petla2:
mov ah,2
int 1Ah         
shl dh,4
shr dh,4
cmp dh,czas
je jestOK
jmp petla2
jestOK:
ret
delay endp
end glowna
что тут не так и как ее вообще компилировать?

Последний раз редактировалось Stilet; 28.11.2014 в 19:42.
lantyx21 вне форума Ответить с цитированием
Старый 28.11.2014, 19:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну это похоже на MASM компилятор, причем программа расчитана на DOS.
А что не так не скажешь сразу вот так, нужно хотя бы знать как она отработала.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.11.2014, 19:46   #3
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Чего так припозднился то с вопросом?


Iron Monk вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Assembler( DiMkO_17 Помощь студентам 0 12.03.2012 21:48
assembler MOJO3000 Фриланс 1 22.12.2011 05:32
assembler( joha Помощь студентам 0 22.11.2011 18:47
Assembler oleh Помощь студентам 2 24.04.2008 19:45