Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 02.05.14 Prihlásený: 18.05.15 Príspevky: 15 Témy: 8 | 8 |
Caute prosim vas neviete mi dat niaku radu ako spravit v asembleri ked mam v subore vetu, tak aby som ratal male a velke pismena a potom to len vypisal ich pocti ?
diky
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | 3 |
V akom assembleri? Vieš otvoriť ten súbor? Pošli nejakú ukážku čítania zo súboru.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 02.05.14 Prihlásený: 18.05.15 Príspevky: 15 Témy: 8 | 8 |
ten program vobec nesuvi s tym co chcem toto je len priklad na obycajne vypisanie zo suboru na output Kód: ;*** POUZITIE PROCEDURY ***
;OTVORENIE SUBORU, NACITANIE A VYPISANIE
DATA SEGMENT ;zaciatok datoveho segmentu
FN DB 'subor.txt',0 BUFF DB 1024 DUP('$') ;kam sa to uklada ESTR DB 'Chyba$' DATA ENDS ;koniec datoveho segmentu
CODE SEGMENT ;zaciatok kodoveho segmentu ASSUME CS:CODE, DS:DATA ;direktiva oznamuje
start: MOV AX, SEG DATA ;do AX vloz adresu segmentu DATA
MOV DS, AX MOV AH, 3dh MOV AL,0 ;mod citania MOV DX, OFFSET FN INT 21H ;JC ERROR MOV BX,AX ;UKAZovatel od 30h MOV CX, 1024 MOV DX, OFFSET BUFF MOV AH, 3FH INT 21H ;JC ERROR mov ah, 09h int 21H MOV Ax, 4C00H ;funkcia ukoncenie programu INT 21H ;prerusenie na vykonanie ukoncenia programu code ends end start
|
|
Registrovaný: 02.05.14 Prihlásený: 18.05.15 Príspevky: 15 Témy: 8 | 8 |
VIete mi niekto prosim poradit ako spravit pocitanie velkych pismen ??? nizsie v kode je spravene pocitadlo pre male pismena to viem aj prerobit na velke, ale neviem spravit to, aby ratalo aj male aj velke zaroven a aby som dostal 2 cisla ako vystupy Kód: mov bx, offset buff mov cl, [bx - 1] ;velkost retazca mov dx, 0 ;nulovanie dx, tam sa bude ukladat cykluss: mov al, [bx] ;ide cez vsetky znaky inc bx ;zvysovanie pre posun v retazci cmp al,'$' ; end of line? je supp cmp al,'a' JL cykluss ; if char < 'a' then go to the end of the loop CMP al,'z' JG cykluss ; if char > 'z' then go to the end of the loop inc dx jmp cykluss
supp: mov bx,dx charp 10 CALL DISP ;zobrazenie cisla(konvert z dx)
prosim poradte DIKY
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | 3 |
Ach, ja som na túto tému nejak zabudol Veď keď vieš počítať malé aj veľké, tak si spravíš jednoducho dva počítadlá (napr. keď máš voľné dx, tak dh a dl). Na porovnanie môžeš použiť napríklad aj call, trocha to zjednoduší Kód: call porovnajVelke call porovnajMale
porovnajMale: CMP al,'a' JL porovnajMaleKoniec ; if char < 'a' then go to the end of the call CMP al,'z' JG porovnajMaleKoniec ; if char > 'z' then go to the end of the call inc dh ;pocitadlo pre male jmp porovnajMaleKoniec ret
porovnajVelke: rovnako s dl
btw. musiš volať dva krát cmp? Nestačí dva krát za sebou porovnávať?
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 02.05.14 Prihlásený: 18.05.15 Príspevky: 15 Témy: 8 | 8 |
uz som to spravil do cx sa mi nacitaju male a do dx velke pismena len neveim ako to prehodit na cisla, spravi mi to vzdy len jedno a druhe je zle Kód: mov bx,cx charp 10 ;new line CALL DISP mov bx, 0 mov bx,dx charp 10 CALL DISP Kód: DISP PROC MOV DL,BH ; Since the values are in BX, BH Part ADD DL,30H ; ASCII Adjustment MOV AH,02H ; To Print in DOS INT 21H MOV DL,BL ; BL Part ADD DL,30H ; ASCII Adjustment MOV AH,02H ; To Print in DOS INT 21H RET DISP ENDP alebo to mozem kludne spravit ako si nazaciatku pisal ze do dh registra male a do dl velke ale aj tak neviem ako to prehodit :/
|
|
Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 7 | 3990 | 05.03.2009 17:14 mathias | | v Assembler, C, C++, Pascal, Java | 7 | 1422 | 25.03.2011 10:07 dury26 | | v Assembler, C, C++, Pascal, Java | 4 | 2127 | 21.04.2010 9:45 dadesk8 | | v Ostatné | 6 | 614 | 24.06.2010 13:35 KocuR | | v Assembler, C, C++, Pascal, Java | 6 | 444 | 05.03.2013 19:25 n0sf3ratus | | v Assembler, C, C++, Pascal, Java | 2 | 908 | 25.08.2007 15:01 cinges | | v Assembler, C, C++, Pascal, Java | 1 | 853 | 20.03.2010 20:42 Fico | | v Assembler, C, C++, Pascal, Java | 1 | 1566 | 14.11.2005 22:01 JanoF | | v Ostatné | 5 | 331 | 10.09.2012 22:03 uterak | | v Zvuk | 12 | 1107 | 12.06.2012 12:53 KocuR | | v Databázy | 2 | 651 | 04.04.2010 9:50 Unlink | | v Webhosting a servery | 1 | 894 | 15.04.2010 19:56 coldak | | [ Choď na stránku: 1, 2 ] v ATI/AMD grafické karty | 49 | 1989 | 22.03.2012 18:40 mirom | | v Elektronika | 0 | 1896 | 23.01.2007 6:30 Elektronic | | v Ostatné programy | 1 | 377 | 26.03.2016 15:05 michalesku | | v PHP, ASP | 2 | 1033 | 24.07.2009 16:54 jozef.rusnak |
|