TITLE MASM Template (main.asm)
INCLUDE Irvine32.inc
.data
Post DW 1, 0, 2, 3, 5, 0, 4, 5, 6,7,0,-1
Dlzka DW lengthof Post
Cisla DW 100 dup(?)
Veta DB "Najmensi retazec je 0",0dh,0ah,0
.code
Odriadkuj MACRO
mov al,10
call writeChar
ENDM
Medzera MACRO
push ax
mov al,9
call WriteChar
pop ax
ENDM
main PROC
mov ecx,dword ptr [Dlzka]
mov edi,0
mov edx,0
mov esi,0
mov ebx,0
add bx,1
neg bx
Cyklus:
mov ax,Post[edi*type Post]
cmp ax,0
je Skok
inc edx
Dalej:
inc edi
loop Cyklus
Skok:
mov Cisla[esi * type Cisla], dx
inc esi
mov edx,0
inc edi
cmp bx,Post[edi * type Post]
je Porovnaj
dec edi
jmp Dalej
Porovnaj:
mov edi,0
mov ebx,0
mov ecx,esi
mov esi,0
mov eax,0
mov edx,0
Cyklus2:
mov ax,Cisla[edi * type Cisla]
cmp ax,bx
jg Vacsia
Dalej2:
inc edi
loop Cyklus2
jmp Koniec
Vacsia:
mov bx,ax
add dx,ax
inc dx
jmp Dalej2
Koniec:
; ebx dlzka najkratsieho
mov edi, edx ; edx je miesto kde konci ten retazec
sub edi,ebx
dec edi
mov ecx, ebx
mov esi,0
mov eax,0
Cyklus3:
cmp bx,0
je Vypis
mov ax,Post[edi * type Post]
Medzera
call writeDec
inc edi
loop Cyklus3
jmp Koniec4
Vypis:
mov edx, offset Veta
call writeString
Koniec4:
exit
main ENDP
END main
Fórum › Assembler
Problem s registrami
Toto vlákno bylo označeno za vyřešené.
Nahlásit jako SPAM
IP: 85.237.234.–
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žení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 212 hostů
Podobná vlákna
Assembler - problém s registrami — založil Andrejx2
Problém v C — založil Robin
Problem — založil Ghosta
Problém — založil pali6