Evenbit 52 Junior Poster

http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/www.artofasm.com/Windows/HTML/AoATOC.html

Scroll down that page to the "Volumn 2" section. Gives lots of information about the architecture side.

Also, research Compilers, Linkers, and Loaders -- lots of learning involved in that. These should be a good start:
http://www.diku.dk/hjemmesider/ansatte/torbenm/Basics/
http://en.wikipedia.org/wiki/Compiler

And this should give you a start on conceptualizing what an Interpreter does:
http://en.wikipedia.org/wiki/Shunting-yard_algorithm

You may also want to look-up "small C", "miniBasic", and Forth.

Happy Learning!!

Evenbit 52 Junior Poster

Your test page must also have 'session_start()' at the top before any output. For compatibility with old versions of IE, you'll also want to add the P3P header.

index.php

<?php header('P3P CP="CAO PSA OUR"');
session_start();
$_SESSION['gallery'] = 42;
?>
<!DOCTYPE html>
<html>
<h1>Setting cookie!</h1>
<a href="/test.php">test</a><br>
<html>

test.php

<?php header('P3P CP="CAO PSA OUR"');
session_start();
$value = $_SESSION['gallery'];
?>
<!DOCTYPE html>
<html>
<h1>Getting cookie!</h1>
<? echo($value); ?>
<br>
<html>
Evenbit 52 Junior Poster

You can test your connection here: http://ipv6test.google.com/

Apparently, Wednesday, June 8th is "World IPv6 Day" when major websites and CDNs will be sending their content over IPv6. For instance, if you cannot connect to Google on that day, you will need to surf to http://ipv4.google.com to do your searches.

My best guess is that most people will not experience any problems. Almost any computer / router purchased within the last 5 years should either be compatible / or easily upgradable. Most Internet Service Providers (ISPs) *should* already be compatible. In fact, you can obtain detailed information about your internet connection here: http://netalyzr.icsi.berkeley.edu/

Please let me know your thoughts on this. Is the current Internet infrastructure ready for the switch??

skilly commented: neat +0
Evenbit 52 Junior Poster

I happen to have a good memory for odd things, so, in the interest of holiday fun, allow me to add another log onto this conspiracy fire. Clever use of the Wayback Machine netted me this pseudo-confession: "I also enjoy studying interpersonal relations among online personalities, which is probably why I like to chat and spend so much time on forums. I experiment with various perspectives and try new things when interacting with others. As such, for each forum I visit, I tend to have a wildly different personality, which seems strange at first."

Happy sleuthing! :)

tux4life commented: Heavy stuff :P +0
sknake commented: zomg +0
Evenbit 52 Junior Poster

Now, I didn't argue about posting the link - I shouldn't have done that without first checking to see what the rules were. The discussion about modifying Windows was a side thought, and I think a legitimate topic of discussion. Can you legally hex edit your own copy?

As to where Daniweb is located, a little 'net searching can shed light on that. For instance, I found this Frugal Friday interview which is very interesting to listen to:
http://www.blogtalkradio.com/frugaltechshow/2009/01/16/Frugal-Friday-with-guest-Dani-Horowitz-from-DaniWebcom

Can you legally hex edit your own copy?

I'm sure that there exist attorneys who will point to recent reverse-engineering legislation as proof that it is illegal to do something like that in the country that *I* reside in. Same goes for most of the Daniweb participating audience. This is why such subjects are not considered "a legitimate topic of discussion" on most technical forums -- it is a safety precaution to protect all participants... including you.

Nathan.

Evenbit 52 Junior Poster

Just a quick note about this "unaurthaurised distribution" of a protected product: Microsoft has provided an authorized download (including a valid install key) of its OSs in certain instances.

For instance, for enterprise clients who purchase licenses in bulk, they provided a CD ISO of Windows XP at their website so that clients would not have to wait for the product to be shipped to them. The legal purchase of the license was handled separately from the actual attainment of the product.

Another example involves early versions of the Acer AspireOne netbook which were factory loaded with Linux. Enough users expressed an interest in running Windows that Acer negotiated with Microsoft to provide an official release of WinXP SP3 that has been tailored and tested to run on AspireOne machines. The only way to obtain a copy is via the link on the Acer blog post about the subject.

Just my 2-cents worth as a quick FYI. Back to your fun Windows vs. Linux discussion. Pretend I wasn't here... carry on...

Nathan.

Evenbit 52 Junior Poster

Here is a wonderful resource to help you understand the proper use of FPU instructions:

http://webster.cs.ucr.edu/AoA/Windows/HTML/RealArithmetic.html#998833

Evenbit 52 Junior Poster

You can find tutorials and examples here:

The Operating System Resource Center
http://www.nondot.org/sabre/os/articles

OS FAQ Wiki
http://www.osdev.org/osfaq2/

Nathan.

Salem commented: Nice links. +11
Evenbit 52 Junior Poster

i have installed nasm in ubuntu in linux but dont know how to and where to write code of assembly language and run my code please give me information as soon as possible.

Using the menu at the top of the screen, go to Applications > Accessories and select "Text Editor" -- when it appears, type this there:

global _start

section .data
	hello	db	"Hello, World!", 10
	length	equ	$-hello

section .text

_start:
	mov eax, 4		; write to file
	mov ebx, 1		; STDOUT handle
	mov ecx, hello	; our message
	mov edx, length	; size of message
	int 80h			; execute the syscall

	xor ebx, ebx		; send 0 as 'exit code'
	mov eax, 1		; terminate process
	int 80h			; execute the syscall

Save that as "helloworld.asm" into your home directory (the one with *your* name on it).

Then, go back to Applications > Accessories and select "Terminal" and type the following:

nasm -f elf helloworld.asm
ld -o helloworld helloworld.o
./helloworld

You can always type "man nasm" for more help.

Evenbit 52 Junior Poster

Adding this link to a blog which starts an interesting tutorial using NASM on a Linux platform.

http://jojodi.com/?p=107

Nathan.

Jicky commented: thanks +1
Evenbit 52 Junior Poster

Every version of MS-Windows is shipped with a free assembly language debugger. It's located in the c:\windows directory (or wherever you installed the operating system), and named debug.exe

This is a brief tutorial how to use it.

I'm adding this two to the list of DEBUG tutorials:

http://www.armory.com/~rstevew/Public/Tutor/Debug/debug-manual.html

http://www.geocities.com/thestarman3/asm/debug/debug2.htm

Nathan.

Evenbit 52 Junior Poster

I appreciate everyone's effort in making this list. Here are a few more:

Ralf Brown's Interrupt List (HTML version)
Jeremy Gordon's Go Tools
OllyDbg A great Windows debugger by Oleh Yuschuk.
Pelle's Macro Assembler (forum for news and latest version links)

Evenbit 52 Junior Poster

It is about time we start building a Sticky in this forum listing some resources so the newbies will have an easier time finding the information they need. I will start with these valuable links:

x86 Assembly Language FAQs
Wikipedia: Assembly Language
Wikipedia: List of assemblers
Links at Webster
MASM related info and links
Linux assembly links

Ancient Dragon commented: great post and links +10
~s.o.s~ commented: Nice one. +20
Evenbit 52 Junior Poster

{it says "Solved" but I will reply anyway}

The "masm32" package http://www.masm32.com/ is a collection of library files, examples, etc, plus "ml.exe" and related tools. The installer written for this package has trouble with network drives -- so make sure you are at the keyboard + monitor + box of the server which contains the HD you wish to install this package on. Some people question the legality of "ml.exe" (and other Microsoft tools) distributed with this package, so the PlatformSDK here link is provided. This is also a good source for various other tools and resources.

Version information:
http://www.masm32.com/mlcompat.htm

Other tools:
http://website.masm32.com/

Forum for questions:
http://www.masm32.com/board/index.php

The VERY LATEST VERSION of MASM from Microsoft is LEGALLY available via the GeneSys Project:
http://x86assembly.codegurus.org/
http://www.masm32.com/board/index.php?topic=5248.0

Ancient Dragon commented: great post and links +10
Evenbit 52 Junior Poster

This exercise is designed to get you familiar with the Ubuntu command-line editing features. It also introduces you to the concept of command-line history.

Follow these steps

  1. Type the words "We all love Ubuntu" (without the quotation marks) but do not press Enter.
  2. Press the left arrow key to move the cursor to the letter "a" in the word "all".
  3. Press Alt+D to delete the word "all".
  4. Re-type the word "all" at the present cursor position.
  5. Press Ctrl+A to move the cursor to the beginning of the command line.
  6. Press the right arrow key to move the cursor to the letter "l" in "love".
  7. Press Ctrl+K to delete the line from the current cursor position.
  8. Press Ctrl+A and then press Ctrl+K to delete the entire line.
  9. Type "echo $SHELL" and press Enter.
  10. Type "date" and press Enter.
  11. Type "cal" and press Enter.
  12. Press the up arrow three times. You should see "echo $SHELL" on the current command line. Press the down arrow once. The current line will show "date". Now press Enter.
  13. Type "clear" and press Enter.