Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevok: 1 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.10
Prihlásený: 04.05.10
Príspevky: 3
Témy: 2
Príspevok NapísalOffline : 17.04.2010 10:54

Zdravim, vedel by niekto prerobit program ktory nacitava retazec z klavesnice a potom ho prevrati a vypise na obrazovku, na program ktory nacitava retazec zo suboru a potom ho prevrateny vypise na obrazovku?

povodny program:
Kód:
.MODEL SMALL                   
.STACK 50H     
.data
                 
zadaj     DB 13,10,'Zadaj retazec a stlac ENTER: $'
vysledok  DB 13,10,'Retazec odzadu: $'
dlzka     DB 0FFh
text      DB '' ; tu sa bude ukladat "zadavany retazec"

.CODE
org 100h
                 
START:
          mov ax,@data
          MOV DS,AX
          mov ah,09h
          lea dx,zadaj
          int 21h           ; zobrazi sa vyzva na zadanie retazca

          lea dx, dlzka     ;nastavi do dx adresu ulozenej max dlzky retazca
                            ;zaroven od tej adresy bude ukladat nacitany retazec
          mov ah,0Ah        ;sluzba na nacitanie retazca ukonceneho ENTER
          int 21h

                lea bx, text          ; do bx adresu data seg.
                xor CX, CX            ; CX <--- 0
                mov CL, [bx]          ; CL ... dlzka nacitaneho textu
                MOV DI, CX

          lea dx,vysledok
          mov ah,09h
          int 21h                     ; zobrazi text "Retazec odzadu..."

cely_retazec:
                cmp DI,0
                je koniec             ; koniec ?                                 

                mov AL, [text+DI]
                mov DL, AL            ;
                mov ah,02h            ;
                int 21h               ;vypisanie znaku (cislice)
               
                dec DI                ; dalsi znak v zdrojovom retazci
                jmp cely_retazec     
                 
koniec:                               
                MOV AX,4C00H
                INT 21H               ; koniec               
                END START


ja som skusal nieco ale nejde mi to vobec rozbehat:
Kód:
.MODEL SMALL                   
.STACK 50H     
.data
                 
znak            db   0
zadaj              DB 13,10,'Zadaj retazec a stlac ENTER: $'
vysledok           DB 13,10,'Retazec odzadu: $'
dlzka              DB 0FFh
text               DB    ''                ;tu sa bude ukladat "zadavany retazec"
file_name_in         db   'input.txt','$'         ;meno vstupneho suboru
file_handle_in         dw   0            ;handler pre vstupny subor

otvor_vstup         db   'Vstupny subor bol otvoreny',10,13,'$'
zatvor_vstup         db   'Vstupny subor bol zatvoreny',10,13,'$'
CHYBA1            db   'Chyba otvarania vstupneho suboru',10,13,'$'
CHYBA3            db   'Chyba zatvarania vstupneho suboru',10,13,'$'

OK            db   'Citanie a zapis...',10,13,'$'


.CODE
org 100h
                 
;------------------------------------------ Macro na vypis retazca ---------------------------------------------
 
vypis MACRO str
       mov ah,09h                     
     mov dx,offset str
       int 21h
      ENDM

;---------------------------------------------------------------------------------------------------------------
   
;-------------------------------------- Otvorenie suboru na citanie - PROCEDURA --------------------------------

otvorenie1 PROC
      lea dx, file_name_in         ;ulozenie mena vstupneho suboru do dx
      mov ah, 3dh            ;otvorenie daneho suboru
      mov al, 00000000b         ;nastavenie na citanie
      int 21h               ;sluzba prerusenia
      ret               ;navrat
otvorenie1 ENDP

;-------------------------------------- Citanie zo suboru - PROCEDURA ------------------------------------------

citanie PROC C
      USES bx,dx,cx
citaj:          


      mov bx, file_handle_in         ;odtialto citame
      lea dx, znak            ;sem ukladame nacitane znaky
      mov cx, 1            ;nacita sa jeden znak
      mov ah, 3fh
      int 21h            ;sluzba DOSu na citanie znakov zo suboru
      mov ah, 02h            ;
                int 21h               ;vypisanie znaku (cislice)                        
      cmp ax,0            ;porovnanie, ci sme sa na konci suboru
      je nacitane            ;skok na nacitane


      jmp citaj            ;skok na citanie dalsieho znaku

nacitane:      
      ret

citanie ENDP

;---------------------------------------------------------------------------------------------------------------

START:
             mov ax,@data
             MOV DS,AX
otvorvstup:   call otvorenie1            ;volanie procedury pre otvorenie suboru na citanie
      jnc citajj            ;ak nenastala chyba nastavi sa priznak a skoci na citajj


citajj:      vypis otvor_vstup         ;vypisanie hlasenia, ze vstupny subor bol otvoreny
      call citanie                 ;volanie procedury pre citanie zo suboru

uspesne:   vypis OK

      lea dx,vysledok
           mov ah,09h
           int 21h                     ; zobrazi text "Retazec odzadu..."

cely_retazec:
                cmp DI,0
                je koniec             ; koniec ?                                 
 
                mov AL, [text+DI]
                mov DL, AL            ;
                mov ah,02h            ;
                int 21h               ;vypisanie znaku (cislice)
             
                dec DI                ; dalsi znak v zdrojovom retazci
                jmp cely_retazec     
      
koniec:      mov ah, 3eh            ;zatvaranie vstupneho suboru            
      mov bx, file_handle_in            
      int 21h
      jnc koniec2
      vypis CHYBA3
koniec2:   vypis zatvor_vstup         ;zatvaranie vystupneho suboru   
      mov ah, 3eh                              
      int 21h
      mov ax, 4c00h
      int 21h
end start


Odpovedať na tému [ Príspevok: 1 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. pomoc s vytvorenim programu v Assembleri

v Assembler, C, C++, Pascal, Java

0

334

04.10.2011 17:49

tomik858 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Naprogramovanie ATmega8 a uprava programu

v Elektronika

17

2253

03.11.2010 15:32

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Násobenie a delenie v assembleri

v Assembler, C, C++, Pascal, Java

4

2769

01.11.2007 20:01

martin90 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jednoduchá úloha v assembleri - pomozte

v Assembler, C, C++, Pascal, Java

6

2128

15.11.2007 20:38

martinezb6 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delay aneb mrhanie casom v assembleri

v Assembler, C, C++, Pascal, Java

5

790

20.10.2009 23:53

stanke Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. jednoducha uloha v assembleri pls help

v Assembler, C, C++, Pascal, Java

4

665

04.05.2008 11:42

snapshot Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Výber programu

v Grafické programy

1

384

18.01.2012 2:30

jtbs Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vysvetlenie programu

v Assembler, C, C++, Pascal, Java

11

811

23.11.2008 20:41

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. názov programu...?

v Počítačové hry

4

484

25.08.2011 15:32

Mego Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Uzatvaranie programu.

v Assembler, C, C++, Pascal, Java

6

721

03.10.2009 16:49

arnie16 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. chyba programu

v Assembler, C, C++, Pascal, Java

1

421

09.05.2009 19:46

fonseka Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. tvorba programu

v Ostatné

0

542

26.01.2010 16:19

ipkis Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. odstranenie programu

v Ostatné programy

1

801

12.01.2008 10:30

Mandy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Záchrana programu

v Ostatné programy

3

279

10.11.2014 8:42

kllr007 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zdielanie programu

v Ostatné programy

7

1547

26.11.2018 15:05

patro16 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vyladenie programu

v Assembler, C, C++, Pascal, Java

1

354

02.02.2012 9:25

BX Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra