Re: Velmi potrebujem pomoc z Asemblerom !

From: Paco (paco@seznam.cz)
Date: 23. 02. 2002, 20:04 CET


Sorry za dlouhej mail. Posilal jsem to H@timu private, ale vratilo
se mi undeliverable... Tak tedy aspon sem.

>>* To pole: je uz v pameti? Nebo ho bude user zadavat
>>pres ten program? Nebo bude v souboru (binarnim? textovym?)?

>Zjavne je potrebne aby sa zadaval z klavesnice v programe

Jenze to uz predpoklada pouziti funkci BIOSu nebo obecne interruptu
daneho systemu (neni pravdepodobne, ze by po tobe chteli low-level
obsluhu konkretniho hardware :)), coz trochu vybocuje z ramce vyuky
zakladnich struktur v assembleru... A aby byl program funkci, jak
pozadujes, nelze to obejit nejakymi symbolickymi metaprikazy
v komentari typu: ;now_call_intterrupt_for_char_input, a podobne.

>>* A pak: co ma byt to zadane (volene) pole?? To jako to samy
>>pole, jenze nesesortovany? Nebo co vlastne?

>Ano, presne tak. Proste zobrazi to co som zadal a tak ako som
>to zadal.

Jo, tak jsem to taky pochopil. Bylo to trochu slozite vyjadrene :)

>>* Dal: davat do jednoho pytle "bezznamenkove" (tedy asi unsigned)
>>a "dvojciferne" hodnoty je IMHO nesmysl. Maji to byt unsigned words?
>>Nebo bytes? V jaky notaci?

>Netusim ocom hovoris, spytaj sa tak ako sa ja mozem spytat nenapadne
>"sefa" a neskor ti odpoviem z vysledkom.

Mozna nejsem ucitelskej typ, ale jinak se IMHO ptat nelze. Myslel jsem,
ze mas aspon zakladni predstavu o binarni a hexadecimalni reprezentaci
cisel. Dvojciferne cislo je pojem z aritmetiky na obecne skole. Asi tim
bylo mineno "Cisla z intervalu 0..99" neboli 0 <= cislo <=99 ?? Jenze
z toho porad neplyne, jestli maji byt vyjadrena v bytes nebo words (short) -
- tedy jinymi slovy 8-bitove nebo 16-bitove. A ruzne procesory pouzivaji
ruzne notace binarniho zapisu do pameti nebo souboru. Napriklad dec 1234
zapise Intel jako D204 a Motorola jako 04D2 (neboli raw hex).

>>* A jeste: vubec nepises, pro jakou platformu to ma vubec byt?
>>Intel? 8, 16, 32 bit?

>Ucebny proces prebieha v zmysle 8 bitov (aspon nic ine som nepocul) a vsetko
>sa skusa a testuje na Inteloch 486-kach (tak ako bude aj tento moj program),
>pouzivaju sa programy "kompilator TASM" "TLINK" a "AFD Debugger"

A tady je (IMHO) zase "stret zajmu"... ASM pro 8-bity je zcela odlisny
od ASM pro 16- nebo 32- bity. Kdyz to napises v ASM pro osmibit CPU,
tak to TASM neprelozi. A kdyz to budes psat pro 16- 32-bity, tak to zase
nebude "v zmysle 8 bitov". Respektive ano, ale budes muset provadet
8-bitove operace na 16-, 32- bit CPU a tedy zase ZNAT nejen prislusny
ASM ale i architekturu dane CPU. Uvedom si, ze ASM je jazyk nejnizsi
urovne, ktery primo ovlada procesor. Je to vlastne symbolicky prepis
jednotlivych strojovych instrukci pro CPU, aby programator nemusel psat
primo v hexa kodu. Zjednodusene: co procesor, to jiny assembler.

>>Mozna by sis mohl pomoct literaturou? V kazdy knizce o ASM pro
>>zacatecniky bude IMHO prave takovejhle programek na sortovani
>>pole. To je velice oblibenej ucebnicovej priklad. :)

>Uf, nestras ma !  Ale ak by si to nasiel a proste naskenoval a presne by sa
>to dalo pouzit na moj priklad tak by to blo fajn. ...

Jenze ja tyhle knizky uz bohuzel davno nemam, ale nemel by byt
problem je kdekoliv koupit neb vypujcit. IMHO by to bylo nejrychlejsi reseni
tveho problemu - byt tebou, tak bych to takhle udelal hned zkraje a mel
bych to z krku. :)

>>H@ti  , velmi pekne dakujem. ...

Zatim neni za co. :(

>>PS: co je to "pole" ? (uz asi chapes preco to neviem spravit sam, vsakze ?)

A jezismarjaaa!!! ;-)))  Ale proboha, vzdyt jsi psal, ze "Programovanie mi
nieje cudzie, stretol som sa z Basicom, Pascalom, C++, VisualBasicom..."
To jsi se s nimi musel potkat hodne zdaleka a hodne rychle... Nic ve zlym,
ale programovani ti asi "neni cizi", protoze jsi tenhle pojem uz nekde slysel,
zejo?  ;-)))))))))

Takze tvuj prob je asi komplexnejsi, nez se jevi na 1. pohled. :) Mam ti
to tedy napsat pro Intel 486, Bios IBM-PC a v TASM? (BTW: TASM je
Turbo Assembler od Borlandu a v syntaxi se dost se lisi od MASM, coz je totez,
jenze od MS). Ale bylo by to az nekdy koncem tydne, protoze dnes vecer
(=za chvili) jedu pryc a vratm se asi ve ctvrtek-patek.

Ahoj, pako Paco. 


______________________________________________________________________
MinutacvsítiOskarza1,50Kč!
Ovíkenduvolatvjednomkuse
http://ad2.seznam.cz/redir.cgi?instance=20855%26url=http://www.oskarmobil.cz/cz/products/i_index.htm



This archive was generated by hypermail 2.1.2 : 23. 02. 2002, 20:04 CET