Katedra matematických metód a operačnej analýzy
Fakulta riadenia a informatiky
Žilinská univerzita v Žiline
Univerzitná 1
010 26 Žilina

tel: ++421 41 513 42 00
tel & fax: ++421 41 513 42 02
e-mail: Ludmila.Janosikova@fri.uniza.sk

Miestnosť: RA 226



5BI125 Strojovo orientované jazyky

Na cvičeniach v 6., 8., 10. a 12. týždni budete písať test (cez Moodle). Aby ste mohli ísť na skúšku, musíte získať z testov aspoň 10 bodov. Opravný test nebude.
Na skúške sa programuje na stolných počítačoch, vlastný notebook môžete na skúške použiť len vtedy, ak ste na ňom robili na cvičeniach počas celého semestra.

Cieľ:
Študenti sa naučia programovať v assembleri pre procesory Intel.

Prednášky:

  1. Načo je vám assembler? Architektúra Intel Skylake.
  2. Architektúra Intel Skylake (pokračovanie). Registre.
  3. Spôsoby adresovania. Premenné. Konštanty.
  4. Inštrukcie pre kopírovanie údajov. Aritmetické inštrukcie. Logické inštrukcie. Inštrukcie pre posun a rotáciu.
  5. Skoky. Cykly.
  6. Inštrukcie pre prácu so zásobníkom. Procedúry.
  7. Inštrukcie pre nastavenie príznakových bitov. Reťazcové inštrukcie. Dvojrozmerné polia.
  8. Makroinštrukcie.
  9. Zobrazenie reálnych čísiel. Reálna aritmetika.
  10. Funkcie operačného systému Windows. Odovzdávanie správ aplikačnému programu pod Windows.
  11. Systémová úroveň V/V – programovaný V/V, prerušenia, priamy prístup do pamäti.
  12. Správa pamäti v 64-bitovom režime.
Cvičenia:
  1. Prevody medzi číselnými sústavami. Počítanie v dvojkovej sústave. Zobrazenie čísiel v počítači.
  2. Visual Studio 2017. Vzorový projekt. Procedúry pre vstup a výstup do konzoly z knižnice Irvine32 (ReadChar, WriteChar, ReadString, WriteString).

    Načítajte reťazec a znovu ho vypíšte na obrazovku. Po výpise reťazca presuňte kurzor na nový riadok.

  3. Načítajte reťazec a vypíšte ho na obrazovku tak, aby každé písmeno reťazca bolo na samostatnom riadku.

    Vypíšte reťazec na obrazovku tak, aby každé písmeno reťazca spolu s nasledujúcim písmenom v abecede bolo na samostatnom riadku. Napr. reťazec AHOJ sa vypíše takto:
    AB
    HI
    OP
    JK

    Načítajte znak. Vypíšte počet výskytov zadaného znaku v reťazci.

  4. Načítajte reťazec R. Skopírujte R do reťazca S tak, že dvojicu písmen 'as' nahradíte znakom '*'. Reťazec S vypíšte. Pri prístupe k reťazcom použite nepriamu adresu s bázou a indexom.

    Vstupná konverzia.

    Načítajte celé číslo bez znamienka v rozsahu <0; 65 535>. Vypočítajte hodnotu čísla a uložte ju do registra AX.

  5. Vstupná konverzia.

    Načítajte celé číslo v rozsahu <-32 768; 32 767>. Vypočítajte hodnotu čísla a uložte ju do registra AX.
    Návod: Najprv vypočítajte hodnotu čísla bez ohľadu na znamienko. Ak je číslo záporné (prvý znak reťazca je "-"), nakoniec vypočítajte jeho dvojkový doplnok.

  6. Test. Výstupná konverzia.

    Vypíšte obsah registra AX v desiatkovej sústave.

  7. Procedúry.

    Sformulujte procedúry pre načítanie a výpis čísla. V procedúrach zachovajte nastavenie registrov z volajúceho programu.

    Definujte v pamäti postupnosť čísiel typu word. Načítajte číslo. Zistite, či sa nachádza v postupnosti. Odpoveď (áno/nie) vypíšte.

  8. Test. Spracovanie postupnosti čísel.

    1. Definujte v pamäti postupnosť čísiel typu word. Vypíšte najmenšie číslo a jeho poradie v postupnosti.
    2. Načítajte postupnosť čísiel typu word. Vypíšte najmenšie číslo a jeho poradie v postupnosti.

  9. Bitové operácie.

    Vygenerujte 10-prvkovú množinu X celých čísiel z intervalu <0;31>.

    1. Vypíšte ju na obrazovku.
    2. Vytvorte jej bitovú reprezentáciu.
    3. Vypíšte množinu z jej bitovej reprezentácie.
    4. Vytvorte procedúru, ktorá vygeneruje 10-prvkovú množinu celých čísiel z intervalu <0;31>. Množina je parameter procedúry volaný odkazom.
    5. Vytvorte procedúru pre výpis množiny z jej bitovej reprezentácie. Množina je parameter volaný hodnotou.
    6. Vypočítajte a vypíšte doplnok množiny X.
    7. Vygenerujte druhú množinu Y. Vypočítajte a vypíšte prienik a zjednotenie množín X a Y.

    Návod: Na generovanie náhodných čísiel použite procedúru RandomRange z knižnice Irvine32.lib, ktorá vygeneruje náhodné číslo z intervalu <0;n-1>, kde n je vstupný parameter v registri EAX. Vygenerované číslo vráti procedúra v registri EAX.

  10. Test. Dokončiť množiny.
  11. Čísla v pohyblivej rádovej čiarke.

    Zostavte program, ktorý vypočíta strednú hodnotu a smerodajnú odchýlku náhodnej premennej "výška prítomných v triede". Výsledok vypíšte pomocou funkcie WriteFloat - vypíše register st(0).

  12. Test. Cykly.

    Definujte v pamäti maticu 3x5 celých čísiel typu word.

    1. Vypíšte ju na obrazovku.
    2. Vypíšte riadkové súčty.
    3. Vypíšte stĺpcové súčty.

  13. Konzultácie.


Literatúra:


5BI125 Assembly Language Programming

Lecture 1: Introduction to assembly language. The Intel Skylake architecture, part 1.
Lecture 2: The Intel Skylake architecture, part 2. Registers. Flags.
Lecture 3: Addressing modes. Variables. Constants.
Lecture 4: Instructions for data movement. Arithmetic instructions. Logical instructions. Shift instructions.
Lecture 5: Jumps and loops.
Lecture 6: Stack operations. Procedures.
Lecture 7: Instructions setting flag bits. String instructions. Two-dimensional arrays. Macro instructions.
Lecture 8: Floating point arithmetic.
Lecture 9 Windows services. Message dispatch to Windows application.
Lecture 10: Memory management in protected and 64-bit mode.

Recommended texts:

Project sample (.zip, 355 kB)

Training tasks:


Trasa obchodného cestujúceho po Slovensku

Dĺžka trasy: 8 830 743 m
Algoritmus: LKH (efektívna implementácia Lin-Kernighanovej heuristiky od Kelda Helsgauna)
Autori: Doboš Vladimír, Gregor Rastislav, Murín Michal, Ulbricht Michal

Optimálnosť dokázaná!!!
Concorde TSP solver
Optimal Solution: 8830743.00
Number of bbnodes: 967
Total Running Time: 60252.61 (seconds) Branching Time: 59972.80 (seconds)
O dôkaz sa zaslúžili kolegovia Štefan Peško a Michal Kaukič.
Súradnice obcí
Názvy obcí
Trasa


Mapy

Databáza obcí SR (.xlsx, 430 kB)

Územné celky SR (.zip, 419 kB).

Matica vzdialeností (.zip, 8.3 MB) medzi obcami SR, údaje sú v kilometroch. Indexy zodpovedajú poradiu obcí podľa čísla ZUJ (stĺpec H v databáze obcí). Zdroj: OpenStreetMap.

