• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

FJAP

Started by PaliP, 09.09.2011, 19:14:44

« predchdzajce - alie »

Cici

skusil som to stiahnut nanovo, ale to iste - nacitavanie vstupu sa neukonci a stale ostava na danej instrukcii. (skusal som dat tam iba INPC a EXIT a mal som z toho textovy editor). To iste mi robi aj na Linuxe :/

milaninho

dodam iba, ze pre ukladanie treba zadat aj zaciatok a nie len koniec. ak zacinate na 0-tej adrese tak to pojde, lebo predvolene je begin 0, ale ak zacnete inde, tak by to mohlo robit problemy (potom to treba aj nacitat na rovnaku adresu)

esperian

inak na cviku sme robili nieco take ze nacitavanie znakov skonci ak sa skonci potom ako zadam mriezku,, len si nepamatam ako sa to robilo a zabudol som zosit  :(  nevie niekto ako to bolo ??

AnvilOfFury

Quote from: esperian on  24.09.2011, 00:54:10
inak na cviku sme robili nieco take ze nacitavanie znakov skonci ak sa skonci potom ako zadam mriezku,, len si nepamatam ako sa to robilo a zabudol som zosit  :(  nevie niekto ako to bolo ??
Niečo takéto? (V C som nenapísal riadok kódu už asi pol roka, tak brať s rezervou :))

char string[MAX_LENGTH];
int idex = 0;
while(1){
  int key = getch();
  if(index >= MAX_LENGTH || key == 32){
    break;
  }
  string[index++] = (char)key;
}
Keep information to yourself - Knowledge is power. Think job security. Never provide documentation.
Use Real Tools - No "fancy-pancy" IDEs. Real developers only use vi.
Compiled = Ship It - User acceptance testing is an absolute waste of time.

RiTChi

#29
az na to, ze to treba urobit v kode computronu http://people.tuke.sk/jan.kollar/FJaP/Computron%20VM/help/CvmHelp.pdf

ESPERIAN:

10  INPC
11 OUTC
12  SUBM 43
13 BZE 15
14  JMP 10
15 EXIT

veteran

Vedel by mi niekto vysvetliť ľudskou rečou v stručnosti prácu s tým Computronom? Napr. na banálnom príklade sčítavania dvoch čísel:

INP
STA 10
INP
ADD 10
OUT


Nejak sme to rýchlo preleteli, pretože sme to cvičenie venovali viac-menej vysvetľovaniu Asemebleru  ;D. Tie príkazy majú nejaké osmičkové kódy, ktoré sa tam "naklikávajú" do pamäte, no keď dám Run, nikdy mi to nič neurobí  bu

Možno trochu hlúpa otázka, no radšej byť hlúpy raz teraz, ako potom po celý semester  ;)

ultimate

Musis do toho Computronu natukat cisla tych instrukcii za sebou tak ako maju ist s tym, ze natukas jedno cislo (pomocou toho z hora druheho radu farebnych tlacitok) potom kliknes na INC (v prvom rade, na inkrementovanie lebo ides zadavat dalsiu instrukciu) potom natukas cislo dalsej instrukcie, zas kliknes na INC a tak dalej ... potom sa preklikas pomocou DEC na nultu instrukciu a das RUN

veteran

Quote from: ultimate on  24.09.2011, 17:04:33
Musis do toho Computronu natukat cisla tych instrukcii za sebou tak ako maju ist s tym, ze natukas jedno cislo (pomocou toho z hora druheho radu farebnych tlacitok) potom kliknes na INC (v prvom rade, na inkrementovanie lebo ides zadavat dalsiu instrukciu) potom natukas cislo dalsej instrukcie, zas kliknes na INC a tak dalej ... potom sa preklikas pomocou DEC na nultu instrukciu a das RUN
OK, ale čo ak mám inštrukciu STA 10. Čo s tým? Viem tam dať len STA (026), čo s tou "10". Ako viem na ňu odkázať (na to miesto, kde sa dané číslo uloží)?

ultimate

to uz neviem ako sa v tom robi, take nam nebolo ukazane na cviku

veteran

Keď urobím všetko tak, ako si napísal a dám Run, tak mi to nespraví nič. Len ma hodí na 5. pozíciu, kde je EXIT, koniec programu a na výsledok sčítania sa to vykašle...

ultimate

tak hej, treba nejak zrejme natukat aj tie cisla za instrukciou, ale ako som pisal nebolo nam ukazane ako sa to robi, takze neviem, mozno niekto iny bude vediet poradit

bEnd3r

