Assembler 8086 – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Assembler 8086 – Assembler – Fórum – Programujte.comAssembler 8086 – Assembler – Fórum – Programujte.com

 

Martin
~ Anonymní uživatel
1595 příspěvků
26. 1. 2023   #1
-
0
-

Ahoj, potřeboval bych pomoct s úkolem, který jsem dostal zadán ve škole. Jelikož nerozumím moc assemblerům obecně, tak bych uvítal jakoukoliv pomoc a byl bych nesmírně vděčný.

Zde je zadání:

Vytvořte program, který bude  zobrazovat postupně znaky posloupnosti. Znaky posloupnosti se se budou zobrazovat postupně a opakovaně. Rozměr, pohyb a posloupnost, 4,1 – 20,78, proti směr hodinových ručiček, 97531

Předem děkuji za jakoukoliv pomoc.

Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
26. 1. 2023   #2
-
0
-

protože nejsem matematik tak zadání úlohy nechápu :)

1/ by se vyplatilo okopírovat sem originál zadání

2/ který ročník střední školy studuješ ?

3/ jaké vybavení vám na to pan učitel dal ? máte assembler 8086 ? a jaký ? Debugger ? A jaký ?

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c092:c0b4:c77a:3a48...–
Martin
~ Anonymní uživatel
1595 příspěvků
26. 1. 2023   #3
-
0
-
Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
26. 1. 2023   #4
-
0
-

zajímavé zadání.

a nezodpověděl si mi ty zbývající otázky :) pupíčku, v čem to máte dělat ? máte na to nějaký "nástroj" ???  tu posloupnost stále nechápu :)

zkus si přečíst tohle:

http://programujte.com/forum/vlakno/194628-x86-nasm-cteni-z-terminalu-a-vypsani-znovu-na-terminal-ale-pouze-pulka-kazdeho-radku/

a popis požadovaných služeb máš dole na obrázcích

Připojen obrázek.

Připojen obrázek.

Připojen obrázek.

Připojen obrázek.

Připojen obrázek.

Připojen obrázek.

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c092:c0b4:c77a:3a48...–
26. 1. 2023   #5
-
0
-
Nahlásit jako SPAM
IP: 2001:af0:ffe4:85f4:b1b2:608a:eb58:3f94...–
26. 1. 2023   #6
-
0
-

Viz tabulka a tabulka nikde. Vůbec není jasné, zda posloupnost aritmetická nebo geometrická.

hu

Nahlásit jako SPAM
IP: 2001:af0:ffe4:85f4:b1b2:608a:eb58:3f94...–
Martin
~ Anonymní uživatel
1595 příspěvků
26. 1. 2023   #7
-
0
-

#6 hlucheucho
Ta tabulka je to druhé foto co jsem poslal

Nahlásit jako SPAM
IP: 89.176.25.–
Jerry
~ Anonymní uživatel
504 příspěvků
27. 1. 2023   #8
-
0
-

takže zadání posloupnosti je:

4,1-20,78,proti směr hodinových ručiček,97531

:) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)

a tez nak "-" to je mínus nebo pomlčka ? a ten ext se má intepretovat jako ASCII čísla nebo je to nějaká staroegyptská hádanka ? No možná by pomohlo zeptat se Sherlocka Holmese :) :) :) 

Hele a už ste si někdy na pana učitele stěžovali ? Písemně ? Doporučeným dopisem na adresu školy ? A zkoušel ho někdo zažalovat ? Podat na něj trestní oznámení pro útisk ? :) :) :) :)

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:adba:3c65:4f8b:f24f...–
Jerry
~ Anonymní uživatel
504 příspěvků
27. 1. 2023   #9
-
0
-

a jestli ste četli zadání tak sou tam překlepy. mě tady kritizujete za češtinu a "pan učitel" tam taky má chyby.

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:adba:3c65:4f8b:f24f...–
27. 1. 2023   #10
-
0
-

K připomínkám se přidám. Z toho řádečku se mi nedaří vyčíst vlastnosti posloupnosti.

Ještě mi vrtá hlavou: K čemu středoškolák potřebuje znát Assembler 8086?

hu

Nahlásit jako SPAM
IP: 195.178.67.–
JerryM0
Věrný člen
27. 1. 2023   #11
-
0
-

hele pupíčku jenom tak pro zajímavost řekni nám jak vám pan učitel vysvětlil příkaz v assembleru "smazat obrazovku". mě by to docela zajímalo. máš na to nějaký kód ? ukážeš nám ho ? nestyď se, dej ho sem ... :)
 

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:5803:4247:e093:a712...–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #12
-
0
-

#11 JerryM
Promiňte, že jsem neodepisoval, hold víkend no jsem chtěl mít konečně klid od školy xd. 
No jednoduše, vlastně nikdo kromě jednoho žáka nechápe zadání našeho pana učitele, nevíme v podstatě o tom vůbec nic, měli jsme jen pár hodin teorie, který nikdo nepobral a hnedka jsme šli programovat. Prostě se to nějak snažíme skládat za pochodu. Myslím si jak je ta tabulka tak to myslel takto ale nevím, je to jen moje teorie xd :
Rozměr je 4,1 - 20,78; pohyb je proti směru hodinových ručiček a posloupnost je 97531 (asi se tato čísla mají opakovat). Takhle jsem to pochopil já a to je vše. Proto semka píšu na podporu, protože já si s tím reálně nevím vůbec ale vůbec rady a dostat 5 zbytečně z tohoto předmětu se mi moc nechce. Nejsem flink jak si myslíte, prostě to reálně nechápu, snažil jsem se najít jakýkoliv tutoriál na assemblery, ale nejde mi to prostě a nemohl jsem ani najít. A prostě dostat Nko nebo 5 nechci ani náhodou. Zatím jsme si na pana učitele nestěžovali, jen pomlouváme ve třídě, jak to nikdo nechápe a tak, však to určitě znáte.
Ale fakt moc díky za jakoukoliv pomoc.

Nahlásit jako SPAM
IP: 89.176.25.–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #13
-
0
-

#10 hlucheucho
No, reálně nepotřebujeme k ničemu, až na maturitu. Taky si radši většina vybrala maturitu s obhajobou, protože by assembler 8051 a assembler 8086 vůbec nedali. Takže asi tak. Jenom na maturitu, jinak samozřejmě k životu je to podle mě úplně k ničemu, programy se dají normálně naprogramovat třeba v C++ a pak akorát přeložit do assembleru a nemusí se vůbec nějaký assembler umět. Je to podle mě zbytečný, ale co s tím udělám xd.

Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
31. 1. 2023   #14
-
0
-

s tou posloupností ti asi nepomužeme ... fakt to nechápu :) prostě zadání:

"...Rozměr je 4,1 - 20,78; pohyb je proti směru hodinových ručiček a posloupnost je 97531..."

nechápu a nezapomeň nám sem dát ten příkaz "smazat obrazovku" co si od pana učitele dostal

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
JerryM0
Věrný člen
31. 1. 2023   #15
-
0
-

hele a už si teda začal ? máš doma na počítači nahranej ten NASM ? v DosBoxu ?

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #16
-
0
-

#15 JerryM
Doma to nemám nahraný, máme na to jakože každý úterý 2 hodiny ve cvičení ve škole.

Doma musím někde v biosu povolit virtualitu ještě, ale z těch předešlých programů, co mám už hotový tak třeba to smazání obrazovky myslím mám udělaný.

Nahlásit jako SPAM
IP: 89.176.25.–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #17
-
0
-

#14 JerryM
A ta posloupnost je myšlena prostě, že se budou opakovat čísla 97531 a pak zase 97531 a tak dál.

Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
31. 1. 2023   #18
-
0
-

tak nám sem dej to smazání obrazovky ať se pokocháme :)

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
31. 1. 2023   #19
-
0
-

#17 Martin
jsem pojem posloupnost chápal matematicky.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #20
-
0
-

