Rada k programu – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Rada k programu – Assembler – Fórum – Programujte.comRada k programu – Assembler – Fórum – Programujte.com

 

list3r0
Duch
1. 12. 2006   #1
-
0
-

Dobrý den, mam program udělaný v NASMu a jsou v něm nějaké chyby a je nejsem schopen odhalit. Jsem začátečník. Pokud by je někdo našel, byl bych mu velice vděčný. Kdyžtak kdybyste mi mohli napsat v kterým místě je chyba a jak bych ji měl opravit. Program načítá dva časy a pak vypočítá rozdíl časů a vypíše ho. Skopíroval jsem jen tu hlavní část. Začátek se vstupy a konec s předáním řízení operačnímu systému jsem zde neuvedl, takže to za chybu nepočítejte. Předem moc díky.



segment code

Time2Seconds:
mov ax, 0
mov bl, [si]
sub bl, '0'
mul bl
inc si
mov bl, [si]
sub bl, '0'
add ax, bx
add si, 2
mov bl, 60
mul bl
mov cx, ax
mov al, [si]
sub al, '0'
mov bl, 10
mul bl
add ax, cx
inc si
mov bl, [si]
sub bl, '0'
add ax, bx
add si, 2
mov bl, 60
mul bl
mov cx, ax
mov al, [si]
sub al, '0'
mov bl, 10
mul bl
add ax, cx
inc si
mov bl, [si]
sub bl, '0'
add ax, bx
ret

Seconds2Time:
mov bx, 3600
div bx
mov bl, 10
div bl
add ah, '0'
mov [di], ah
inc di
add al, '0'
mov [di], al
inc di
mov byte [di], ':'
inc di
mov ax, dx
mov bx, 60
div bx
mov bl, 10
div bl
add ah, '0'
mov [di], ah
inc di
add al, '0'
mov [di], al
inc di
mov byte [di], ':'
inc di
mov ax, dx
mov bl, 10
div bl
add ah, '0'
mov [di], ah
inc di
add al, '0'
mov [di], al
inc di
mov byte [di], '$'
ret

..start:
mov dx, cas1
call Read_String
mov dx, cas2
call Read_String
mov si, cas1
mov di, kopiecas1
mov cx, 2 ;radek 52: implementace for pomoci loop
radek52:
mov bl, [si] ;radek 53: for-init
inc si
radek53: ;radek 53: for-podm
cmp bl, 0
jna radek58
mov al, [si]
mov [di], al
inc si
inc di
dec bl
jmp radek53 ;radek 57, radek 53: for-inkr
radek58:
mov byte [di], '$'
mov si, cas2
mov di, kopiecas2
loop radek52
mov dx, kopiecas1
call Print_Str
mov dx, kopiecas2
call Print_Str
mov si, cas1
call Time2Seconds
mov bx, ax
mov si, cas2
call Time2Seconds
sub ax, bx
js radek70
not ax
radek70:
mov di, rozdil
call Seconds2Time
mov dx, rozdil
call Print_Str

segment data
cas1: resb(256)
cas2: resb(256)
kopiecas1: resb(256)
kopiecas2: resb(256)
rozdil: resb(256)

Nahlásit jako SPAM
IP: ...–
gilderos
~ Anonymní uživatel
1 příspěvek
4. 12. 2006   #2
-
0
-

Potřebuju vysvětlit co dělá toto: INT 16H/ah=0 - BIOS
mov ah, 0 ;Bez echa
int 16 H ;AL=ASCII, AH=scan kod
:Funkc klav AL=0
Rozepsat tuto syntaxi mov ah, 0

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 60 hostů

Podobná vlákna

Rada — založil Marek

Rada — založil Bunnysh

Rada — založil Martin

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý