OpenLLM-France/wikimedia huggingface dataset:
# X86 Assembly/Intrinsic Data Types

    This section of the x86 Assembly book is a stub. You can help by expanding this section.
Strictly speaking, assembly has no predefined data types like higher-level programming languages. Any general purpose register can hold any sequence of two or four bytes, whether these bytes represent numbers, letters, or other data. In the same way, there are no concrete types assigned to blocks of memory – you can assign to them whatever value you like.
That said, one can group data in assembly into two categories: integer and floating point. While you could load a floating point value into a register and treat it like an integer, the results would be unexpected, so it is best to keep them separate.

## Integers

An integer represents a whole number, either positive or negative (on computers zero is treated positive). Under the 8086 architecture, it originally came in 8-bit and 16-bit sizes, which served the most basic operations. Later, starting with the 80386, the data bus was expanded to support 32-bit operations and thus allow operations on integers of that size. The newest systems under the x86 architecture support 64-bit instructions; however, this requires a 64-bit operating system for optimal effect.
Computers use the two's complement to store negative numbers. The most-significant bit indicates the sign, a set bit indicating a negative sign. In case of positive numbers the remaining bits store the value in the usual manner. If a negative number is stored, the remaining bits store the difference to the maximum value. This allows easy operations utilizing effects occurring during overflows. However, you can treat values as unsigned values. Some assembly instructions behave slightly differently in regards to the sign bit; as such, there is a minor distinction between signed and unsigned integers.

## Floating point numbers

Floating point numbers are a (finite) subset of real numbers. They usually contain digits before and after the decimal point, like 3.14159. Unlike integers where the decimal point is understood to be after all digits, in floating point numbers the decimal sort of floats anywhere in the sequence of digits.
Originally, floating point was not part of the main processor, requiring the use of emulating software. However, there were floating point coprocessors that allowed operations on this data-type, and starting with the 486DX, were integrated directly with the CPU.
As such, floating point operations are not necessarily compatible with all processors – if you need to perform this type of arithmetic, you may want to use a software library as a backup code path.
Modern processors all utilize the IEEE 754 standard, which is extensively explained in the Wikibook Floating Point. It is important to keep in mind that numbers that can not be represented as a sum of a relatively short series of powers of two (including negative powers) are always approximated.
# X86 Assembly/Logic
## Logical instructions

The instructions on this page deal with bit-wise logical instructions. For more information about bit-wise logic, see Digital Circuits/Logic Operations.
All logical instructions presented in this section are executed in the, as the name already suggests, the arithmetic logic unit.

### binary operations

These instructions require two operands.

#### logical and
##### operation

and performs a bit-wise and of the two operands, and stores the result in destination.

##### side effects

See below.

##### application

* An and can be used to calculate the intersection of two “sets”, or a value representing a “mask”. Some programming language require that Boolean values are stored exactly as either 1 or 0. An and rax, 1 will ensure only the LSB is set, or not set.
* If partial register addressing is not available in the desired size, an and can be used for a ${\text{destination}}\!\!\!\!\mod {\text{mask}}$ operation, that is the remainder of integer division. For that, mask has to contain the value $2^{n}-1$ (i. e. all lower bits set until a certain threshold), where $2^{n}$ equals your desired divisor.

#### logical or
##### operation

The or instruction performs a bit-wise or of the two operands, and stores the result in destination.

##### side effects

See below.

##### application

* An or can be used to calculate the union of two “sets”, or a value representing a “mask”.

#### logical xor
##### operation

Performs a bit-wise xor of the two operands, and stores the result in destination.

##### side effects

See below.

##### application

* xor rax, rax (or any GPR twice) will clear all bits. It is a specially recognized word. However, since xor affects flags it might introduce bogus dependencies.

#### common remarks
##### side effects for and, or, and xor

* OF ≔ 0
* CF ≔ 0
* SF becomes the value of the most significant bit of the calculated result
* ZF ≔ result = 0
* PF is set according to the result

### unary operations
#### logical not

not argument

##### operation

Performs a bit-wise inversion of argument.

##### side-effects

None.

##### application

* not is frequently used to get a register with all bits set.
# X86 Assembly/MASM Syntax

This page will explain x86 Programming using MASM syntax, and will also discuss how to use the macro capabilities of MASM. Other assemblers, such as NASM and FASM, use syntax different from MASM, similar only in that they all use Intel syntax.

## Instruction Order

MASM instructions typically have operands reversed from GAS instructions. for instance, instructions are typically written as Instruction Destination, Source.
The mov instruction, written as follows:
will move the value 5 into the al register.

## Instruction Suffixes

MASM does not use instruction suffixes to differentiate between sizes (byte, word, dword, etc).

## Macros

MASM is known as either the "Macro Assembler", or the "Microsoft Assembler", depending on who you talk to. But no matter where your answers are coming from, the fact is that MASM has a powerful macro engine, and a number of built-in macros available immediately.

## MASM directives

MASM has a large number of directives that can control certain settings and behaviors. It has more of them compared to NASM or FASM, for example.
# Writing Adolescent Fiction/Culture difference

This would apply if following cases if you have either a foreign exchance student or family for overseas on vacation or a student or someone move to area form out of area.
# Writing Adolescent Fiction/Depression and suicide

Teenage Depression and suicide
Many teens are not educated about depression which can also lead to suicide. They think when you are depressed you are crazy and you're not , you're actually have a lot in your plate that you feel like just taking a time off from everyone and everything .
When you're depressed you have body pains, you often feel sad and cry a lot, you actually distance yourself from your loved ones, at some point you feel like the situation you're in is not gonna get better and you end up being vulnerable and not paying attention to yourself and you think about ways to end the mixed emotions you are getting.
You may end up wanting to drink to actually cope and you may actually think about committing suicide. Everyone gets suicidal thoughts and its normal. Those thoughts just trigger your mind and make you think you're gonna be at peace . When this happens you should always think about the people who love you .
We as young people we should be the one teaching people about it and the most important thing is to talk . You shouldn't bottle things up because they gonna drain your soul
# Writing Adolescent Fiction/Drugs

Stories written for children have to give a simple "Just Say No to drugs" message, firm and unambiguous. With adolescent fiction, you are free to deal with the topic of drugs in a non-judgmental, more nuanced manner. You can write a story all about cocaine, or a character's marijuana use can be a casual aside in the plot. Maybe you can write about a character's heroin addiction as one of the many complications in his life. You can write about drugs bringing someone up, and then bringing him down, or write about a character's struggle to break free of addiction, or write about someone being raised with a very strict drugs-are-bad message and then learning drugs are not all she was taught, or write about someone being raised by hippies then being surprised when harder drugs make her life miserable, or write about a teen wondering if drugs are all there are to life.
If you are writing a story about a teen addict who seeks treatment, there are plenty of options there, as well. You can write about your character going to a therapeutic boarding school, or a therapeutic wilderness camp, or an AA-type group. Your character could also enter outpatient treatment. If the drug being abused is alcohol, consider disulfiram (a medication that causes one to become violently ill from even a sip of alcohol) as part of the treatment.
# Writing Adolescent Fiction/Plot

For a book to have shape and form, there must be a concise detail given to the circumstances for which the book is written. These circumstances are the forces behind the characters' unpredictable motifs which further divulges the readers' minds to the suspenseful nature of the story. Without a plot which forms the themes discussed in the character form or the author’s expository manner, a book loses shape and form which makes it incoherent and baseless.
# Writing Adolescent Fiction/Dialogue

Young people tend to speak differently from adults, and the particular language used by teenagers changes very quickly especially in the Internet age. YA writers have to strike a balance between writing characters who speak like teenagers while also not overusing or misusing slang. Seek out content created by and for teenagers to get a read on how young people actually speak.
# Writing Adolescent Fiction/LGBTQ

Bullying can be worse when you are LGBTQ. Family and friends may or may not support you.
# XML - Managing Data Exchange/Contributors

* Chapters
* Appendices
* Exercises
* Computer Science Home
* Library and Information Science Home
* Markup Languages
* To do list
* Contributors list
* Contributing to Wikibooks
| Previous Chapter | Next Chapter |
| ← Glossary | Author guidelines → |
The following people have recorded their contribution to the development of this book.

## Active Contributors

The following Wikibookians are actively editing this Wikibook, as of January 28, 2007. All participants in the project are welcome to add their name, email address, contribution, and affiliation to the following list. Please keep the list in alphabetical order, based on last name.
* Robert Foley (user page) (email)

## Previous Contributors

The following Wikibookians have contributed to this Wikibook before January 2007. These include students from the University of Georgia who began writing this book for a course in Advanced Data Management, as part of a Master's degree in Internet Technology.
| Name | Role | Affiliation |
| Frantz Johan Agerbo | Author: CSS Editor: RSS | UGA Exchange student from Agder University College, Norway |
| Jan Helge Austboe | Author: RSS Editor: CSS | UGA Exchange student from Agder University College, Norway |
| Sabrina Ebright | Author: XSL Stylesheets Editor: Schemas | UGA Masters of Internet Technology student |
| Ricardo A Fernandez | Author: VoiceXML Editor: SVG | UGA Masters of Internet Technology student |
| Hendrik Fischer (email) | Author: Parsing XML Files Editor: DocBook | Artificial Intelligence Center, University of Georgia |
| Charles W. Franks (email) | Author: OpenOffice.org & OpenDocument Format | UGA Masters of Internet Technology student |
| Joshua Griffis | Author: The one-to-one relationship | UGA Masters of Internet Technology student |
| Rusen Gul (email) | Author: DocBook Editor: VoiceXML | MBA 2004, University of Georgia |
| Michael Lodick (email) | Author: Web Services Editor: XUL | UGA Masters of Internet Technology student |
| Shirley Loh | Author: One-to-Many Editor: Single Entity | UGA Masters of Internet Technology student |
| Sascha Meissner (email) | Author: RDF | UGA study abroad student Martin-Luther-University Halle, Germany |
| M. Chris Neglia (email) | Author: SyncML and SMIL Editor: Web Services | UGA Masters of Internet Technology student |
| Benjamin Oakes (user page) | Editor: CSS | University of Iowa Computer Science student |
| Danny Popov | Author: Chapter 6 Editor: Chapter 4 | UGA Masters of Internet Technology student |
| Farnaz Rabbani | Author: Single Entity Editor: Parsing XML Files | UGA Masters of Internet Technology student |
| Devin Ramo | Author: Contributions to Chapters 2-6 Editor: Overall site, Chapters 1 - 15 | UGA Management Information Systems student |
| Anne Rayborn Howard | Author: XHTML Editor: XPATH | UGA Master of Internet Technology student |
| Stephen Pavlik (email) | Author: XUL is COOL Editor: XHTML | UGA Masters of Internet Technology student |
| Rick Watson (email) (website) | Author: Chapter 1 Editor | University of Georgia |
| Madeleine Wyatt | Author: SVG | UGA Masters of Internet Technology student |
# XML - Managing Data Exchange/Exchanger XML Lite

* Chapters
* Appendices
* Exercises
* Computer Science Home
* Library and Information Science Home
* Markup Languages
* To do list
* Contributors list
* Contributing to Wikibooks
| Previous Chapter | Next Chapter |
| ← XQuery | XML and JDBC → |

## Exchanger XML Lite

Cladonia offers an xml editor at http://www.exchangerxml.com/ for free noncommercial use, and can be downloaded without registration.
This is a Java-based product that runs on all platforms including Windows, Linux, Mac OSX and UNIX.
(NOTE: If you need an XML editor for commercial use, you can get a free 30-day trial of Exchanger XML Professional at http://www.exchangerxml.com)

## Single Entity in Exchanger XML Lite

The following directions will lead you step-by-step through doing the same project that is found in the XML - Managing Data Exchange/A single entity chapter.

## Part One: Creating the Project Folder

1) Open Exchanger XML Lite
2) Click on:
3) Type "TourGuide" over the "New Project" title to change the name of the new project to TourGuide.