#19 hlucheucho
Jasný no, taky jsem to tak chápal, ale tohle mi přijde jako jediné logické řešení.

Nahlásit jako SPAM
IP: 89.176.25.–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #21
-
0
-

#18 JerryM
Až si zprovozním tu virtualitu na pc tak to ukážu.

Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
31. 1. 2023   #22
-
0
-

co myslíš tym pojmem "virtualita" :)  ??? to jako že si nainstaluješ DosBox pod Windows 10/11 ??? nebo to budeš zkoušet na WindowsXP x32 ve VMWare 15/16/17 ??? nebo snad něco jinýho ?

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #23
-
0
-

#22 JerryM
To třeba že musíš mít povolenou virtualitu aby ti ten dosbox vůbec fungoval víš?

Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
31. 1. 2023   #24
-
0
-

to nevim ... to je asi nějaký novinka ... to se spíš týká VMWare

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
JerryM0
Věrný člen
31. 1. 2023   #25
-
0
-

už to máš ? bože tobě to trvá ... DosBox se instaluje asi 60 sekund ... a doplnit konfigurační příkaz zabere asi 30 sekund

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #26
-
0
-

#24 JerryM
To není vůbec novinka xd

Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
31. 1. 2023   #27
-
0
-

a co zkusit VMWare ?

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #28
-
0
-

#27 JerryM
Virtual prostě musíš povolit aby to vůbec fungovalo na počítači.

Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
31. 1. 2023   #29
-
0
-

aháááááááááááááááá :) ... no a už si to povolil ? už si to nainstaloval ? a nakonfiguroval ? a funguje to ?

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
gna
~ Anonymní uživatel
1847 příspěvků
31. 1. 2023   #30
-
0
-

Virtuál nepotřebuješ. Rozchodit DOSBox je záležitost minuty, jak už psal Jerry.

Nahlásit jako SPAM
IP: 213.211.51.–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #31
-
0
-

#29 JerryM
Jo funguje

Nahlásit jako SPAM
IP: 89.176.25.–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #32
-
0
-

#30 gna
Ale DOSBOX NEBUDE FUNGOVAT KDYŽ TO NEPOVOLÍŠ, to jste takový boomeři, nebo co?

Nahlásit jako SPAM
IP: 89.176.25.–
gna
~ Anonymní uživatel
1847 příspěvků
31. 1. 2023   #33
-
0
-

#32 Martin
DOSBox nepotřebuje žádné povolování virtualizace. Tečka! A boomeři, co zvládnou ten tvůj program napsat, by se taky mohli na upovídaného lempla vykašlat, tak se klidni, mladej.

Nahlásit jako SPAM
IP: 213.211.51.–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #34
-
0
-

#33 gna
To vidím jak to dokázali napsat, když neví ani příkaz na vymazání prostředí

Nahlásit jako SPAM
IP: 89.176.25.–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #35
-
0
-

#33 gna
DOSbox nešel spustit, protože nebyl povolený virtuál v biosu a ani ve windowsu, není můj problém, že tomu nerozumíš, nebo nechápeš, ale je to bohužel tak, nefungovalo mi to předtím a teďka jo.

Nahlásit jako SPAM
IP: 89.176.25.–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #36
-
0
-

#33 gna
Jde vidět, že nic moc nevíš jak tady vidím hnedka co píšeš za nesmysly. Musel jsem aji vysvětlovat zadání, jde vidět že si jen tady hraješ na borce, přitom vůbec nic nevíš no. Vtipní tito lidé :)

Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
31. 1. 2023   #37
-
0
-

mužeš to zkusit s VMWare a uvnitř WindowsXP x32 nebo ten MSDOS 7.x obojí funguje OK

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
JerryM0
Věrný člen
31. 1. 2023   #38
-
0
-

 :)


       ORG 0x0000
L_40:   
       MOV AX, 0x0003
       INT 0x10
L_50:
       MOV AX, 0xB800
       MOV ES, AX
       MOV AX, 0x0000 
       MOV DI, AX
       MOV AX, 0x0700 ; color 0x07-white, ASCII 0x00
       MOV CX, 0x0FA0
       CLD
   REP STOSW 

L_60:
       MOV AX, 0xB800
       MOV ES, AX
       MOV AX, 0x0000 
       MOV DI, AX
       MOV AX, 0x0748 ; 0x0D41
       MOV CX, 0x0050
       CLD
L_70:
       STOSW 
       PUSH AX
       PUSH CX
       PUSH DX
       PUSHF
       MOV AX, 0x8600
       MOV CX, 0x0000 ; CX:DX pause in milisec
       MOV DX, 0x0096 ; 150ms
       INT 0x15       ; wait 
       POPF
       POP DX
       POP CX
       POP AX
       DEC CX 
       CMP CX, 0x0000
       JNE L_70
    
    
Endprog:
       ; ukonceni programu - povinna sekvence int21h/4c00h 
       MOV AX, 0x4C00  
       INT 0x21

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
JerryM0
Věrný člen
31. 1. 2023   #39
-
0
-

:)

 ORG 0x0000

       MOV DL, 0x00
       DEc DL 
L_40:   
       MOV AX, 0x0003
       INT 0x10
 
       MOV DH, 0x00
L_60:
       MOV AX, 0x0200
       MOV BX, 0x0000
       MOV DL, 0x4F
       INT 0x10

       MOV AX, 0x0A58
       MOV BX, 0x0000
       MOV CX, 0x0001
       INT 0x10

       INC DH 
       CMP DH, 0x0018

       JNE L_60

       MOV DL, 0x4F
L_70:
       MOV AX, 0x0200
       MOV BX, 0x0000
       MOV DH, 0x18
       INT 0x10

       MOV AX, 0x0A58
       MOV BX, 0x0000
       MOV CX, 0x0001
       INT 0x10

       DEC DL 
       CMP DL, 0x00FF

       JNE L_70


L_80:    
    
Endprog:
       ; ukonceni programu - povinna sekvence int21h/4c00h 
       MOV AX, 0x4C00  
       INT 0x21

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
JerryM0
Věrný člen
31. 1. 2023   #40
-
0
-

Jenom nechápu proč mě nefunguje klasická instrukce MOV na zápis do videoram ... hm jetoi vidný .. nemáte náhodou ještě někdo doma starej počítač třeba 386ku ? že byste to vyzkoušeli ?

       MOV AX, 0xB800
       PUSH AX
       POP DS
       MOV SI, 0x0000 
       MOV AL, 0x07
       MOV DS:[SI], AL 
       INC DI
       MOV AL, 0x58
       MOV DS:[DI], AL
Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
JerryM0
Věrný člen
31. 1. 2023   #41
-
0
-

Kdyby někdo potřeboval tak tady je návod jak nabootovat z USB Flešky na který je MSDOS do VMWare

https://www.youtube.com/watch?v=rZhL5ReedrA

a tady je případně PLOP manager ale s tim mi to člo jen ReadOnly do MSDOSu takže to bylo k ničemu

https://www.plop.at/en/bootmanager/download.html

osobně bych ale považoval za nejlepší řešení ten WindowsXP x32 ve VMWare protože to funguje velmi luxusně a hlavně všechno, ten DosBox je takovej jakože "nedodělanej"

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:c046:9eef:25ba:ba25...–
Martin
~ Anonymní uživatel
1595 příspěvků
31. 1. 2023   #42
-
0
-

#41 JerryM
No jakože, ta posloupnost má obíhat po celém obvodu tý obrazovky, já si akorát nevím rady, jak udělat podprogram na tu posloupnost.

Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
1. 2. 2023   #43
-
0
-

v zadání neni napsáno, že ten text má obíhat okolo obrazovky, je tam napsáno, že se má jen zobrazovat posloupnost i když nechápu co to je ...

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:a868:b129:77b0:571c...–
gna
~ Anonymní uživatel
1847 příspěvků
1. 2. 2023   #44
-
0
-

#34 Martin
Jejda, ty jsi ale drsňák.

