Assembler

Programovacie jazyky, rady, poradňa...
Jerrynko
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 14
Registrovaný: 13 dec 2008, 13:09
Bydlisko: Michalovce
Kontaktovať používateľa:

Assembler

Príspevok od používateľa Jerrynko »

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.
dado26
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 112
Registrovaný: 06 okt 2005, 17:45
Bydlisko: SVK

Príspevok od používateľa dado26 »

pridam dalsie ako prosbu :oops:
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.
Urcte pocet slov reprezentujucich zapis osmickoveho cisla (zacina znakom 0, napr 015) podla syntaxe jazyka C..počet (0-255) vytlačte osmičkovo
taktiez i80
programator
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 18 apr 2005, 8:31
Bydlisko: Papua new Guinea
Kontaktovať používateľa:

Príspevok od používateľa programator »

Prvu ulohu mam prakticky hotovu (este ostava par uprav), pozriem sa tak isto na druhu.
Jerrynko
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 14
Registrovaný: 13 dec 2008, 13:09
Bydlisko: Michalovce
Kontaktovať používateľa:

Príspevok od používateľa Jerrynko »

ok potom mi posli dobre? som ti vdacny
chaser
Novice
Novice
Príspevky: 4
Registrovaný: 16 mar 2009, 20:14

Príspevok od používateľa chaser »

Cauko, ja mam ten isty problem :cry: , prosim vas o pomoc, tiez mam mikroprocesor i8080.
programator
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 18 apr 2005, 8:31
Bydlisko: Papua new Guinea
Kontaktovať používateľa:

Príspevok od používateľa programator »

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:

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 20h
chaser
Novice
Novice
Príspevky: 4
Registrovaný: 16 mar 2009, 20:14

Príspevok od používateľa chaser »

celkom fajne, dikes ale moc nejde
vedel by som kde to vlozit ale ako na to prist hmmm...
mikehudak
Amateur
Amateur
Príspevky: 30
Registrovaný: 22 mar 2009, 17:15
Kontaktovať používateľa:

Moje zadanie

Príspevok od používateľa mikehudak »

ahojte, ja som svoje zadanie vytvoril no potrebujem ho doladit.
MatoH
Novice
Novice
Príspevky: 3
Registrovaný: 22 mar 2009, 17:39

Príspevok od používateľa MatoH »

ahoj,mam podobne zadanie ako mikehudak, akurat prehodene
(urcte pocet slov obsahujucich viac cislic ako pismen malej abecedy)
a este počet (0-255) vytlačte osmičkovo

mohol by mi k tomu niekto napisat kod prosim? Ja som uz v tomto bezradny.
Harlequin
Expert
Expert
Používateľov profilový obrázok
Príspevky: 161
Registrovaný: 18 nov 2006, 20:11
Bydlisko: Presov - ale ten v parale
Kontaktovať používateľa:

Príspevok od používateľa Harlequin »

OT: ako vidim tak asi nikomu tie prednasky moc nedali :-) 8)

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
MatoH
Novice
Novice
Príspevky: 3
Registrovaný: 22 mar 2009, 17:39

Príspevok od používateľa MatoH »

Harlequin napísal:OT: ako vidim tak asi nikomu tie prednasky moc nedali :-) 8)

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
emu studio je na stiahnutie na moodli pri cviceniach
programator
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 18 apr 2005, 8:31
Bydlisko: Papua new Guinea
Kontaktovať používateľa:

Príspevok od používateľa programator »

Jedna vec mi nie je celkom jasna, pisete, ze programy maju byt pre platformu 8080 a pozadujete EmuStudio, kt. je pre platformu 8086 ! V tom je teda zasadny rozdiel, teda najma v instrukcnej sade !
Jerrynko
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 14
Registrovaný: 13 dec 2008, 13:09
Bydlisko: Michalovce
Kontaktovať používateľa:

Príspevok od používateľa Jerrynko »

boze utorok to odovzdavam a nemam paru ako to spojazdnit...pomozte help
programator
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 18 apr 2005, 8:31
Bydlisko: Papua new Guinea
Kontaktovať používateľa:

Príspevok od používateľa programator »

Rozhodnite sa, pre kt. platformu to chcete.... Ja som napisal kostru pre 8086. Vy tvrdite, ze potrebujete pre 8080, ale pozadujete EmuStudio, kt. je pre platf. 8086...
dado26
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 112
Registrovaný: 06 okt 2005, 17:45
Bydlisko: SVK

Príspevok od používateľa dado26 »

..
Prílohy
aspon nam tvrdili ze to je 8080
aspon nam tvrdili ze to je 8080
Jerrynko
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 14
Registrovaný: 13 dec 2008, 13:09
Bydlisko: Michalovce
Kontaktovať používateľa:

Príspevok od používateľa Jerrynko »

nova verzia ide aj 8080 a potrebujeme 8080
tino8
Novice
Novice
Príspevky: 7
Registrovaný: 18 aug 2008, 20:16
Bydlisko: Streda nad Bodrogom

Príspevok od používateľa tino8 »

Takze pocitadla mam hotove, uz iba previest vysledok do dvojkovej sustavy... a k tomu by som potreboval poradit, ze ako sa to da spravit...nepotrebujem hotovy zdrojak iba radu ako sa to robí :)
MatoH
Novice
Novice
Príspevky: 3
Registrovaný: 22 mar 2009, 17:39

Príspevok od používateľa MatoH »

ja mam zase problem s osmickovou, zvysok sa zda ze by mohol byt funkcny ale vobec enviem ako na ten prevod
Jerrynko
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 14
Registrovaný: 13 dec 2008, 13:09
Bydlisko: Michalovce
Kontaktovať používateľa:

Príspevok od používateľa Jerrynko »

joj chlapci neposlete mi jak sa to robi? ja uz nemam sajnu fakt jak nacitat a spocitat tie slova
programator
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 18 apr 2005, 8:31
Bydlisko: Papua new Guinea
Kontaktovať používateľa:

Príspevok od používateľa programator »

dado26 napísal:..
Fajn, cize sme kazdy hovorili o inom EmuStudiu...
Napísať odpoveď