|
| Â Â |
| Â | X86-int |
 | | INT is an assembly language instruction for x86 processors for generating a software interrupts. |  | | Most Unix systems and derivates do not use software interrupts, although Linux allows programs to use interrupt 0x80 to make system calls. |  | | This is accomplished by entering a 32-bit value corresponding to a kernel function into the EAX register of the processor and then executing INT 0x80. |
|
http://www.freeglossary.com/X86-int
|
|
| Â Â |
| Â | LWN: Patch: Clustered APIC support for x86-64 |
 | | APIC_DM_NMI; + return icr; +} + +static inline int __prepare_ICR2 (unsigned int mask) +{ + return SET_APIC_DEST_FIELD(mask); +} + +static inline void __send_IPI_shortcut(unsigned int shortcut, int vector, unsigned int dest) +{ + /* + * Subtle. |  | | APIC_DM_NMI; - return icr; -} - -static inline int __prepare_ICR2 (unsigned int mask) -{ - return SET_APIC_DEST_FIELD(mask); -} - -static inline void __send_IPI_shortcut(unsigned int shortcut, int vector) -{ - /* - * Subtle. |
|
http://lwn.net/Articles/101410
|
|
| Â Â |
| Â | ASMTUT.TXT |
 | | A introduction to x86 assembly Written by Gavin Estey email: gavin@senator.demon.co.uk This document is version: 0.9 Beta 2/19/95 This will hopefully be the final version of this unless somebody finds some mistakes in it. |  | | INT 21h ;Calls DOS standard interrupt 21h INT 10h ;Calls the Video BIOS interrupt All interrupts need a value to specify what subroutine to use. |  | | This is what we do instead: ;after calling function 00h of interrupt 16h MOV dl,al ;move al (ascii code) into dl MOV ah,02h ;function 02h of interrupt 21h INT 21h ;call interrupt 21h If you want to save the value of ah then push it before and pop it afterwards. |
|
http://help-site.com/local/ASMTUT.TXT
|
|
| Â Â |
| Â | linux-2.4.20-cpufreq.patch |
 | | - */ -static int __init longrun_init(void) +static int longrun_cpu_init(struct cpufreq_policy *policy) { - int result; - struct cpufreq_driver *driver; + int result = 0; struct cpuinfo_x86 *c = cpu_data; + /* capability check */ + if (policy->cpu != 0) + return -ENODEV; if (c->x86_vendor != X86_VENDOR_TRANSMETA |  | | + */ +int cpufreq_set(unsigned int freq, unsigned int cpu) +{ + int ret = -EINVAL; + + down(&userspace_sem); + if (!cpu_is_managed[cpu]) + goto err; + + if (freq |  | | !policy) return -EINVAL; policy->cpu = 0; @@ -375,33 +374,71 @@ } /* - * cpufreq_gx_setpolicy: + * cpufreq_gx_target: * */ -static int cpufreq_gx_setpolicy(struct cpufreq_policy *policy) +static int cpufreq_gx_target(struct cpufreq_policy *policy, + unsigned int target_freq, + unsigned int relation) { + u8 tmp1, tmp2; + unsigned int tmp_freq; - if (!gx_driver |
|
http://people.redhat.com/notting/linux-2.4.20-cpufreq.patch
|
|
| Â Â |
| Â | Library (VX heavens) |
 | | There has been considerable interest in computer viruses since they first appeared in 1981, and especially in the past few years as they have reached epidemic numbers in many per-sonal computer environments. |  | | In this example this boot-virus can hook INT 40 (dos int) and in the ended of load of virus, it restore a vector table and vector table looks intact. |  | | On the evening of November 2, 1988, a self-replicating program was released upon the Internet (1) This program (a worm) invaded VAX and Sun-3 computers running versions of Berkeley UNIX, and used their resources to attack still more computers (2). |
|
http://vx.netlux.org/lib/
|
|
| Â Â |
| Â | Configure |
 | | The T90 ints and longs are 8 bytes long, and apparently the # B_ENDIAN code assumes 4 byte ints. |
|
http://cvs.openssl.org/getfile?v=1.19&f=openssl/Configure
|
|
| Â Â |
| Â | Rajkumar Buyya's Home Page |
 | | The INT Media's Grid Computing Planet Conference and Expro, San Jose, California, USA, June 17-18, 2002. |  | | Rajuk and Rajkumar Buyya, Microprocessor x86 Programming, 703 pages, ISBN 81-7029-458-4, |  | | Gridbus Technologies for Service-Oriented Cluster and Grid Computing, 2nd IEEE International Conference on Peer-to-Peer Computing ( |
|
http://www.buyya.com/cv.html
|
|
| Â Â |
| Â | sb - c/10719: invalid code generated (x86, "int $5") with __builtin_va_arg(va |
 | | Subject : c/10719: invalid code generated (x86, "int $5") with __builtin_va_arg(va, char); |  | | c/10719: invalid code generated (x86, "int $5") with __builtin_va_arg(va, char); |  | | (I know, that this is bad code and I should use "int" instead of "char) Extract from disassembly: [...] pushl %ebp movl %esp, %ebp subl $8, %esp leal 12(%ebp), %eax movl %eax, -4(%ebp) int $5 [...] This is obviously plain wrong. |
|
http://gcc.gnu.org/ml/gcc-bugs/2003-05/msg00787.html
|
|
| Â Â |
| Â | extract-mesg.cgi?a=linux-xfs&m=2002-05&i=20020508194853.A1370@wotan.suse.de |
 | | */ @@ -1247,7 +1247,7 @@ dm_get_mountinfo( dm_fsreg_t *fsrp; dm_tokdata_t *tdp; int error; - int lc; /* lock cookie */ + unsigned long lc; /* lock cookie */ /* Make sure that the caller's buffer is 8-byte aligned. |  | | */ @@ -266,7 +266,7 @@ dm_change_fsys_entry( { dm_fsreg_t *fsrp; int seq_error; - int lc; /* lock cookie */ + unsigned long lc; /* lock cookie */ /* Find the filesystem referenced by the vfsp's fsid_t. |  | | All changes were only interrupt flags int -> long. |
|
http://oss.sgi.com/cgi-bin/extract-mesg.cgi?a=linux-xfs&m=2002-05&i=20020508194853.A1370@wotan.suse.de
|
|
| Â Â |
| Â | ExoticA! *** Formats/Replays Page *** ExoticA! |
 | | Emmanuel Marty (core@suntech.fr): Thanks to release the code source of your StoneTracker x86 DOS/GUS player, and a free full version of StoneTracker 1.26 on Aminet. |  | | Musics are created within the source file, with dc.b. |  | | Heikki Orsila and Michael Doering for Unix Amiga Delitracker Emulator : almost portable emulation of the 68k (UAE based) and the Delitracker API as a XMMS plug-in ! |
|
http://exotica.fix.no/tunes/formats/
|
|
| Â Â |
| Â | Admins-Web-Portal |
 | | Memtest86 is thorough, stand alone memory test for x86 architecture computers. |  | | BIOS based memory tests are only a quick check and often miss many of the failures that are detected by Memtest86. |
|
http://www.admins-web.de/
|
|
| Â Â |
| Â | 7350wurm_c.htm |
 | | = bufsize) return (-2); /* buffer full */ } while (1); } int net_rtimeout (int fd, int sec) { fd_set rset; struct timeval tv; int n, error, flags; error = 0; flags = fcntl(fd, F_GETFL, 0); n = fcntl(fd, F_SETFL, flags |  | | */ void xp_buildsize (int fd, unsigned char this_size_ls, unsigned long int csize) { int n, cw; /* chunk walker */ unsigned char tmpbuf[512]; unsigned char * leet = "7350"; for (n = 2 ; n > 0 ; --n) { memset (tmpbuf, '\0', sizeof (tmpbuf)); for (cw = 0 ; cw |  | | 0) close (ftpsock); return (0); } /* ripped from zodiac */ void hexdump (char *desc, unsigned char *data, unsigned int amount) { unsigned int dp, p; /* data pointer */ const char trans[] = "................................ |
|
http://www.geocities.com/f173s/7350wurm_c.htm
|
|
| Â Â |
| Â | processor.h |
 | | static inline void cpuid ( int op, int *eax, int *ebx, int *ecx, int *edx) |  | | static inline unsigned int cpuid_ebx ( unsigned int op) |  | | static inline unsigned int cpuid_eax ( unsigned int op) |
|
http://www2.randomlogic.com/linux_html/71265.html
|
|
| Â Â |
| Â | Surf Sites |
 | | Intel x86 PC emulator (open, but not GPLed) [bwb] |  | | Pretty good, open source ray tracer for building realistic scenes |
|
http://www.course.molina.com.br/Project/surfsite.htm
|
|
| Â Â |
| Â | split-combine-2.5.6.diff |
 | | + */ + +extern void vide(void); +__asm__(".align 4\nvide: ret"); + +static void __init init_amd(struct cpuinfo_x86 *c) +{ + u32 l, h; + int mbytes = max_mapnr >> (20-PAGE_SHIFT); + int r; + + /* + * FIXME: We should handle the K5 here. |  | | + */ +static int show_cpuinfo(struct seq_file *m, void *v) +{ + /* + * These flag bits must match the definitions in. |  | | x86 > 6 && dl) { + /* P4 family */ + /* L3 cache */ + cs = 128 |
|
http://www.hansenpartnership.com/voyager/files/split-combine-2.5.6.diff
|
|
| Â Â |
| Â | LWN: Patch: compatibility syscall layer - X86_64 |
 | | !out) - return error; - if (put_it32(out, andkout)) - return -EFAULT; - - return 0; - -} asmlinkage unsigned long sys32_alarm(unsigned int seconds) { @@ -616,45 +541,11 @@ /* Translations due to time_t size differences. |
|
http://lwn.net/Articles/17158
|
|
| Â Â |
| Â | patch-xmach-cpu1 |
 | | @@ -89,9 +90,8 @@ /* XXX interrupt stack pointer and highwater mark, for locore.S. vm_offset_t int_stack_top, int_stack_high; -/* CPUID Stuff */ -extern int _cpu_info; -void identifycpu(); +/* CPU identification */ +cpu_info_t cpu_info; /* * Find devices. |  | | - -unsigned long i586_ctr_freq; - -extern int _cpu_info, _cpu_id, _cpu_feature; -extern char _cpu_vendor[]; +#include |
|
http://function.linuxpower.ca/patches/patch-xmach-cpu1
|
|
| Â Â |
| Â | ASMTUT.TXT |
 | | A introduction to x86 assembly Written by Gavin Estey email: gavin@senator.demon.co.uk This document is version: 0.9 Beta 2/19/95 This will hopefully be the final version of this unless somebody finds some mistakes in it. |  | | mov ah,4Ch ;;terminate program and return ;;to DOS using mov al,errorlevel ;;put errorlevel into al int 21h ;;interrupt 21h function 4Ch endm ;;end macro end ;end program Procedures that pass parametres: Procedures can be made even more useful if they can be made to pass parameters to each other. |  | | MOV ah,00h ;function 00h of INT 16h ;interrupt 16h All we need to worry about for now is the ascii value which is in al. |
|
http://help-site.com/local/ASMTUT.TXT
|
|
| Â Â |
| Â | COSC 433 - Intel x86 Reference |
 | | mov dl, 48 mov ah, 2 int 21 mov dl, 65 int 21 mov dl, 79 int 21 mov dl, 21 int 21 mov dl, 0d int 21 mov dl, 0a int 21 int 20 |  | | MOV dest, src Move Data: Copies value of the src into dest. |  | | mov eax, [0100] ; Direct Addresssing mov eax, [0299] ; Indirect Addressing mov eax, 0100 ; Place value 0100 into eax |
|
http://www.emunix.emich.edu/~sverdlik/opsysref.html
|
|
| Â Â |
| Â | Assembly Language for the IBM-PC |
 | | Assembly Language for the IBM-PC Assembly Language for the IBM-PC title Hello World Program (hello.asm) ; This program displays "Hello, World!" dosseg.model small.stack 100h.data hello_message db 'Hello, World!',0dh,0ah,'$'.code main proc mov ax,@data mov ds,ax mov ah,9 mov dx,offset hello_message int 21h mov ax,4C00h int 21h main endp end main |
|
http://www.latech.edu/~acm/helloworld/asm.html
|
|
| Â Â |
| Â | x86 ASM - Day 15 |
 | | Here's our input again and move down a lines: mov ah,0Ah mov ds,cs mov dx,offset len int 21h mov ah,2 mov dl,10 int 21h mov dl,13 int 21h This puts a 0 at the end making a NULL-terminated string. |  | | Everyone always wants to compare strings, so here you go! |
|
http://k2pts.home.comcast.net/gbaguy/day15pc.htm
|
|
| Â Â |
| Â | ASM Tutorial/Ready to Start! |
 | | .model small.stack.data message db "Hello world, I'm learning Assembly !!!", "$".code main proc mov ax,seg message mov ds,ax mov ah,09 lea dx,message int 21h mov ax,4c00h int 21h main endp end main |  | | MOV always moves data to the operand left of the comma and from the operand right of the comma. |  | | B8790F is the machine code of the mov ax,0f79 instruction. |
|
http://www.xs4all.nl/~smit/asm01001.htm
|
|
| Â Â |
| Â | x86 ASM - Day 19 |
 | | mov bx,dx mov byte [bx],'$' ; byte pointer so we don't mess with the whole word (a word is 16bits). |  | | mov ah,4Ch int 21h ; Function 4Ch (Exit Program) It looks like a lot like that, but don't forget that you can make your own subroutines and CALL them. |  | | mov ah,3Fh mov cx,4 ; I will assume ELMO.TXT has atleast 4 bytes in it. |
|
http://k2pts.home.comcast.net/gbaguy/day19pc.htm
|
|
| Â Â |
| Â | Encyclopedia4U - X86 assembly language - Encyclopedia Article |
 | | Because the x86 processors are so common, most of you should be able to assemble most of the code that you find in this tutorial at your own computer. |  | | mov dx, ds ; when the program starts, DS = PSP int 0x21 ; make DOS reserve the piece of code and exit back to the shell. |  | | This tutorial uses standard Intel syntax, not AT&T syntax in which most Linux assembly programs is written. |
|
http://www.encyclopedia4u.com/x/x86-assembly-language.html
|
|
| Â Â |
| Â | 1.HTM |
 | | So:- DEC AX MOV AX,[another_value] JZ gohereifaxwas1 will branch to gohereifaxwas1 if AX was equal 1 at the start, since the DEC instruction will set the zero flag if it results in a 0, and the MOV doesn't affect the flags (many of the intel instructions don't). |  | | This later point allows you to get a MOVZX instruction on immediate values, ala:- LEA EAX,[01234h] which is equivalent to:- MOV EAX,01234h only the LEA is taking a byte less, as the data is represented as a WORD only. |  | | MOV AX,0 lop: MOV FS,AX MOV AH,2 MOV DL,030h INT 021h MOV AX,FS INC AL JNO lop Okay so you've run out of registers in that inner loop. |
|
http://lf.1accesshost.com/X86/1.HTM
|
|
| Â Â |
| Â | Hello world program - Wikipedia, the free encyclopedia |
 | | 1.5.5 Expanded accumulator machine: Intel x86, MS-DOS, TASM |  | | MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ string INT 21H MOV AX, 4C00H INT 21H END |  | | TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program |
|
http://en.wikipedia.org/wiki/Hello_world_program
|
|
| Â Â |
| Â | Decompile C++ Code |
 | | Remember when you issue a call instruction on the X86 machines, the Processor stores the current address on the stack so it can know the location it should return to. |  | | Yes I know I decided to give you a complete binary disassembly to see if you remember about the stack frame and the [ebp -4] which means the first local variable created and yes int main has to setup the stack frame like every other function. |  | | mov global_var + 5, ‘U’ When instantly see that regular variables or a lot simpler than global variables, all we have to do is refer to a address in memory which holds or data, of course in machine code we can’t see pretty names like |
|
http://www.crackingislife.com/tut/decompile.htm
|
|
| Â Â |
| Â | x86 Assembly Lesson 1 Chapter 10 |
 | | Now for the truth: The Intel x86 processor does provide a |  | | So, the only thing we'd pass here is the word pointer that will go to DX. |  | | ideal p286n model tiny codeseg org 100h jmp start ; your data here ; Area 1 start: mov ax, 4c00h int 21h ; Area 2 end |
|
http://www.geocities.com/SiliconValley/Park/3230/x86asm/asml1010.html
|
|
| Â Â |
| Â | Using the GNU Compiler Collection (GCC) |
 | | The 64-bit environment sets int to 32 bits and long and pointer to 64 bits and generates code for AMD's x86-64 architecture. |  | | -Os), in which case the default is the minimum correct alignment (4 bytes for x86, and 8 bytes for x86-64). |  | | See X86 Built-in Functions, for details of the functions enabled and disabled by these switches. |
|
http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/i386-and-x86-64-Options.html
(1431 words)
|
|
|