To vidím jak to dokázali napsat, když neví ani příkaz na vymazání prostředí

U všech tvých dotazů je jasné, že všichni zúčastnění by to měli za pár minut. Konkrétní kód ti do teď nikdo nenapsal, protože na to dlabeš a "udělejte za mě" moc nefunguje.

DOSbox nešel spustit, protože nebyl povolený virtuál v biosu a ani ve windowsu, není můj problém, že tomu nerozumíš, nebo nechápeš, ale je to bohužel tak, nefungovalo mi to předtím a teďka jo.

DOSBox virtualizaci nepoužívá a nepotřebuje, tudíž ji není potřeba zapínat. To by ses ale musel obtěžovat to zkusit a nevymýšlet si.

Jde vidět, že nic moc nevíš jak tady vidím hnedka co píšeš za nesmysly. Musel jsem aji vysvětlovat zadání, jde vidět že si jen tady hraješ na borce, přitom vůbec nic nevíš no. Vtipní tito lidé :)

Zadání jsi musel vysvětlovat, protože jsi ho napsal debilně. Já jsem tě prokoukl rychle, ale Jerry s tebou ztrácí čas a dokonce ti fotí knížku, tak se chovej uctivě, zmrde.

Nahlásit jako SPAM
IP: 213.211.51.–
gna
~ Anonymní uživatel
1847 příspěvků
1. 2. 2023   #45
-
0
-

#40 JerryM
V nasm se to celé píše do závorek. [DS:SI]

Nahlásit jako SPAM
IP: 213.211.51.–
gna
~ Anonymní uživatel
1847 příspěvků
1. 2. 2023   #46
-
0
-

#43 JerryM
Ta posloupnost je daná: 97531. A má se postupně vypisovat v té oblasti 4,1 – 20,78.

Nahlásit jako SPAM
IP: 213.211.51.–
JerryM0
Věrný člen
1. 2. 2023   #47
-
0
-

#45 gna
mě to nefunguje prostě když napíšu v tom NASM

mov [ES:DI], BX  nebo mov [ES:DI], BH  nebo mov [ES:DI], BL

kde ES je 0xB800 a DI je 0x0000 a BX je 0x0758 tak se nic nestane a nefunguje to ani s BH nebo BL kombinací.  NASM to sice překompiluje ok ale pak už nic .. musim to řešit přes STOSW/MOVSW je to divný protože ve starým Intel-MASM to fungovalo OK.

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:a868:b129:77b0:571c...–
gna
~ Anonymní uživatel
1847 příspěvků
1. 2. 2023   #48
-
0
-

#47 JerryM
Aha, já jsem nedočetl tu poslední větu, podle které se ti to zjevně zkompiluje a jen to nefunguje. Nevím, co je v DI a tipuju, že jsi chtěl použít SI. Jinak další střela od boku byla, jestli třeba nejsi v mono řežimu (0xb000).

Nahlásit jako SPAM
IP: 213.211.51.–
gna
~ Anonymní uživatel
1847 příspěvků
1. 2. 2023   #49
-
0
-

Ech, když ti jiný kód na stejné adrese funguje, tak to nebude mono režimem. Čtu strašně nepozorně :) Takže asi ty indexy.

Nahlásit jako SPAM
IP: 213.211.51.–
JerryM0
Věrný člen
1. 2. 2023   #50
-
0
-

Hm tak to nějak shrneme a uzavřeme, protože se to tak nějak chýlí ke konci :)

tady máš image na USB flešku a je to MSDOS 7.x, to kdyby sis chtěl nabootovat počítač z flešky nebo nabootovat MSDOS
z VMWare
https://uloz.to/…r-usbkey-ima!ZJSzAwR2ZJSxAmEuAJV5ATAzAGWzAH9eFx9DIKL3ERSsHmDmMD==

tady máš návod jak se bootuje MSDOS ve VMWare z USB Flešky je to docela dobrý
a výhodou je, že pracuje v reálným MSDOSU, tu flešku samozřejmě musíš mít zasunutou v USB portu

