| | |
| 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 |
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 | Napísal BX: 04.04.2015 20:46 | |
|
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 | Napísal autor témy TieSTiK: 04.04.2015 21:30 | |
|
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 | Napísal autor témy TieSTiK: 13.04.2015 17:28 | |
|
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 | Napísal BX: 13.04.2015 18:34 | |
|
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 | Napísal autor témy TieSTiK: 13.04.2015 20:31 | |
|
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 |
---|
| C z malych pismen na velke v Assembler, C, C++, Pascal, Java | 7 | 3988 | 05.03.2009 17:14 mathias | | ASEMBLER:Určte počet slov obsahujúcich reťazec ASM alebo asm v Assembler, C, C++, Pascal, Java | 7 | 1421 | 25.03.2011 10:07 dury26 | | Asembler prevod v Assembler, C, C++, Pascal, Java | 4 | 2126 | 21.04.2010 9:45 dadesk8 | | Tlačenie malých stránok, ako??? v Ostatné | 6 | 612 | 24.06.2010 13:35 KocuR | | Asembler zrychlenie vykonavania cyklu v Assembler, C, C++, Pascal, Java | 6 | 443 | 05.03.2013 19:25 n0sf3ratus | | Plis,asembler help:(surne v Assembler, C, C++, Pascal, Java | 2 | 907 | 25.08.2007 15:01 cinges | | Asembler- vystup desiatkovo---pls surne v Assembler, C, C++, Pascal, Java | 1 | 853 | 20.03.2010 20:42 Fico | | Pascal,Asembler a Win XP v Assembler, C, C++, Pascal, Java | 1 | 1566 | 14.11.2005 22:01 JanoF | | MP3 malých rozmerov do 35€ v Ostatné | 5 | 331 | 10.09.2012 22:03 uterak | | Stavba Repro bedne z malých reproduktorov v Zvuk | 12 | 1106 | 12.06.2012 12:53 KocuR | | Optimalizácie velkých tabuliek v Databázy | 2 | 651 | 04.04.2010 9:50 Unlink | | FTP Uploadovanie velkych suborov v Webhosting a servery | 1 | 893 | 15.04.2010 19:56 coldak | | Schéma: Doplnok k multimetru pre meranie malých odporov v Elektronika | 0 | 1896 | 23.01.2007 6:30 Elektronic | | ATI 4870 HD cierna obrazovka 100ky malych kociek [ Choď na stránku: 1, 2 ] v ATI/AMD grafické karty | 49 | 1987 | 22.03.2012 18:40 mirom | | zmena velkych na male pismena v Ostatné programy | 1 | 376 | 26.03.2016 15:05 michalesku | | ako na upload velkych suborov v PHP, ASP | 2 | 1032 | 24.07.2009 16:54 jozef.rusnak |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|