## Part Two: Creating the Schema File

1) Click on:
2)Exchanger automatically puts the beginning and ending tags in the file for you, however, for our example, delete those automatic tags, and copy and paste the following code into the file:
3) Click on the GREEN CHECK to Validate, and the BROWN CHECK to check for Well-Formedness. These can be found on the toolbar:
(NOTE: Be sure to eliminate any "white space" before the text that you paste, or you may have an error when validating.)
4)Click on:
5)Right Click on:

## Part Three: Creating the Style Sheet

1)Click on:
2)Delete any automatic tags that appear, and cut and paste the following code into the file:
3) Click on the GREEN CHECK to Validate, and the BROWN CHECK to check for Well-Formedness. (NOTE: Be sure to eliminate any "white space" before the text that you paste, or you may have an error when validating.)
4)Click on:
5)Right Click on:
thumhttp://xpressvds.blogspot.com/bnail

## Part Four: Creating the XML File

1) Click on:
2) Delete any automatic tags that appear and copy and paste the following code:
3) Click on the GREEN CHECK to Validate, and the BROWN CHECK to check for Well-Formedness. (NOTE: Be sure to eliminate any "white space" before the text that you paste, or you may have an error when validating.)
4)Click on:
5) Right click on:

## Part Five: Executing your code

1) Open the city.xml file.
2) Click on:
3)Click on:
# XML - Managing Data Exchange/Database and XML/Exercises

Using MySQL 5.1, create a “Movies” table, execute a query that would retrieve a specific movie title and another that would update a movie length.
For Windows user, refer to the quick installation link; other Operating System user can use the available manual instructions
# XML - Managing Data Exchange/DTD

* Chapters
* Appendices
* Exercises
* Computer Science Home
* Library and Information Science Home
* Markup Languages
* To do list
* Contributors list
* Contributing to Wikibooks
| Previous Chapter | Next Chapter |
| ← Data schemas | XHTML → |
A Document Type Definition is a file that links to an XML page. It controls what must or can be displayed, what attributes and their values must/can have and how the XML file should look like. XHTML, HTML and other markup languages use DTDs to validate their documents. Note: Web browsers accept bad markup in HTML.

## Uses OF DTDs

DTDs are used to store large amounts of data in a custom markup language that can be used for a specific program or organization. Like schemas they can have elements, attributes and entities. The only difference is how it is displayed.

## Prologue

Like in a schema, a DTD has a prolog. It is one line of text.
The question mark is to tell the computer you are giving him an instruction. The word xml tells him that you are using XML, the version attribute tells what version of XML you are using and the encoding attribute tells him how to encode the data (you would use a different encoding if you wanted to use chinese text).

## <!ELEMENT> tag

The element tag is used to display an element of the page, depending on how you declare it. It can go only on a specific part of the page or anywhere on the page.
The first element you declare is the root element (in HTML it's html). Let's pretend that there was an organization that wanted a bunch of XML files containing info about each person. They probably would have a root element of the file named "person". The standard for declaring an element with children elements is
So the orginization root element tag declaration would be
Note: A child element must be declared in a separate element tag to be valid.
Note: The comma is used where you identify the child element is an occurrence indicator (something that tells the computer how it should occur). There are other occurrence indicators. We will cover them later in this chapter.
Note: The parentheses define what content type is found in the bracket. Different content types are found later in this chapter.
Some elements you don't want to be linked to specific tags (like a formatting tag you want to use to highlight important info), you do the same thing except you don't use it as a child element for any element depending on your needs, you may use the ANY content type, which allows you to use character data or other tags in your tag, the EMPTY content type, which looks like "<exampleXmlTag />" or #PCDATA for text.
Note:In an element declaration you can combine parentheses with #PCDATA. It looks like this <!ELEMENT elementName ( #PCDATA| childName). The pipe bar means that you can use text or other tags.
# Work and Life in the Mobile Society/Work

    What is a mobile worker?
    What kind of work is being done by mobile workers?
    What is driving mobile work?
    The demographics of mobility: are there generation and gender gaps?
    What are the global trends in mobility and mobile work?
# Work and Life in the Mobile Society/Technology

    What are the standards for mobile technology?
    What is the effect of the Blackberry on mobile email?
    What is the future of mobile messaging?
    What options do smartphones open up?
    How has the growth of wireless Internet access influenced mobile society?
    How is GPS leaving its mark on mobile society?
    How does cloud computing enable greater mobility?
# X86 Assembly/x86 Chipset
## Chipset

The original IBM computer was based around the 8088 microprocessor, although the 8088 alone was not enough to handle all the complex tasks required by the system. A number of other chips were developed to support the microprocessor unit (MPU), and many of these other chips survive, in one way or another, to this day. The chapters in this section will talk about some of the additional chips in the standard x86 chipset, including the DMA chip, the interrupt controller, and the Timer.
This section currently only contains pages about the programmable peripheral chips, although eventually it could also contain pages about the non-programmable components of the x86 architecture, such as the RAM, the Northbridge, etc.
Many of the components discussed in these chapters have been integrated onto larger die through the years. The DMA and PIC controllers, for instance, are both usually integrated into the Southbridge ASIC. If the PCI Express standard becomes widespread, many of these same functions could be integrated into the PCI Express controller, instead of into the traditional Northbridge/Southbridge chips.
The chips covered in this section are:
* Direct Memory Access
* Programmable Interrupt Controller
* Programmable Interrupt Timer
* Programmable Parallel Interface
# X86 Disassembly/Branch Examples
## Example: Number of Parameters

What parameters does this function take? What calling convention does it use? What kind of value does it return? Write the entire C prototype of this function. Assume all values are unsigned values.
This function accesses parameters on the stack at [ebp + 8] and [ebp + 12]. Both of these values are loaded into ecx, and we can therefore assume they are 4-byte values. This function doesn't clean its own stack, and the values aren't passed in registers, so we know the function is CDECL. The return value in eax is a 4-byte value, and we are told to assume that all the values are unsigned. Putting all this together, we can construct the function prototype:

## Example: Identify Branch Structures

How many separate branch structures are in this function? What types are they? Can you give more descriptive names to _Label_1, _Label_2, and _Label_3, based on the structures of these branches?
How many separate branch structures are there in this function? Stripping away the entry and exit sequences, here is the code we have left:
Looking through, we see 2 cmp statements. The first cmp statement compares ecx to zero. If ecx is not zero, we go to _Label_1, decrement eax, and then fall through to _Label_2. If ecx is zero, we increment eax, and go to directly to _Label_2. Writing out some pseudocode, we have the following result for the first section:
Since _Label_2 occurs at the end of this structure, we can rename it to something more descriptive, like "End_of_Branch_1", or "Branch_1_End". The first comparison tests ecx against 0, and then jumps on not-equal. We can reverse the conditional, and say that _Label_1 is an else block:
So we can rename _Label_1 to something else descriptive, such as "Else_1". The rest of the code block, after Branch_1_End (_Label_2) is as follows:
We can see immediately that _Label_3 is the end of this branch structure, so we can immediately call it "Branch_2_End", or something else. Here, we are again comparing ecx to 0, and if it is not equal, we jump to the end of the block. If it is equal to zero, however, we increment eax, and then fall out the bottom of the branch. We can see that there is no else block in this branch structure, so we don't need to invert the condition. We can write an if statement directly:

## Example: Convert To C

Write the equivalent C code for this function. Assume all parameters and return values are unsigned values.
Starting with the C function prototype from answer 1, and the conditional blocks in answer 2, we can put together a pseudo-code function, without variable declarations, or a return value:
Now, we just need to create a variable to store the value from eax, which we will call "a", and we will declare as a register type:
Granted, this function isn't a particularly useful function, but at least we know what it does.