Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Autor | Správa |
---|
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.
|
|
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
|
|
Registrovaný: 13.11.07 Prihlásený: 01.08.08 Príspevky: 15 Témy: 8 | 8 |
Ďakujem, ďakujem veľmi pekne.
|
|
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
|
|
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
|
|
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
|
|
Registrovaný: 13.11.07 Prihlásený: 01.08.08 Príspevky: 15 Témy: 8 | 8 |
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.
|
|
Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 4 | 702 | 04.05.2008 11:42 snapshot | | v Perl, Python, Ruby, CGI | 5 | 1009 | 08.06.2020 14:50 ux | | v Assembler, C, C++, Pascal, Java | 6 | 801 | 13.10.2008 16:25 p360t | | v Assembler, C, C++, Pascal, Java | 0 | 631 | 17.04.2010 10:54 pack | | v Assembler, C, C++, Pascal, Java | 4 | 2802 | 01.11.2007 20:01 martin90 | | v Assembler, C, C++, Pascal, Java | 0 | 362 | 04.10.2011 17:49 tomik858 | | v Assembler, C, C++, Pascal, Java | 5 | 822 | 20.10.2009 23:53 stanke | | v Assembler, C, C++, Pascal, Java | 8 | 408 | 28.04.2021 8:36 shiro | | v Krčma | 13 | 3498 | 24.11.2011 0:12 Jeffo | | v Vzdelanie, štúdium, škola | 28 | 2289 | 23.05.2008 20:03 Svolo | | v Assembler, C, C++, Pascal, Java | 12 | 772 | 26.11.2011 21:59 F3RY | | v Assembler, C, C++, Pascal, Java | 2 | 931 | 22.10.2007 15:04 programator | | v Assembler, C, C++, Pascal, Java | 1 | 650 | 11.11.2009 16:23 feromakovi | | v Technológia .NET | 4 | 708 | 02.12.2014 13:25 hatto13 | | v Assembler, C, C++, Pascal, Java | 0 | 824 | 02.02.2008 7:37 HT | | v Databázy | 8 | 669 | 27.11.2011 17:00 coldak |
|