[ Príspevkov: 7 ] 
AutorSpráva
Offline

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

Registrovaný: 13.11.07
Prihlásený: 01.08.08
Príspevky: 15
Témy: 8 | 8

Nemá niekto prosím urobenú úlohu v assembleri, ktorá by urobila túto jednoduchú činnosť alebo aspoň aby sa na to podobala???

úloha: z reťazca znakov, ktoré zadá užívateľ vyberie len čísla a tie vypíše na monitor. dalej vypíše ich aritmetický priemer.

Ak by niekto mal zdrojak takéhoto niečoho tak by mi veľmi pomohol. Alebo ak by niekto mal aspoň tú prvú časť úlohy bez toho aritmetického priemeru aj to by pomohlo.

Dik.


Offline

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

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4 | 4

Kód:
.MODEL SMALL                   
.STACK 50H     
.data
                 
zadaj     DB 13,10,'Zadaj retazec a stlac ENTER: $'
vysledok  DB 13,10,'Cislice z retazca <0....9>: $'
priemer   DB 13,10,'Aritm.priemer: $'
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
                mov [text+DI+1], '$'  ; na koniec nacitaneho retazca prida '$'

          lea dx,vysledok
          mov ah,09h
          int 21h            ; zobrazi text "Cislice:..."

                XOR BX,BX             ; BX <- 0;   ...sucet cislic
                XOR CH,CH             ; CH <- 0;   ...pocet cislic

                lea DI, text
cely_retazec:
                mov AL, [DI]
                cmp AL, '$'           ; sme uz na konci prehladavaneho retazca
                je  koniec_retazca
                cmp AL, '0'           ; porovna znak s cislicou '0'
                jl  nie_cislica       ;     ... menej nez '0'
                cmp AL, '9'           ; porovna znak s cislicou '9'
                jg  nie_cislica       ;     ... viac nez '9'
               
cislica:
                mov DL, AL            ; ... cislica !!! :-)
                mov ah,02h            ;
                int 21h               ;vypisanie znaku (cislice)
aritmetika:               
                inc CH                ; Pocet cislic +1
                sub AL,'0'            ; ... z cislice urobime cislo ('0'...0; ---- '9'...9)
                mov AH, 0
                add BX,AX             ; sucet + hodnota_cislice
nie_cislica:
                inc DI                ; dalsi znak v zdrojovom retazci
                jmp cely_retazec                                 

koniec_retazca:
          lea dx,priemer
          mov ah,09h
          int 21h            ; zobrazi text "Aritm.priemer:"
         
                mov AX,BX             ; pre delenie musi byt delenec register AX !!!
                div CH                ; AX / CH (sucet/pocet)

          mov DL, AL            ; .priemer je v AL, ale je to cislo!!! (napr. 4)
          ADD DL, '0'           ;     ... z cisla urobime znak (4--->'4')
          mov ah,02h            ;
          int 21h               ;vypisanie znaku (cislice/vysledku)  :-)
                 
koniec:                               
                MOV AX,4C00H
                INT 21H               ; koniec               
                END START


Offline

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

Registrovaný: 13.11.07
Prihlásený: 01.08.08
Príspevky: 15
Témy: 8 | 8
Napísal autor témyOffline : 14.11.2007 9:26 | Jednoduchá úloha v assembleri - pomozte

Ďakujem, ďakujem veľmi pekne.


Offline

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

Registrovaný: 14.11.07
Prihlásený: 23.05.09
Príspevky: 9
Témy: 6 | 6

potrebujem urobit

-nacitat obsah lubovolneho suboru
-opyta sa zadaj nazov suboru
-nacitat a vypisat na obrazovku po 10 znakoch
-vypise pocet vypisanzch znakov

dakujem


Offline

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

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4 | 4

lukinno píše:
potrebujem urobit

-nacitat obsah lubovolneho suboru
-opyta sa zadaj nazov suboru
-nacitat a vypisat na obrazovku po 10 znakoch
-vypise pocet vypisanzch znakov

dakujem


Ja potrebujem kupit nejake veci na zimu, darceky na vianoce,... a zisiel by sa aj nejaky milion, aby som uz nemusel makat a ucit sa po internete, aj ked samovzdelavanie neboli....

dakujem

nastuduj si INT21 !!!, a ako vidim, mas aj internet, tak to je otazka 1/2 hodiny. Ale asi nevies robit s google, tak Ti nazaciatok pomozem:

http://docs.huihoo.com/help-pc/int-int_21.html


Offline

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

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4 | 4

tu mas aspon hrubu strukturu programu:
Kód:
.MODEL SMALL                   
.STACK 100H     
.DATA
               
riadok          DB 10,13                 
udaje_zo_suboru DB '0123456789', '$'
file_handle     DW 0
dlzka           DB 0, 0
meno_suboru     DB "subor.txt", 0

.CODE
                 
START:          MOV AX,@DATA
                MOV DS,AX

fileopen:       mov AX, 3D00h         ; open file (read only)
                lea DX, meno_suboru
                int 21h               ; INT21 ... file open
                mov file_handle, AX

fileread:       mov BX, file_handle
                mov CX, 10            ; CX...10    number of bytes to read
                lea DX, udaje_zo_suboru  ; pointer to read buffer
                mov AH, 3Fh           ; file read by filehandle
                int 21h               ; INT21 ... file read

data_out:       MOV AH,09H
                LEA DX, riadok
                INT 21h               ; vypis textu... (obsah suboru)
               
fileclose:      mov BX, file_handle
                mov AH, 3Eh           ; file close by filehandle
                int 21h               ; INT21 ... file close

koniec:         MOV AX,4C00H
                INT 21H               ; koniec               
                END START


Offline

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

Registrovaný: 13.11.07
Prihlásený: 01.08.08
Príspevky: 15
Témy: 8 | 8
Napísal autor témyOffline : 15.11.2007 20:38 | Jednoduchá úloha v assembleri - pomozte

Lukinno prosím ťa nabudúce si založ vlastnú tému :-) lebo si sa tu nejako divne vmiešal.

Sento tebe ešte raz veľka vďaka za pomoc.


 [ Príspevkov: 7 ] 


Jednoduchá úloha v assembleri - pomozte



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
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

702

04.05.2008 11:42

snapshot

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

python - jednoduchá úloha

v Perl, Python, Ruby, CGI

5

1009

08.06.2020 14:50

ux

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

Celkom pekna a jednoducha uloha, viete?

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

6

801

13.10.2008 16:25

p360t

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

len uprava programu v assembleri

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

0

631

17.04.2010 10:54

pack

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

2802

01.11.2007 20:01

martin90

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

362

04.10.2011 17:49

tomik858

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

822

20.10.2009 23:53

stanke

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

Úloha

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

8

408

28.04.2021 8:36

shiro

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

Logicka uloha

v Krčma

13

3498

24.11.2011 0:12

Jeffo

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

Matematicka uloha

v Vzdelanie, štúdium, škola

28

2289

23.05.2008 20:03

Svolo

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

Pascal uloha

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

12

772

26.11.2011 21:59

F3RY

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

Assembler - úloha

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

2

931

22.10.2007 15:04

programator

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

pascal uloha

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

1

650

11.11.2009 16:23

feromakovi

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

C# uloha

v Technológia .NET

4

708

02.12.2014 13:25

hatto13

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

Assembler úloha

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

0

824

02.02.2008 7:37

HT

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

databazova uloha

v Databázy

8

669

27.11.2011 17:00

coldak



© 2005 - 2024 PCforum, edited by JanoF