Stránka: 1 z 1
| [ Príspevok: 1 ] | |
Autor | Správa |
---|
Registrovaný: 14.03.09 Prihlásený: 16.10.13 Príspevky: 25 Témy: 10 | 10 |
skontrolujte niekto prosim nasledujuci kod:
Kód: org 1000
dcx sp ; inicializacia zasobnika (0FFFFh)
lxi h,text1 ; skopiruj text1 do h
call putstr ; vypis uvodny text
mvi b,0 ; pocitadlo slov neobsahujicich +-*/
mvi c,1 ; pomocna promenna boolean typ
lxi h,text1
chloop:
call getch
cpi 10 ; porovna sa register "a" s backspacom
jz chend ; skoci sa na char_end, ak sa rovna
cpi 13 ; porovna sa register "a" s enterom
jz chend ; skoci sa na char_end, ak sa rovna
cpi 32 ; porovna sa register "a" s medzerou
jz chspac ; skoci sa na char_space, ak sa rovna
cpi 43 ; nacitany znak sa porovna s '+'
jz chadd ; skoci sa na char_add, ak sa rovna
cpi 42 ; nacitany znak sa porovna s '*'
jz chadd ; skoci sa na char_add, ak sa rovna
cpi 47 ; nacitany znak sa porovna s '/'
jz chadd;skoci sa na char_add, ak sa rovna
cpi 45 ; nacitany znak sa porovna s '-'
jz chadd;skoci sa na char_add, ak sa rovna
jmp chloop ; nacita sa dalsi znak
chadd:
mvi c,0
jmp chloop ; nacita sa dalsi znak
chspac:
mov a,b
add c
mov b,a
mvi c,1
jmp chloop ; nacita sa dalsi znak
chend:
call print
hlt
del: ; deli a/b Vraci a, zbytek b
mvi h,0;
deleni:
cmp b ; porovna b s a
jc nedel ; ak je a < b skonci
sub b ; odcita b od a
inr h ; zvisi h
jmp deleni
nedel:
mov b,a
mov a, h
ret ; vrati sa spet
prevod:
cpi 0
jz konec
mvi b,10
call del
push psw
mov a,b
adi 48
mov M,a
dcx h
pop psw
jmp prevod
konec:
adi 48
mov M,a
ret
print:
mov a,b
lxi h,vloz+4
call prevod
lxi h,text2 ; skopiruje sa text2 do h
call putstr ; vypise sa text2
call newline ; vypise sa novy riadok
ret
getch:
mov a,M
inx h
ret
text1: db 'Pocet slov +neobsahujucich aritmeticke operatory ...',10,13,'Vloz text: ',0
text2: db 10,13,'Slov je: '
vloz: db ' ',0
hlt ; ukonci sa program include 'examples/8080/include/getchar.inc' include 'examples/8080/include/getline.inc' include 'examples/8080/include/putstr.inc' include 'examples/8080/include/putchar.inc' include 'examples/8080/include/newline.inc'
je tam nejaká chyba vstup,výstup,možno aj v prevode
|
|
Stránka: 1 z 1
| [ Príspevok: 1 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 0 | 828 | 31.03.2009 20:10 bbeni | | v Assembler, C, C++, Pascal, Java | 1 | 1537 | 10.11.2006 18:14 Marco | | v Assembler, C, C++, Pascal, Java | 8 | 1787 | 13.03.2007 20:39 My-reC | | v Assembler, C, C++, Pascal, Java | 23 | 1272 | 18.04.2012 7:17 Fico | | v Assembler, C, C++, Pascal, Java | 5 | 1208 | 17.10.2009 17:13 Logik | | v Assembler, C, C++, Pascal, Java | 5 | 1006 | 03.09.2010 15:14 Fico | | v Assembler, C, C++, Pascal, Java | 4 | 785 | 21.11.2007 9:49 euthanan | | v Assembler, C, C++, Pascal, Java | 1 | 563 | 16.04.2013 22:34 XOLOO | | v Assembler, C, C++, Pascal, Java | 1 | 1042 | 09.03.2010 20:27 ac.milan | | v Assembler, C, C++, Pascal, Java | 0 | 829 | 02.02.2008 7:37 HT | | v Assembler, C, C++, Pascal, Java | 15 | 1182 | 16.12.2011 23:24 Ďuri | | v Assembler, C, C++, Pascal, Java | 0 | 719 | 10.11.2011 18:54 Reverser | | v Assembler, C, C++, Pascal, Java | 11 | 1328 | 19.05.2010 22:38 JR55 | | v Assembler, C, C++, Pascal, Java | 3 | 643 | 21.04.2009 20:05 Fico | | v Assembler, C, C++, Pascal, Java | 2 | 937 | 22.10.2007 15:04 programator | | v Assembler, C, C++, Pascal, Java | 2 | 654 | 27.03.2009 20:33 Ivan11114 |
|