Anonymní profil Matěj Andrle – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Matěj Andrle – Programujte.comAnonymní profil Matěj Andrle – Programujte.com

 

Příspěvky odeslané z IP adresy 78.136.166.–

Matěj Andrle
Assembler › Hexadecimální editace
28. 5. 2013   #176882

Ale jak může být závisí na instrukci? To bych tam musel použít JSA a to není standardní případ...

Matěj Andrle
Assembler › Hexadecimální editace
28. 5. 2013   #176880

Parser ne - kompilátor - už nějak blbnu... :)

Matěj Andrle
Assembler › Hexadecimální editace
28. 5. 2013   #176879

Tak vyšší jazyk závislý být nemůže - závislý je jen v místě převodu do MachineCode... (Parser, virtuální stroj,...)

Matěj Andrle
Assembler › Hexadecimální editace
28. 5. 2013   #176851

"protoze by pak jednou zkompilovana binarka na novejsim procesoru nemohla fungovat"

Není náhodou právě proto stroják potažmo JSA nepřenositelný? :)

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176812

Mě se hlavně nechce psát konkrétní instrukce - nedají se nějak získat dynamicky? (Aby byly vždy aktuální.)

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176810

#23 Tom


Konečně. :) Prostě strojáku moc nerozumím - JSA je můj domov... Chci se poučit od existujících vyšších jazyků. (Jak řeší problematiku vyšších funkcí, jak propojují instrukce atd.)

Nerad do Unixu (momentálně dočasně OpenUnix8 - čekám na UnixWare) cpu Windows... Také moc nemusím X... (90% CLI.) Každopádně si to již píši sám... :) (V D2.)

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176809

S těmi instrukcemi to tak je - každý assembler má pár vlastích jako třeba NASM. (Tedy příkazy, nebo jak to formulovat...)

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176807

Proč tu asi vytahuji HEX editory - chci to co dělá HEX editor jen místo strojového kódu JSA... Prostě změnit hotový program jako v HEX editoru - ovšem s čitelným kódem - s instrukcemi JSA...

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176805

Assembly jazyk:

mov cx, 20 # 20 otáček

ddd:

int 10h # typické přerušení

loop ddd

Assembler je program...

A strojový kód:

000010

00000

00000

00000

10000

000000

Nevím kdo znás spojuje jazyk s překladačem... Neovládám dobře a ani nechci dobře ovládat strojový kód. Umím v JSA a rozhodně se v něm lépe pracuje. Chtěl bych jen změnit soubor na strojové úrovni s použitím JSA... (Aby editor přeložil soubor do JSA a po mé editace uložil zpět do strojového kódu...)

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176803

Jak jsem psal - i kdybych si tipnul, který překladač to je. A i kdybych zkousnul nečitelnost některých instrukcí, které jsou specifické pro daný překladač, nebude to editor... (Nechci jen přeložt, ale i měnit v JSA - přitom stále na úrovni strojového kódu.) Skutečně si nepletu JSA a MachineCode...

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176793

Retn mi tedy nefunguje... (NASM)

Jak jsem psal - chtěl bych JSA editor souborů... (Místo strojového kódu JSA.)

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176790
Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176789

#11 Tom

Ale to je ten vtip - retn snad ani nikde jinde není. Minimálně já mám jen ret...

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176788

Assembly != Assembler - jazyk != překladač...

Jak píši - neznám použitý Assembler - proto se ptám na ten editor. Další věc - editor - ne jen výpis přeloženého kódu...

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176784

   

Já bych prostě raději místo ASCII bloku vpravo JSA přepis...

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176776

Mám na mysli samotné instrukce - některé se dají dát dokupy, ale mnohé jsou zanesené, nebo vůbec neexistují...

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176773

Já vím - píši to... Ptám se, zda by nebyl takovýto editor co by to ještě překládal do JSA... Navíc jak jsem psal - jako strojový kód to vůbec nevypadá - jelikož ten ani spoustu z těch znaků neobsahuje...

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176770

Však JSA bych právě chtěl - neumím moc ve strojovém kódu - ale JSA... :) Assembler právě, že neznám. Vždyť HEX editory mají ukazovat stroják - ne? No a převést strojový kód do JSA přeci není tak složité... Assemblery jen přidávají pár vlastních věciček pro ulehčení práce. O co mi GO? Studuji který vyšší jazyk je nejmenší prase, jak staví kompiler atd...

Matěj Andrle
Assembler › Hexadecimální editace
27. 5. 2013   #176725

Dobrý den,

vůbec nechápu ty editory - jelikož to ani omylem nepřipomíná strojový kód. Sem tam narazím na čitelný kód - tedy nejen stringy atp., ale i vyloženě adresy - ovšem proložené spoustou nesmyslů. (Po dlouhém študování té změti v tom spatřím třeba cmp, jmp atp.) Tudíž jak se s tím dá vůbec pracovat? Tedy abych mohl číst a psát normální adresy...  Navíc bych raději psal v JSA (jazyk symbolických adres), než přímo ve strojovém. Bylo by něco takového pro Unix systémy? (JSA HexEditor)

Děkuji.

Matěj Andrle
C / C++ › Přepis XWindowManageru do D
24. 5. 2013   #176601

Dobrý den,

co jiného může být lepším základem pro vlastní XWindowManager, než TinyWM... :) (50 řádků kódu...) V C to jede:

https://github.com/…ter/tinywm.c

Ale přepis do D:

 

import std.c.linux.X11.Xlib;
import std.c.linux.X11.X;

// gdc ./main.d /usr/include/d2/4.6/std/c/linux/X11/Xlib.d -o refuja -lX11

int main()
{
	Display *display0 = XOpenDisplay(cast(char*)0);
	XWindowAttributes winAttributes;
	XButtonEvent start;
	XEvent xEvent;

	if(!display0)
		return 1;

	XGrabKey(display0, XKeysymToKeycode(display0, XStringToKeysym(cast(char*)"F1")), KeyMask.Mod1Mask, DefaultRootWindow(display0),  cast(Bool)true, GrabMode.GrabModeAsync, GrabMode.GrabModeAsync);
	
	XGrabButton(display0, 1, KeyMask.Mod1Mask, DefaultRootWindow(display0),  cast(Bool)true, EventMask.ButtonPressMask | EventMask.ButtonReleaseMask | EventMask.PointerMotionMask, GrabMode.GrabModeAsync, GrabMode.GrabModeAsync, None, None);
	
	XGrabButton(display0, 3, KeyMask.Mod1Mask, DefaultRootWindow(display0), cast(Bool)true, EventMask.ButtonPressMask | EventMask.ButtonReleaseMask | EventMask.PointerMotionMask, GrabMode.GrabModeAsync, GrabMode.GrabModeAsync, None, None);

	start.subwindow = None;
	
	while(true)
	{
		XNextEvent(display0, &xEvent);
		
		if(xEvent.type == EventType.KeyPress && xEvent.xkey.subwindow != None)
			XRaiseWindow(display0, xEvent.xkey.subwindow);
		else if(xEvent.type == EventType.ButtonPress && xEvent.xbutton.subwindow != None)
		{
			XGetWindowAttributes(display0, xEvent.xbutton.subwindow, &winAttributes);
			start = xEvent.xbutton;
		}
		else if(xEvent.type == EventType.MotionNotify && start.subwindow != None)
		{
			int xdiff = xEvent.xbutton.x_root - start.x_root,
			ydiff = xEvent.xbutton.y_root - start.y_root;
			
			XMoveResizeWindow(display0, start.subwindow,
				winAttributes.x + (start.button==1 ? xdiff : 0),
				winAttributes.y + (start.button==1 ? ydiff : 0),
				Max(1, winAttributes.width + (start.button == 3 ? xdiff : 0)),
				Max(1, winAttributes.height + (start.button == 3 ? ydiff : 0)));
		}
		else if(xEvent.type == EventType.ButtonRelease)
			start.subwindow = None;
	}
}

int Max(int a, int b)
{
	return (a > b ? a : b);
}

Jen problikne a konec. Smím vědět proč? :)

Děkuji.

 

 

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