Forum Programowanie c++, delphi Ostatnio aktywny: Nigdy
Nie zalogowany [Zaloguj ]
Pokaż koniec
Wersja do druku | Zapisz | Dodaj do Ulubionych   Wyślij nową wiadomość Sonda:
Autor: Temat: [ASM] Problem z programem
gabar
Newbie
*




Postów: 1
Zarejestrowano: 26-10-2008
Offline


[*] wysłano w 26-10-2008 o godz. 13:12 Odpowiedz cytując
[ASM] Problem z programem



Witam
Od niedawna próbuje uczyć się Asemblera i niestety nie bardzo mi idzie. Ma program i jeśli znalazł by się ktoś miły i linijka po linijce na pisał co wykonują dane polecenia byłbym ogromnie wdzięczny.

A oto program:


Cytuj

.model small
.stack 100h
.386

.data
info db "Zabawa z diodami klawiatury", 0Ah, 0Dh, '$'
info1 db "Wybierz liczbe powtorzen w petli (1-9):", 0Ah, 0Dh, '$'
info4 db "Czy sprawdzic CapsLock (t/n):", 0Ah, 0Dh, '$'
liczba dw ?
cap db ?
czas 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
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
jmp koniec

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

czycap:
mov ah, 8
int 21h

cmp al, 't'
je captak
cmp al, 'n'
je capnie
jmp czycap

captak:
mov cap, 1
jmp dalej

capnie:
mov cap, 0
jmp dalej

dalej:
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

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


Bardzo proszę o pomoc :cry:
Pokaż profil użytkownika Pokaż wszystkie wiadomości użytkownika Użytkownik U2U
Wyślij nową wiadomość Sonda:


Pokaż początek

Sitemap
Copyright © 2005-2007 by coding-portal.com
Programowaniedla każdego. Programowanie w c++, java, delphi, pascal, perl oraz innych językach. Tworzenie stron w html, xhtml, php z użyciem mysql, css oraz ich pozycjonowanie. Zapraszamy do udziału w życiu naszego forum!
[zapytań: 15]
[PHP: 58.0% - SQL: 42.0%]