napriklad chces od A odpocitat 10 tak pouzijes instrukciu SUB 10 a to tak ze najprv si naklikas kod SUB-u, das increment a naklikas 10.. cize vlastne ti to zaberie 2 "riadky"

ultimate

#37
Pozeram si tie instrukcie a potreboval by som neico vediet.

SP je stack pointer, je to nejaky ukazovatel, ktory ukazuje na aktualnu poziciu v zasobniku na ktorej sa nachadzam, hej ?
PC je program counter ... to je vlastne cislo instrukcie od zaciatku programu, ze nulta, prva, druha, tretia atd ?

Preco je pri niektorych instrukciach PC+1 a pri niektorych PC+2 ? A co znamena ked je PC := M[SP] ? ... hlavne to M[SP] by som potreboval vediet

Foxina

nepredava niekto Kollarovu knihu PREKLADACE z r. 2009 ? :) ked ano tak PM :) thnx

esperian

Skus skontrolovat postup aky pouzivas,ja to robim takto :

1 natukam na tych okienkach napr inpc cize 6tku a dalsie prikazy podobne
2potom kliknem na LOAD uplne nalavo v prvom stvorceku
3potom napisem cislo podla toho kolko prikazov obsahuje program napr ak davas INPC a OUTC a EXIT tak napises cislo 003
4ENTER
5END
6SAVE, napises aky nazov chces plus das este .bin
7OK
8no a potom spustis a das RUN

ultimate

Som skusil a nic to nerobi, neblikaju tie stvorceky

Nemas nejaky iny program okrem toho co len vypisuje vstup na vystup ? Zeby som skusil nieco ine ci nepojde, nieco co ma aj nieco spravit okrem vypisovania.

esperian

nie nemam este som sa v tom nehral velmi ...
si si isty ze tam zadavas 6,11,5 a do toho okienka napises 003 ??

ultimate

teraz ked natukam 6,11,5 a kliknem na LOAD a potom na RUN tak mi uz blikaju tie stvorceky ... ale nemalo by mi to aj niekde dat priestor pre nacitanie vstupu z klavesnice a nasledne ho vypisat ?

veteran

Quote from: bEnd3r on  24.09.2011, 21:16:41
napriklad chces od A odpocitat 10 tak pouzijes instrukciu SUB 10 a to tak ze najprv si naklikas kod SUB-u, das increment a naklikas 10.. cize vlastne ti to zaberie 2 "riadky"
Parááda, vďaka, už to jede!  8)  :hug:

ultimate

ale ked je SUB 10, tak natukac cislo instrukcie SUB a potom tu 10-ku kam natukas ? ... lebo ked to natukas tam kde tukas cisla instrukcie tak to nebude brat ako 10-ku ale ako instrukciu pod cislom 10, nie ?

veteran

Quote from: ultimate on  25.09.2011, 00:06:52
ale ked je SUB 10, tak natukac cislo instrukcie SUB a potom tu 10-ku kam natukas ? ... lebo ked to natukas tam kde tukas cisla instrukcie tak to nebude brat ako 10-ku ale ako instrukciu pod cislom 10, nie ?
Najprv dáš kód inštrukcie SUB. Potom inkrementuješ a naťukáš desiatku. A funguje to... Akonáhle program rozpozná, že za inštrukciou musí byť hodnota, tak nasledujúci kód v ďalšej bunke berie ako klasické číslo.

ultimate

A ked spustim ten program s INPC, OUTC, EXIT tak nemalo by mi to niekde dat priestor kde by som pisal a ono by to vypisovalo co pisem ?
Lebo teraz mi len idu cisla od 0 po to maximalne cislo 17777.. a blikaju stvorceky a z toho neviem ci to funguje spravne alebo nie

Rajo

mňa by skôr zaujímalo, ako v komputrone spočítať čísla 8 a 13  :trestac:

veteran

Quote from: ultimate on  25.09.2011, 01:24:39
A ked spustim ten program s INPC, OUTC, EXIT tak nemalo by mi to niekde dat priestor kde by som pisal a ono by to vypisovalo co pisem ?
Lebo teraz mi len idu cisla od 0 po to maximalne cislo 17777.. a blikaju stvorceky a z toho neviem ci to funguje spravne alebo nie
Asi nemáš dobre "naklikaný" program. Pokiaľ by bol správny, tak by ti to dovolilo písať do toho veľkého priestoru vpravo dole.


ultimate

tak ale ako ho mozem zle naklikat ? ... otvorim program, pomocou tych modrych a cervenych stvorcekov naklikam 6-ku, potom kliknem na INCR, naklikam 11-ku, kliknem na INCR, naklikam 5-ku a mam, nie ?