Matica cestovných časov (.zip, 8.1 MB) medzi obcami SR pri použití individuálnej dopravy s priemernou rýchlosťou v závislosti od triedy cesty: diaľnica - 120 km/h, cesta I. triedy - 80 km/h, cesta II. triedy - 65 km/h , ostatné cesty - 50 km/h. Údaje sú v minútach. Indexy zodpovedajú poradiu obcí podľa čísla ZUJ (stĺpec H v databáze obcí). Zdroj: OpenStreetMap.


Publikácie

Operačný výskum

Jánošíková, Ľ., Herda, M., Haviar, M. Hybrid genetic algorithms with selective crossover for the capacitated p-median problem. In Central European Journal of Operations Research 25(3), 2017, pp. 651-664. DOI 10.1007/s10100-017-0471-1 Author's accepted manuscript.

Jánošíková, Ľ., Vasilovský, P. Grouping genetic algorithm for the capacitated p-median problem. In Proceedings of the International Scientific Conference on Information and Digital Technologies, Žilina, Slovakia, 5 – 7 July 2017.

Jánošíková, Ľ., Jankovič, P., Márton, P. Models for relocation of emergency medical stations. In Ivan, I. et al (eds.) The Rise of Big Spatial Data, Lecture Notes in Geoinformation and Cartography. Springer International Publishing, 2017. ISBN 978-3-319-45122-0. pp. 225-239.

Jánošíková, Ľ., Haviar, M. Imperialist competitive algorithm in combinatorial optimization. In Proceedings of the International Scientific Conference Quantitative Methods in Economics – Multiple Criteria Decision Making XVIII, Vrátna, Slovak Republic, 25 – 27 May 2016. Bratislava : Letra Interactive, 2016. ISBN 978-80-972328-0-1, pp. 196-201.

Jánošíková, Ľ., Haviar, M. Hybrid Genetic Algorithms for the Capacitated p-median Problem. In SOR ´15 : Proceedings of the 13th International Symposium on Operational Research in Slovenia. Bled, Slovenia, September 23-25, 2015. Ljubljana: Slovenian Society Informatika, Section for Operational Research, 2015. ISBN 978-961-6165-45-7, pp. 176-181.

Jánošíková, Ľ., Gábrišová, L., Ježek, B. Load balancing location of emergency medical service stations. In Ekonomie a management. ISSN 1212-3609, 2015, vol. XVIII, no. 3, pp. 30–40.

Jánošíková, Ľ., Slavík, M. Modelling passengers’ arrivals at public transport stops. In Communications : Scientific letters of the University of Žilina. ISSN 1335-4205, 2015, vol. 17, no. 2, pp. 30–34

Jánošíková, Ľ., Slavík, J., Koháni, M. Estimation of a route choice model for urban public transport using smart card data. In Transportation Planning and Technology. ISSN 0308-1060, 2014, Vol. 37, Issue 7, pp. 638–648, available online: http://www.tandfonline.com/doi/full/10.1080/03081060.2014.935570.

Jánošíková, Ľ., Žarnay, M. Location of Emergency Stations as the Capacitated p-median Problem. In Proceedings of the International Scientific Conference Quantitative Methods in Economics – Multiple Criteria Decision Making XVII, Virt, 28 – 30 May 2014. Bratislava : Ekonóm, 2014. ISBN 978-80-225-3868-8, pp. 116-122.

Jánošíková, Ľ., Kavička, A., Bažant, M. Optimal operation scheduling and platform track assignment in a passenger railway station. In Proceedings of the Institution of Mechanical Engineers, Part F: Journal of Rail and Rapid Transit. ISSN 0954-4097, 2014, Vol. 228, Issue 3, pp. 271-284. [abstract]

Jánošíková, Ľ., Krempl, M. Allocation of Trains to Platforms at Railway Station. In Proceedings of the 31st International Conference on Mathematical Methods in Economics 2013. ISBN 978-80-87035-76-4, Jihlava, Czech Republic, 11-13 September 2013, pp. 338–343

Jánošíková, Ľ., Hrebeň, T. Mathematical programming vs. constraint programming for scheduling problems. In Communications : Scientific letters of the University of Žilina. ISSN 1335-4205, 2013, vol. 15, no. 1, pp. 39–43

Jánošíková, Ľ., Koháni, M., Blatoň, M., Teichmann, D. Optimization of the urban line network using a mathematiocal programming approach. In International Journal of Sustainable Development and Planning. ISSN 1743-7601, 2012, Vol. 7, No. 3, p. 288–301. [abstract]

Jánošíková, Ľ., Krempl, M. Routing and scheduling trains at a passenger railway station. In Proceedings of the 16th International Scientific Conference Quantitative Methods in Economics, Bratislava, 30 May - 1 June 2012. Bratislava : Ekonóm, 2012. ISBN 978-80-225-3426-0, p. 108-114.

JANÁČEK, J., JÁNOŠÍKOVÁ, Ľ., BUZNA, Ľ. Optimized Design of Large-Scale Social Welfare Supporting Systems on Complex Networks. In THAI, M.T. and PARDALOS, M. (editors) Handbook of Optimization in Complex Networks. New York : Springer, 2012. ISBN 978-1-4614-0753-9. p. 337-361.[abstract]

JÁNOŠÍKOVÁ, Ľ., SLAVÍK, J., KOHÁNI, M. Logit model pre výber spojenia v mestskej hromadnej doprave. In Sborník příspěvků semináře Úlohy diskrétní optimalizace v dopravní praxi 2011. Pardubice : Univerzita Pardubice, 2011. ISBN 978-80-7395-439-0, p. 7-17.

JANÁČEK, J., JANÁČKOVÁ, M., SZENDREYOVÁ, A., GÁBRIŠOVÁ, L., KOHÁNI, M., JÁNOŠÍKOVÁ, Ľ. Navrhovanie územne rozľahlých obslužných systémov. Žilina : Žilinská univerzita v Žiline/EDIS, 2010. ISBN 978-80-554-0219-2. [Obsah]

JÁNOŠÍKOVÁ, Ľ., BLATOŇ, M., TEICHMANN, D. Design of urban public transport lines as a multiple criteria optimisation problem. In Proceeedings of the 16th International Conference on Urban Transport and the Environment, Limassol, Cyprus, 5-7 May 2010. WIT Press, 2010. ISBN 978-1-84564-456-7, p. 137-146. [abstract]

Jánošíková, Ľ., Bažant, M., Kavička, A. Podpora optimálního operativního plánování provozu v osobních železničních stanicích. In Perner’s Contacts. ISSN 1801-674X, 2009, vol. IV, no. 3, p. 97–114.

JÁNOŠÍKOVÁ, Ľ. Reduction of a hospital network as a multiple criteria optimisation problem. In Ekonomie a management. ISSN 1212-3609, 2009, vol. XII, no. 3, p. 50–57.

CENEK, P., JÁNOŠÍKOVÁ, Ľ. Models and Optimisation in Transports and Logistics. Žilina : EDIS, 2008. ISBN 978-80-8070-951-8. [Contents]

JÁNOŠÍKOVÁ, Ľ. Viackriteriálne lokačné úlohy v zdravotníctve. In Sborník příspěvků semináře Úlohy diskrétní optimalizace v dopravní praxi. Pardubice : Univerzita Pardubice, 2008. ISBN 978-80-7395-076-7, p. 26-38.

JÁNOŠÍKOVÁ, Ľ. The minimal network of hospitals as a bicriterion location problem. In Proceedings of the 14th International Conference Quantitative Methods in Economics. Bratislava : Iura Edition, 2008. ISBN 978-80-8078-217-7, p. 116-123.

JÁNOŠÍKOVÁ, Ľ. Emergency medical service planning. In: Communications : Scientific letters of the University of Žilina. ISSN 1335-4205, 2007, vol. 9, no. 2, p. 64–68.

Jánošíková, Ľ.: Operatívny model distribučného systému. In: Zborník 7. medzinárodnej vedeckej konferencie Kvantitatívne metódy v ekonómii a podnikaní, Fakulta hospodárskej informatiky, Ekonomická univerzita v Bratislave. vyd. Ekonóm Bratislava, 2001. str. 497-503. [abstrakt]

