Assembler
-
Jerrynko
Amateur
- Príspevky: 14
- Registrovaný: 13 dec 2008, 13:09
- Bydlisko: Michalovce
- Kontaktovať používateľa:
Assembler
Ahojte. Mam vyriesit tento problem no neviem si s tym rady. Pomoze mi niekto?
Jedna sa o Asembler - platforma i8080.
Načítajte z klávesnice reťazec znakov ukončený znakom "nového riadku".
Slová vo vstupe sú oddelené najmenej jedným znakom "medzera".
Uvažujte aj prvé, resp. posledné slovo vstupu. Určte počet slov obsahujúcich len znaky,
ktorých ASCII kódy tvoria klesajúcu postupnosť (krok -1).
Počet (0-99) vytlačte desiatkovo.
Jedna sa o Asembler - platforma i8080.
Načítajte z klávesnice reťazec znakov ukončený znakom "nového riadku".
Slová vo vstupe sú oddelené najmenej jedným znakom "medzera".
Uvažujte aj prvé, resp. posledné slovo vstupu. Určte počet slov obsahujúcich len znaky,
ktorých ASCII kódy tvoria klesajúcu postupnosť (krok -1).
Počet (0-99) vytlačte desiatkovo.
pridam dalsie ako prosbu
taktiez i80Načítajte z klávesnice reťazec znakov ukončený znakom "nového riadku". Slová vo vstupe sú
oddelené najmenej jedným znakom "medzera". Uvažujte aj prvé, resp. posledné slovo vstupu.
Urcte pocet slov reprezentujucich zapis osmickoveho cisla (zacina znakom 0, napr 015) podla syntaxe jazyka C..počet (0-255) vytlačte osmičkovo
-
programator
Medium Star
- Príspevky: 475
- Registrovaný: 18 apr 2005, 8:31
- Bydlisko: Papua new Guinea
- Kontaktovať používateľa:
-
programator
Medium Star
- Príspevky: 475
- Registrovaný: 18 apr 2005, 8:31
- Bydlisko: Papua new Guinea
- Kontaktovať používateľa:
Zdrojovy kod som prepisal, nakolko tu bolo mnozstvo podobnych poziadaviek 
Samozrejme neurobil som kazdemu vsetko co potrebuje, samotnu hlavnu rutinu (teda napr. zistenie vyskytu velkych pismen v slove; pocitanie slov, kt. splnuju urcitu postupnost; ...) sa pokuste kazdy dorobit sam. Pokial budu nejake problemy s rutinou/hlavnou kostrou, napiste, poradime/opravime.
- rutinu dopiste pod TOTO
- procedura GET_WORD vrati v reg. cx dlzku slova a v prem. word samotne slovo ukoncene 00h
Hlavna kostra:
Samozrejme neurobil som kazdemu vsetko co potrebuje, samotnu hlavnu rutinu (teda napr. zistenie vyskytu velkych pismen v slove; pocitanie slov, kt. splnuju urcitu postupnost; ...) sa pokuste kazdy dorobit sam. Pokial budu nejake problemy s rutinou/hlavnou kostrou, napiste, poradime/opravime.
- rutinu dopiste pod TOTO
- procedura GET_WORD vrati v reg. cx dlzku slova a v prem. word samotne slovo ukoncene 00h
Hlavna kostra:
Kód: Vybrať všetko
org 100h
; print string
lea dx, str1
mov ah, 09h
int 21h
; get string
mov dx, offset input
mov ah, 0ah
int 21h
; increment offset address
cld
; get offset of input
lea si, input
; jump first two bytes (max length and length of string)
add si, 02h
MAIN:
; get offset of input
lea di, word
; jump first two bytes (max length and length of string)
add di, 02h
; get word from string and store it in [word], length in cx(cl)
call GET_WORD
; if was copied all word (length - cx == 0) => jump to end
cmp cl, 00h
je END_OF_MAIN
; ********
; * TODO *
; ********
jmp MAIN
END_OF_MAIN:
; print string
lea dx, str2
mov ah, 09h
int 21h
; wait for any key press
xor ax, ax
int 16h
; exit to dos
mov ax, 004ch
int 21h
ret
GET_WORD:
; word length
xor cx, cx
COPY:
; if ds:[si] == SPACE => jump to end
cmp ds:[si], CODE_SPACE
je END_OF_COPY
; if ds:[si] == END_OF_STRING => jump to end
cmp ds:[si], 00h
je END_OF_PROC
; es:[di] = byte ptr ds:[si]; si, di + 1
movsb
; increment word length
inc cl
jmp COPY
END_OF_COPY:
; move to next position after space
inc si
; add
mov es:[di], 00h
END_OF_PROC:
ret
str1 db "Enter string: $"
str2 db 0dh, 0ah, "OUTPUT STRING: $"
input db 255, 0, 253 dup(0)
word db 255, 0, 253 dup(0)
CODE_SPACE equ 20hMoje zadanie
ahojte, ja som svoje zadanie vytvoril no potrebujem ho doladit.
emu studio je na stiahnutie na moodli pri cviceniachHarlequin napísal:OT: ako vidim tak asi nikomu tie prednasky moc nedali![]()
![]()
ja mam tiez zadanie na... 3 veci... ale snad s tym pohnem do stvrtka...
//autoeditácia príspevku ( 24 Mar 2009, 18:38 )
nema niekto EmuStudio ? pls pls
//autoeditácia príspevku ( 24 Mar 2009, 18:40 )
nema niekto EmuStudio ? pls pls
-
programator
Medium Star
- Príspevky: 475
- Registrovaný: 18 apr 2005, 8:31
- Bydlisko: Papua new Guinea
- Kontaktovať používateľa:
-
programator
Medium Star
- Príspevky: 475
- Registrovaný: 18 apr 2005, 8:31
- Bydlisko: Papua new Guinea
- Kontaktovať používateľa:
-
programator
Medium Star
- Príspevky: 475
- Registrovaný: 18 apr 2005, 8:31
- Bydlisko: Papua new Guinea
- Kontaktovať používateľa: