Zdravim, tak som zacal trocha kodit v asembleri (8086) kde kod prekladam pomocou tasm. Problem je v tom ze win7 professional x64 mi hlasi problem s kompatibilitou systemu pravdepdobne prave preto ze je 64-ka. Teda sa chcem opytat ci sa to da nejako spravit alebo to musim riesit nejak inak napr. cez virtual PC.
Vdaka.
Asembler
Re: Asembler
Vysksuaj to spustit s kompatibilitou Win XP ako Spravca.
help
mohol by mi niekto pomoct. Stale mi to hlasi chybu.
Zadanie:
Načítajte z klávesnice reťazec znakov ukončených znakom konca riadku. Slová vo vstupe sú oddelené najmenej jedným znakom medzera. Uvažujte aj prvé, resp. posledné slovo vstupu. Určte počet čísel menších ako 1. uvedené číslo reprezentovaných slovami. Počet vytlačte dvojkovo.
zdrojak:
pls potreboval by som najst chybu a popripade pomoct s tym vytlacenim dvojkovo
Zadanie:
Načítajte z klávesnice reťazec znakov ukončených znakom konca riadku. Slová vo vstupe sú oddelené najmenej jedným znakom medzera. Uvažujte aj prvé, resp. posledné slovo vstupu. Určte počet čísel menších ako 1. uvedené číslo reprezentovaných slovami. Počet vytlačte dvojkovo.
zdrojak:
Kód: Vybrať všetko
%include "asm_io.inc"
segment .data
no1 times 2048 db 0
segment .bss
no2 resb 80
segment .text
global _asm_main
_asm_main:
enter 0,0
pusha
mov ebx,no1
mov edx,no2
mov ebx,0
mov ecx,0
mov edx,0
prve_pismeno:
call read_char
cmp al,20h
jz prve_pismeno
cmp al,0ah
jz koniec1
cmp al,30h
jc znak1
cmp al,40h
jnc znak1
prva_cislica1:
mov byte[edx],al
inc edx
call read_char
cmp al,0ah
jz koniec1
cmp al,20h
jnz dalsia_cislica1
jmp cele_cislo
cele_cislo:
inc cl
call read_char
cmp al,20h
jz cele_cislo
cmp al,0ah
jz koniec2
cmp al,30h
jc znak2
cmp al,40h
jnc znak2
jmp prva_cislica2
prva_cislica2:
mov byte[ebx],al
inc ebx
call read_char
cmp al,0ah
jz koniec2
cmp al,20h
jnz dalsia_cislica2
cmp ebx,edx
jnc nulovanie
inc cl
jmp nulovanie
koniec1:
add cl,'0'
mov eax,ecx
call print_string
popa
mov eax,0
leave
ret
koniec2:
cmp ebx,edx
jnc koniec1
inc cl
jmp koniec1
znak1:
call read_char
cmp al,0ah
jz koniec1
cmp al,20h
jz prve_pismeno
jmp znak1
dalsia_cislica1:
cmp al,30h
jz znak1
cmp al,40h
jnc znak1
jmp prva_cislica1
znak2:
call read_char
cmp al,0ah
jz koniec2
cmp al,20h
jz cele_cislo
jmp znak2
dalsia_cislica2:
cmp al,30h
jz znak2
cmp al,40h
jnc znak2
jmp prva_cislica2
nulovanie:
mov ebx,0
jmp cele_cislo