https://www.youtube.com/watch?v=rZhL5ReedrA

tady máš WinIMAGE aby sis to mohl zapsat na flešku tu image
https://uloz.to/…ge-6-a-8-rar

tady máš adresář ruzných programů co se dává na c:\_DOSBOX a je to pracovní adresář DOSBOXU:

https://uloz.to/file/Plh9VSGvzPek/dosbox-rar

tady máš info o DOSBOXU:

https://www.dosbox.com/download.php?main=1
https://www.dosbox.com/wiki/Commands

Kromě DosBoxu mužeš používat i WindowsXP x32. je to mnohem luxusnější - viz screenshot dole
tady máš link na instalačku VMWare 15, 16, 17 a vše potřebné.

https://uloz.to/file/qZbYmrYQ06Ai/vmware-15-16-17-password-is-admin-rar#!ZGx0LmR2ZGN5L2DjBTD3AmxkATMyBJyOAwOgDxA+AGIxqwD1MN==

a tady je link na VMWare Image WindowsXPx32Profi a je tam už všechno potřebný nainstalovaný
včetně IDE FreshIDE pro assembler 8086 a turbo debugger od Borlandu v 5.0 a další věci:

https://uloz.to/file/7mgJBW8bAd2Y/winxpx32profi-password-is-admin-rar#!ZJD5LwR2AQtkAJR1MJD4AQHjLmR4LIxlMRSkJR55qRWfHGuuMN==

Dělá se to tak, že si stáhneš ty instalačky VMWare a zvolíš verzi 15 nebo 16 nebo 17 podle toho
jak máš silnej počítač - takže asi 15 a nainstaluješ si VMWare 15. Pak si stáhneš tu image
a nakopíruješ ji do vhodného adresáře třeba C:\IMAGES, rozbalíš ji a pak ji otevřeš
ve VMWARE a spustíš. Výhodou je, že si mužeš nadefinovat sdílený adresáře do disku C: a dalších
Je to velmi luxusní záležitost. Edituješ kod 8086 v editoru FreshASM a pak ho zkompiluješ
a debugger se pouští v menu Debug/ExternalDebugger. Kompilace je Ctrl+F9.
V TurboDebuggeru se pro zobrazení uživatelský obrazovky používá klávesa Alt+F5 a klávesou
Alt+Enter se vstupuje/vystupuje z okenního režimu. U každého otevřeného okna DOSU si mužeš
zvolit velikost fontu vlevo nahoře u každého okna je ikona a když na ni klikneš pravým tlačítkem
myši tak se otevře menu kde si zvolíš font.

Jinak tady je vypracování toho prvního bodu:

       ORG 0x0000
L_40:   
       MOV AX, 0x0003
       INT 0x10
L_50:
       MOV AX, 0xB800
       MOV ES, AX
       MOV AX, 0x0000
       MOV DI, AX
       MOV AX, 0x0700 ; color 0x07-white, ASCII 0x00
       MOV CX, 0x0FA0
       CLD
   REP STOSW

L_60:
       MOV AX, 0xB800
       MOV ES, AX
       MOV AX, 0x0000
       MOV DI, AX
       MOV AX, 0x0748 ; 0x0D41
       MOV CX, 0x0050
       CLD
L_70:
       STOSW
       PUSH AX
       PUSH CX
       PUSH DX
       PUSHF
       MOV AX, 0x8600
       MOV CX, 0x0000 ; CX:DX pause in milisec
       MOV DX, 0x0096 ; 150ms
       INT 0x15       ; wait
       POPF
       POP DX
       POP CX
       POP AX
       DEC CX
       CMP CX, 0x0000
       JNE L_70
    
    
Endprog:
       ; ukonceni programu - povinna sekvence int21h/4c00h
       MOV AX, 0x4C00  
       INT 0x21


a tady je vypracování toho druhýho bodu:


ORG 0x0000

       MOV DL, 0x00
       DEc DL
L_40:   
       MOV AX, 0x0003
       INT 0x10
 
       MOV DH, 0x00