Kavička, A., Jánošíková, Ľ. Modelovanie koľajiska a výpočet najkratšej jazdnej cesty. (Trackage modelling and algorithms for finding the shortest train route.) In: Komunikácie, No 2. vyd. ŽU v Žiline, 1999. str. 9–21.

Cenek, P., Janáček, J., Jánošíková, Ľ.: Optimalizace státní správy a územněsprávního členění. Sborník prací a studií Pardubické university, 1999.

Jánošíková, Ľ.: An Adaptation of the Tabu Search Metaheuristic to the Problem of Transportation Planning. In: Preprints of the 8th IFAC/IFIP/IFORS Symposium on Transportation Systems, Chania, Greece, 1997, pp 765-768. [abstract]

Jánošíková, Ľ.: A Tabu Search Procedure for the Allocation Problem. CEJORE, Vol 4, No 4, 1996. str. 305–312. [abstract]

Dopravná dostupnosť, dopravná infraštruktúra

JÁNOŠÍKOVÁ, Ľ. Optimálne umiestnenie staníc záchrannej zdravotnej služby z hľadiska dopravnej dostupnosti. In Sborník příspěvků z mezinárodní konference INFOTRANS 2007. Pardubice : Univerzita Pardubice, 2007. ISBN 978-80-7194-989-3, p. 143-148.

Jánošíková, Ľ., Sadloň, Ľ. and Cenek, J.: Model of intelligent transportation infrastructure. In: Journal of Information, Control and Management Systems, No. 1/2003. vyd.: University of Žilina, Žilina. str. 47-56. ISSN 1336-1716. [abstract]

Jánošíková, Ľ. Dopravná dostupnosť ako kritérium kvality osobnej dopravy. In: Sborník příspěvků z mezinárodní konference GIS Ostrava 2003, VŠB-TU Ostrava a Česká asociace pro geoinformace. Vyd. VŠB-TU Ostrava, 2003. ISSN 1213-2454.

Jánošíková, Ľ.: Prostorová analýza trhu obslužných center. In Ekonomie a management, 3/2002. str. 50-55. ISSN 1212-3609. [abstract]

Janáček, J., Jánošíková, Ľ. Vyššie územné celky a dopravná dostupnosť ich sídelných miest. In: Komunikácie, č. 1-2/2002. vyd. University of Žilina, Žilina. str. 92-98. ISSN 1335-4205.

Jánošíková, Ľ., Kubáni, A.: Dopravná dostupnosť obcí. In: Zborník medzinárodnej vedeckej konferencie Riadenie a informatika v novom tisícročí, Fakulta riadenia a informatiky, Žilinská univerzita v Žiline. vyd. ŽU v Žiline, 2000. str. 217-222. [abstrakt]

Cenek, P., Jánošíková, Ľ.: Model dopravnej obsluhy regiónu. In: Horizonty dopravy 1/2000. vyd. VÚD Žilina, 2000. str. 10-12. [abstrakt]

GIS

Jánošíková, Ľ., Končelík, M.: Digital Terrain Modelling. In: Proceedings of the 5th International Scientific Conference on Electronic Computers and Informatics. University of Technology Košice. vyd. VIENALA Press, Košice, 2002. str. 308-312. ISBN 80-7099-879-2. [abstract]

Výpočtová geometria

Jánošíková, Ľ.: Zobrazování územních celků. In: Sborník příspěvků z mezinárodní konference Public Administration 2000, Univerzita Pardubice, Fakulta ekonomicko-správní. Vyd. Univerzita Pardubice, 2000. str. 86-90. [abstrakt]

Constraint Programming

Jánošíková, Ľ., Stasinka, R. Constraint Programming: An Application for Graph Coloring. In: Scientific Papers of the University of Pardubice, Series B, Vol 8 (2002). vyd. Univerzita Pardubice, 2003. str. 129–139. ISSN 1211-6610.