L_60:
       MOV AX, 0x0200
       MOV BX, 0x0000
       MOV DL, 0x4F
       INT 0x10

       MOV AX, 0x0A58
       MOV BX, 0x0000
       MOV CX, 0x0001
       INT 0x10

       INC DH
       CMP DH, 0x0018

       JNE L_60

       MOV DL, 0x4F
L_70:
       MOV AX, 0x0200
       MOV BX, 0x0000
       MOV DH, 0x18
       INT 0x10

       MOV AX, 0x0A58
       MOV BX, 0x0000
       MOV CX, 0x0001
       INT 0x10

       DEC DL
       CMP DL, 0x00FF

       JNE L_70


L_80:    
    
Endprog:
       ; ukonceni programu - povinna sekvence int21h/4c00h
       MOV AX, 0x4C00  
       INT 0x21


si chytrý chlapec a s tim třetím bodem si ještě poradíš.
Tady je ještě hezký a funkční návod jak se zapisuje text na obrazovku:


Code:

org 100h
use16
        lea     bx, [text1]
        mov     [x], 50
        mov     [y], 13
        mov     [color], 13
        call    print

        mov     ax, 4c00h
        int     21h

print:
; bx = pointer to text string
        push    0b800h
        pop     es
        mov     ax, word [y]
        mov     dx, 80
        mul     dx
        add     ax, word [x]
        mov     dx, 2
        mul     dx
        mov     di, ax
        mov     ah, byte [color]
redo:
        mov     al, byte [bx]
        cmp     al, 0
        jz      quit
        stosw
        inc     bx
        jmp     redo
quit:
        ret

x       dw      ?
y       dw      ?
color   db      ?
txt     dw      ?
text1   db      'Ahoj',0
    

v turbo debuggeru je potřeba ho spustit a nechat proběhnout celý aby se text zobrazil
jinak si už jistě pochopil, že pro zobrazení textu s NASM potřebuješ instrukce STOWS/MOVSW
a to i když chceš zobrazit jen jeden znak. Prostě současný asm nějak neumí MOV mem1, mem2.
Nechápu proč. Aby si to tedy správně pochopil, tak místo 'Ahoj' dáš '97531'. Ty tvoje
zadání sou docela hodně pošahaný.

Tak to je asi tak všechno. By mě zajímalo co je to za konkrétní školu.
To je někde v Praze ? V Brně ?

Připojen obrázek.

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:a868:b129:77b0:571c...–
Martin
~ Anonymní uživatel
1595 příspěvků
1. 2. 2023   #51
-
0
-

#50 JerryM
Vy mi blbě furt rozumíte, já mám ten kód udělaný celý už dávno, kromě tý posloupnosti, to co píšete máte strašně zbytečně složité, jen jsem potřeboval poradit na PODPROGRAM posloupnosti.

Nahlásit jako SPAM
IP: 89.176.25.–
Martin
~ Anonymní uživatel
1595 příspěvků
1. 2. 2023   #52
-
0
-

#44 gna
A tudíž tvoje divné argumenty a útočné a jen nasírající zprávy, které nemají žádnou hodnotu nedávají smysl. 
Jde vidět, že nic nechápeš, takže logika ti nic neříká. Dosbox jsem zkoušel i bez virtualizaci a NEŠLO MI TO.

S virtualizací mi to jde, tak zase nedělej chytrého, protože jde vidět, že víš kulový.

Nahlásit jako SPAM
IP: 89.176.25.–
Martin
~ Anonymní uživatel
1595 příspěvků
1. 2. 2023   #53
-
0
-

#44 gna
A mimochodem, zadání jsem já nenapsal, zadání jsem jen zkopíroval, které jsme dostali od pana učitele, takže další blbost, co píšeš. Jde vidět, že prostě se na nic nedíváš a nečteš. S takovými lidmi není nikdy řeč, prostě tupý mozek, který nemá logické myšlení.

Nahlásit jako SPAM
IP: 89.176.25.–
Martin
~ Anonymní uživatel
1595 příspěvků
1. 2. 2023   #54
-
0
-

#44 gna
Tak se nad sebou zamysli, čuráku. 

Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
1. 2. 2023   #55
-
0
-

:) děkuji :) :) :) :) :) :) :) :) :)

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:ccf4:c682:37a:a635...–
Martin
~ Anonymní uživatel
1595 příspěvků
1. 2. 2023   #56
-
0
-

#55 JerryM
To nebylo na tebe tamty zprávy, moc si cením tvé pomoci, já jen nevím jak mám udělat tu posloupnost těch čísel, ten podprogram mi nejde napsat.

Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
1. 2. 2023   #57
-
0
-

já tý posloupnosti ale bohužel taky nerozumim :) :) :) :) 

ten program co sem tam dal a jak se volá call print:

        mov     [x], 50
        mov     [y], 13
        mov     [color], 13
        call    print

ti umístí text na libovolnou pozici x,y na obrazovce a na zbytek se budeš muset zeptat pana učitele co konkrétního chce

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:ccf4:c682:37a:a635...–
Martin
~ Anonymní uživatel
1595 příspěvků
1. 2. 2023   #58
-
0
-

#57 JerryM
Dobrý, už jsem to vyřešil a mám hotový celý program.
Ono to má být tak, že ta posloupnost má jít jakoby do čtverečku podél obrazovky proti směru hodinových ručiček

Nahlásit jako SPAM
IP: 89.176.25.–
remmidemmi0
Věrný člen
1. 2. 2023   #59
-
0
-

#13 Martin
assembler je užitečný, programuju v něm stále. Výhoda je ta, že uděláte malý kompaktní kód. Jenže čím složitější procesor, tím více práce. Na VŠ (svého času) jsem v assembleru udělal velkou knihovnu aritmetických funkcí pro 8085 a pro Z80 a k tomu v BASICu pro HP počítače simulátor Z80. Dnes v assembleru programuju Microchip mikropočítače.

Tu "posloupnost" a zadání též nechápu. Netuším, co má student udělat.

Nahlásit jako SPAM
IP: 89.24.42.–
gna
~ Anonymní uživatel
1847 příspěvků
1. 2. 2023   #60
-
0
-

#54 Martin
To je zase pecka. Já jsem jen podpořil Jerryho radu s DOSBoxem a ty na to odpovíš kokotinou s boomearama a dalšíma výblitkama. Chováš se jako debil a není to poprvé a určitě ani naposledy. Takže jsi lempl a ještě zmrd. Jdi se s tím léčit.

Nahlásit jako SPAM
IP: 213.211.51.–
Martin
~ Anonymní uživatel
1595 příspěvků
2. 2. 2023   #61
-
0
-

#60 gna
Ty mluvíš o tom, kdo jak odpovídá a přitom píšeš samý sračky. Jediný, kdo by se měl léčit seš ty, reálně tu děláš jen dusno a sereš. Bylo by celkem i lepší pro lidstvo, kdyby jsi neexistoval. :)

Nahlásit jako SPAM
IP: 89.176.25.–
Martin
~ Anonymní uživatel
1595 příspěvků
2. 2. 2023   #62
-
0
-

#59 remmidemmi
Jo, máš pravdu, neříkám, že není užitečný, jen se mi zdá, že dneska už nemusíš v něm úplně umět programovat, když si to můžeš naprogramovat v jiném (lehčím) programu a pak to jen přeložit.

Nahlásit jako SPAM
IP: 89.176.25.–
JerryM0
Věrný člen
2. 2. 2023   #63
-
0
-

víte o tom že zejtra už je pátek ? :)

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:b4f5:8789:b2b0:1dea...–
2. 2. 2023   #64
-
0
-

#63 JerryM
Na tom nesejde. Nadávat do debilů si můžem i o víkendu :))

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 23 hostů

Podobná vlákna

Assembler 8086 — založil bbeni

Asm 8086: OUT DX,AX — založil Mircosoft

IDE pre 8086 — založil bbeni

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý