36 asm ("mov %%fs,%%ax":"=a" ( res):); \ 37 res;}) 38 // 以下定义了一些函数原型 39 void page_exception(void); // 页异常 实际是 page_fault(mm/page.s,14) void divi

Size: px
Start display at page:

Download "36 asm ("mov %%fs,%%ax":"=a" ( res):); \ 37 res;}) 38 // 以下定义了一些函数原型 39 void page_exception(void); // 页异常 实际是 page_fault(mm/page.s,14) void divi"

Transcription

1 程序 8-2 linux/kernel/traps.c 1 /* 2 * linux/kernel/traps.c 3 * 4 * (C) 1991 Linus Torvalds 5 */ 6 7 /* 8 * 'Traps.c' handles hardware traps and faults after we have saved some 9 * state in 'asm.s'. Currently mostly a debugging-aid, will be extended 10 * to mainly kill the offending process (probably by giving it a signal, 11 * but possibly by killing it outright if necessary). 12 */ /* * 在程序 asm.s 中保存了一些状态后, 本程序用来处理硬件陷阱和故障 目前主要用于调试目的, * 以后将扩展用来杀死遭损坏的进程 ( 主要是通过发送一个信号, 但如果必要也会直接杀死 ) */ 13 #include <string.h> // 字符串头文件 主要定义了一些有关内存或字符串操作的嵌入函数 #include <linux/head.h> // head 头文件, 定义了段描述符的简单结构, 和几个选择符常量 16 #include <linux/sched.h> // 调度程序头文件, 定义了任务结构 task_struct 初始任务 0 的数据, // 还有一些有关描述符参数设置和获取的嵌入式汇编函数宏语句 17 #include <linux/kernel.h> // 内核头文件 含有一些内核常用函数的原形定义 18 #include <asm/system.h> // 系统头文件 定义了设置或修改描述符 / 中断门等的嵌入式汇编宏 19 #include <asm/segment.h> // 段操作头文件 定义了有关段寄存器操作的嵌入式汇编函数 20 #include <asm/io.h> // 输入 / 输出头文件 定义硬件端口输入 / 输出宏汇编语句 21 // 以下语句定义了三个嵌入式汇编宏语句函数 有关嵌入式汇编的基本语法见本程序列表后的说明 // 用圆括号括住的组合语句 ( 花括号中的语句 ) 可以作为表达式使用, 其中最后的 res 是其输出值 // 第 23 行定义了一个寄存器变量 res 该变量将被保存在一个寄存器中, 以便于快速访问和操作 // 如果想指定寄存器 ( 例如 eax), 那么我们可以把该句写成 register char res asm("ax"); // 取段 seg 中地址 addr 处的一个字节 // 参数 :seg - 段选择符 ;addr - 段内指定地址 // 输出 :%0 - eax ( res); 输入 :%1 - eax (seg);%2 - 内存地址 (*(addr)) 22 #define get_seg_byte(seg,addr) ({ \ 23 register char res; \ 24 asm ("push %%fs;mov %%ax,%%fs;movb %%fs:%2,%%al;pop %%fs" \ 25 :"=a" ( res):"0" (seg),"m" (*(addr))); \ 26 res;}) 27 // 取段 seg 中地址 addr 处的一个长字 (4 字节 ) // 参数 :seg - 段选择符 ;addr - 段内指定地址 // 输出 :%0 - eax ( res); 输入 :%1 - eax (seg);%2 - 内存地址 (*(addr)) 28 #define get_seg_long(seg,addr) ({ \ 29 register unsigned long res; \ 30 asm ("push %%fs;mov %%ax,%%fs;movl %%fs:%2,%%eax;pop %%fs" \ 31 :"=a" ( res):"0" (seg),"m" (*(addr))); \ 32 res;}) 33 // 取 fs 段寄存器的值 ( 选择符 ) // 输出 :%0 - eax ( res) 34 #define _fs() ({ \ 35 register unsigned short res; \

2 36 asm ("mov %%fs,%%ax":"=a" ( res):); \ 37 res;}) 38 // 以下定义了一些函数原型 39 void page_exception(void); // 页异常 实际是 page_fault(mm/page.s,14) void divide_error(void); // int0(kernel/asm.s,20) 42 void debug(void); // int1(kernel/asm.s,54) 43 void nmi(void); // int2(kernel/asm.s,58) 44 void int3(void); // int3(kernel/asm.s,62) 45 void overflow(void); // int4(kernel/asm.s,66) 46 void bounds(void); // int5(kernel/asm.s,70) 47 void invalid_op(void); // int6(kernel/asm.s,74) 48 void device_not_available(void); // int7(kernel/sys_call.s,158) 49 void double_fault(void); // int8(kernel/asm.s,98) 50 void coprocessor_segment_overrun(void); // int9(kernel/asm.s,78) 51 void invalid_tss(void); // int10(kernel/asm.s,132) 52 void segment_not_present(void); // int11(kernel/asm.s,136) 53 void stack_segment(void); // int12(kernel/asm.s,140) 54 void general_protection(void); // int13(kernel/asm.s,144) 55 void page_fault(void); // int14(mm/page.s,14) 56 void coprocessor_error(void); // int16(kernel/sys_call.s,140) 57 void reserved(void); // int15(kernel/asm.s,82) 58 void parallel_interrupt(void); // int39(kernel/sys_call.s,295) 59 void irq13(void); // int45 协处理器中断处理 (kernel/asm.s,86) 60 void alignment_check(void); // int46(kernel/asm.s,148) 61 // 该子程序用来打印出错中断的名称 出错号 调用程序的 EIP EFLAGS ESP fs 段寄存器值 // 段的基址 段的长度 进程号 pid 任务号 10 字节指令码 如果堆栈在用户数据段, 则还 // 打印 16 字节的堆栈内容 这些信息可用于程序调试 62 static void die(char * str,long esp_ptr,long nr) 63 { 64 long * esp = (long *) esp_ptr; 65 int i; printk("%s: %04x\n\r",str,nr&0xffff); // 下行打印语句显示当前调用进程的 CS:EIP EFLAGS 和 SS:ESP 的值 参照错误! 未找到引用源 可知, 这 里 esp[0] // 即为图中的 esp0 位置 因此我们把这句拆分开来看为 : // (1) EIP:\t%04x:%p\n -- esp[1] 是段选择符 (cs),esp[0] 是 eip // (2) EFLAGS:\t%p -- esp[2] 是 eflags // (3) ESP:\t%04x:%p\n -- esp[4] 是原 ss,esp[3] 是原 esp 68 printk("eip:\t%04x:%p\neflags:\t%p\nesp:\t%04x:%p\n", 69 esp[1],esp[0],esp[2],esp[4],esp[3]); 70 printk("fs: %04x\n",_fs()); 71 printk("base: %p, limit: %p\n",get_base(current->ldt[1]),get_limit(0x17)); 72 if (esp[4] == 0x17) { // 若原 ss 值为 0x17( 用户栈 ), 则还打印出 73 printk("stack: "); // 用户栈中的 4 个长字值 (16 字节 ) 74 for (i=0;i<4;i++) 75 printk("%p ",get_seg_long(0x17,i+(long *)esp[3])); 76 printk("\n"); 77 } 78 str(i); // 取当前运行任务的任务号 (include/linux/sched.h,210 行 )

3 79 printk("pid: %d, process nr: %d\n\r",current->pid,0xffff & i); // 进程号, 任务号 80 for(i=0;i<10;i++) 81 printk("%02x ",0xff & get_seg_byte(esp[1],(i+(char *)esp[0]))); 82 printk("\n\r"); 83 do_exit(11); /* play segment exception */ 84 } 85 // 以下这些以 do_ 开头的函数是 asm.s 中对应中断处理程序调用的 C 函数 86 void do_double_fault(long esp, long error_code) 87 { 88 die("double fault",esp,error_code); 89 } void do_general_protection(long esp, long error_code) 92 { 93 die("general protection",esp,error_code); 94 } void do_alignment_check(long esp, long error_code) 97 { 98 die("alignment check",esp,error_code); 99 } void do_divide_error(long esp, long error_code) 102 { 103 die("divide error",esp,error_code); 104 } 105 // 参数是进入中断后被顺序压入堆栈的寄存器值 参见 asm.s 程序第 行 106 void do_int3(long * esp, long error_code, 107 long fs,long es,long ds, 108 long ebp,long esi,long edi, 109 long edx,long ecx,long ebx,long eax) 110 { 111 int tr; asm ("str %%ax":"=a" (tr):"" (0)); // 取任务寄存器值 tr 114 printk("eax\t\tebx\t\tecx\t\tedx\n\r%8x\t%8x\t%8x\t%8x\n\r", 115 eax,ebx,ecx,edx); 116 printk("esi\t\tedi\t\tebp\t\tesp\n\r%8x\t%8x\t%8x\t%8x\n\r", 117 esi,edi,ebp,(long) esp); 118 printk("\n\rds\tes\tfs\ttr\n\r%4x\t%4x\t%4x\t%4x\n\r", 119 ds,es,fs,tr); 120 printk("eip: %8x CS: %4x EFLAGS: %8x\n\r",esp[0],esp[1],esp[2]); 121 } void do_nmi(long esp, long error_code) 124 { 125 die("nmi",esp,error_code); 126 } void do_debug(long esp, long error_code) 129 {

4 130 die("debug",esp,error_code); 131 } void do_overflow(long esp, long error_code) 134 { 135 die("overflow",esp,error_code); 136 } void do_bounds(long esp, long error_code) 139 { 140 die("bounds",esp,error_code); 141 } void do_invalid_op(long esp, long error_code) 144 { 145 die("invalid operand",esp,error_code); 146 } void do_device_not_available(long esp, long error_code) 149 { 150 die("device not available",esp,error_code); 151 } void do_coprocessor_segment_overrun(long esp, long error_code) 154 { 155 die("coprocessor segment overrun",esp,error_code); 156 } void do_invalid_tss(long esp,long error_code) 159 { 160 die("invalid TSS",esp,error_code); 161 } void do_segment_not_present(long esp,long error_code) 164 { 165 die("segment not present",esp,error_code); 166 } void do_stack_segment(long esp,long error_code) 169 { 170 die("stack segment",esp,error_code); 171 } void do_coprocessor_error(long esp, long error_code) 174 { 175 if (last_task_used_math!= current) 176 return; 177 die("coprocessor error",esp,error_code); 178 } void do_reserved(long esp, long error_code) 181 { 182 die("reserved (15,17-47) error",esp,error_code);

5 183 } 184 // 下面是异常 ( 陷阱 ) 中断程序初始化子程序 设置它们的中断调用门 ( 中断向量 ) // set_trap_gate() 与 set_system_gate() 都使用了中断描述符表 IDT 中的陷阱门 (Trap Gate), // 它们之间的主要区别在于前者设置的特权级为 0, 后者是 3 因此断点陷阱中断 int3 溢出中断 // overflow 和边界出错中断 bounds 可以由任何程序调用 这两个函数均是嵌入式汇编宏程序, // 参见 include/asm/system.h, 第 36 行 39 行 185 void trap_init(void) 186 { 187 int i; set_trap_gate(0,&divide_error); // 设置除操作出错的中断向量值 以下雷同 190 set_trap_gate(1,&debug); 191 set_trap_gate(2,&nmi); 192 set_system_gate(3,&int3); /* int3-5 can be called from all */ 193 set_system_gate(4,&overflow); /* int3-5 可以被所有程序执行 */ 194 set_system_gate(5,&bounds); 195 set_trap_gate(6,&invalid_op); 196 set_trap_gate(7,&device_not_available); 197 set_trap_gate(8,&double_fault); 198 set_trap_gate(9,&coprocessor_segment_overrun); 199 set_trap_gate(10,&invalid_tss); 200 set_trap_gate(11,&segment_not_present); 201 set_trap_gate(12,&stack_segment); 202 set_trap_gate(13,&general_protection); 203 set_trap_gate(14,&page_fault); 204 set_trap_gate(15,&reserved); 205 set_trap_gate(16,&coprocessor_error); 206 set_trap_gate(17,&alignment_check); // 下面把 int17-47 的陷阱门先均设置为 reserved, 以后各硬件初始化时会重新设置自己的陷阱门 207 for (i=18;i<48;i++) 208 set_trap_gate(i,&reserved); // 设置协处理器中断 0x2d(45) 陷阱门描述符, 并允许其产生中断请求 设置并行口中断描述符 209 set_trap_gate(45,&irq13); 210 outb_p(inb_p(0x21)&0xfb,0x21); // 允许 8259A 主芯片的 IRQ2 中断请求 211 outb(inb_p(0xa1)&0xdf,0xa1); // 允许 8259A 从芯片的 IRQ13 中断请求 212 set_trap_gate(39,&parallel_interrupt); // 设置并行口 1 的中断 0x27 陷阱门描述符 213 } 214

1 CPU interrupt INT trap CPU exception

1 CPU interrupt INT trap CPU exception 1 CPU interrupt INT trap CPU exception 2 X86 CPU gate 64 16 1 2 5 8 16 16 P DPL 00101 TSS 101 DPL P 1 64 16 1 2 1 1 3 3 5 16 16 16 P DPL 0 D 000 16 110 111 100 D 1=32 0=16 DPL P 1 INT DPL1>=CPL>=DPL CPU

More information

程序 linux/include/linux/math_emu.h 1 /* 2 * linux/include/linux/math_emu.h 3 * 4 * (C) 1991 Linus Torvalds 5 */ 6 #ifndef _LINUX_MATH_EMU_H 7 #de

程序 linux/include/linux/math_emu.h 1 /* 2 * linux/include/linux/math_emu.h 3 * 4 * (C) 1991 Linus Torvalds 5 */ 6 #ifndef _LINUX_MATH_EMU_H 7 #de 程序 14-24 linux/include/linux/math_emu.h 1 /* 2 * linux/include/linux/math_emu.h 3 * 4 * (C) 1991 Linus Torvalds 5 */ 6 #ifndef _LINUX_MATH_EMU_H 7 #define _LINUX_MATH_EMU_H 8 9 #include

More information

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11 .. 软件综合实验之操作系统 进入保护模式 陈香兰 中国科学技术大学计算机学院 July 1, 2016 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, 2016 1 / 11 提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, 2016 2 / 11 实验准备 实验环境准备

More information

Linux kernel exploit研究和探索

Linux kernel exploit研究和探索 Linux kernel exploit DOC alert7 PPT e4gle 2002-12-2 1 2002-12-2 2 Linux kernel exploit kernel exploit exploit exploit exploit (Kernel Buffer Overflow) (Kernel

More information

06721 main() lock pick proc() restart() [2][4] MINIX minix2.0 GDT, IDT irq table[] CPU CPU CPU CPU (IDTR) idt[] CPU _hwint00:! Interrupt

06721 main() lock pick proc() restart() [2][4] MINIX minix2.0 GDT, IDT irq table[] CPU CPU CPU CPU (IDTR) idt[] CPU _hwint00:! Interrupt MINIX ( 730000) ( 730000) MINIX MINIX2.0 MINIX : MINIX TP3 1 MINIX UNIX Tanenbaum UNIX MINIX LINUX MINIX MINIX MINIX1.0 UNIX V7 MINIX2.0[3] POSIX MINIX3 MINIX Gabriel A. Wainer 1994-1995 [5] 1998 I/O 2002

More information

46 * the current mask in old_mask and block until a signal comes in. 47 */ /* 自动地更换成新的信号屏蔽码, 并等待信号的到来 * * 我们需要对系统调用 (syscall) 做一些处理 我们会从系统调用库接口取得某些信息

46 * the current mask in old_mask and block until a signal comes in. 47 */ /* 自动地更换成新的信号屏蔽码, 并等待信号的到来 * * 我们需要对系统调用 (syscall) 做一些处理 我们会从系统调用库接口取得某些信息 程序 8-6 linux/kernel/signal.c 1 /* 2 * linux/kernel/signal.c 3 * 4 * (C) 1991 Linus Torvalds 5 */ 6 7 #include // 调度程序头文件, 定义任务结构 task_struct 初始任务 0 的数据, // 还有一些有关描述符参数设置和获取的嵌入式汇编函数宏语句 8

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

(i) (ii) (iii) (i) (ii) (iii) (iv) 1. 2

(i) (ii) (iii) (i) (ii) (iii) (iv) 1. 2 696 14A.35(1) 14A 1 (i) (ii) (iii) (i) (ii) (iii) (iv) 1. 2 14A.35(1) 14A.35(1) 14A.35(1) 14A.35(1) 2. 2.1 A. 3 (i) (ii) (iii) (iv) (1) (i)(ii) 4.5 6.5 6.5 7 (2) (iii) (a) 74 (b) 500 4 (3) (iv) PID PID

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf (%d, & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf (%d %d 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

ROP_bamboofox.key

ROP_bamboofox.key ROP Return Oriented Programming Lays @ BambooFox Who Am I Lays / L4ys / 累死 - l4ys.tw Reverse Engineering BambooFox / HITCON Outline Buffer Overflow ret2libc / ret2text Return Oriented Programming Payload

More information

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf (%d, & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9 201 201 21 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 1 B 1 C 5 D RPG 10 E 10 F 1 G II 1 1 201 201 C 1 # include 2 int main ( void

More information

礼仪玉和葬玉

礼仪玉和葬玉 http://shop33322103.taobao.com 1 http://shop33322103.taobao.com 2 http://shop33322103.taobao.com 3 http://shop33322103.taobao.com 4 http://shop33322103.taobao.com 5 http://shop33322103.taobao.com 6 http://shop33322103.taobao.com

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

学习MSP430单片机推荐参考书

学习MSP430单片机推荐参考书 MSP430 16 MSP430 C MSP430 C MSP430 FLASH 16 1 CPU 16 ALU 16 PC SP SR R4~R15 2 3 00-FFH 100-1FFH 4 5 1 2 51 24 27 6 1 2 3 4 5 6 4 12 SR SP SR CPU SR CPU C Z N GIE CPUOff CPU OscOff SCG0 SCG1 CPU EXIT SP

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

Andes Technology PPT Temp

Andes Technology PPT Temp 晶心科技線上技術研討會 AndesCore 便捷的全 C 嵌入式编程 晶心科技市場及技術服務部毛礼杰軟件經理 WWW.ANDESTECH.COM 大纲 系统初始化介绍 异常和中断说明 全 C 语法例子说明 总结 2 CPU 相关特性 1: 中断向量表 系统初始化 (1) 2: 系统寄存器 通常需要用 assembly( 汇编 / 组合 ) 语言来操作 AndesCore 全 C 嵌入式编程 C 扩展语法

More information

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def Kaise s 2410 Board setting [1]. Device Driver Device Driver Linux s Kernel ARM s kernel s3c2410_kernel2.4.18_r1.1_change.tar.bz2 /usr/src (1) #cd /usr/src (2) #tar xfj s3c2410_kernel2.4.18_r1.1_change.tar.bz2

More information

《C语言程序设计》第2版教材习题参考答案

《C语言程序设计》第2版教材习题参考答案 教材 C 语言程序设计 ( 第 2 版 ) 清华大学出版社, 黄保和, 江弋编著 2011 年 10 月第二版 ISBN:978-7-302-26972-4 售价 :35 元 答案版本 本习题答案为 2012 年 2 月修订版本 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p = &a A. *p = *a B. p = *a C.p = &a D. *p =

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

净 利 润 和 扣 除 非 经 常 性 损 益 后 归 属 于 母 公 司 股 东 的 净 利 润 分 别 为 665.08 亿 元 和 660.45 亿 元 ; 3 假 设 本 公 司 2016 年 扣 除 非 经 常 性 损 益 前 归 属 于 母 公 司 股 东 的 净 利 润 分 别 为 6

净 利 润 和 扣 除 非 经 常 性 损 益 后 归 属 于 母 公 司 股 东 的 净 利 润 分 别 为 665.08 亿 元 和 660.45 亿 元 ; 3 假 设 本 公 司 2016 年 扣 除 非 经 常 性 损 益 前 归 属 于 母 公 司 股 东 的 净 利 润 分 别 为 6 证 券 代 码 :601328 证 券 简 称 : 交 通 银 行 公 告 编 号 : 临 2016-002 关 于 交 通 银 行 股 份 有 限 公 司 发 行 优 先 股 摊 薄 即 期 回 报 及 填 补 措 施 的 公 告 交 通 银 行 股 份 有 限 公 司 ( 以 下 简 称 交 通 银 行 或 本 公 司 ) 董 事 会 及 全 体 董 事 保 证 本 公 告 内 容 不 存 在

More information

游戏攻略大全(五十六).doc

游戏攻略大全(五十六).doc ...1...16...18...25...26...32 2...66... 103... 103... 104... 104 3... 112 III... 121... 121... 140... 142... 151... 152... 152 I 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

More information

牧 者 心 聲 要 因 心 懷 平 而 作 惡 要 謹 慎 言 行 免 得 舌 頭 犯 罪 ; 惡 人 時 候 要 用 嚼 環 勒 住 口 ( 詩 三 十 九 1) 今 天 社 會 和 教 會 裏 極 其 渴 望 人 能 以 具 體 行 動 勉 勵 走 善 良 正 直 路 作 好 榜 樣 ; 可 惜

牧 者 心 聲 要 因 心 懷 平 而 作 惡 要 謹 慎 言 行 免 得 舌 頭 犯 罪 ; 惡 人 時 候 要 用 嚼 環 勒 住 口 ( 詩 三 十 九 1) 今 天 社 會 和 教 會 裏 極 其 渴 望 人 能 以 具 體 行 動 勉 勵 走 善 良 正 直 路 作 好 榜 樣 ; 可 惜 週 六 崇 拜 秩 序 2010 年 7 24 日 下 午 500 主 席 王 和 祥 牧 長 講 員 蕭 壽 華 牧 師 司 琴 沈 慧 珍 小 姐 會 眾 開 始 以 心 靈 與 實 敬 拜 進 堂 ( 主 禮 人 及 詩 班 ) 始 禮 頌 ( 歌 詞 見 第 4 頁 ) 宣 召 心 必 靠 耶 和 華 快 樂 靠 祂 救 恩 高 興 舌 頭 要 終 日 論 說 祢 公 義 時 常 讚 美 祢

More information

Kernel Kernel Kernel Kernel load estimator runqueue kernel/sched.

Kernel Kernel Kernel Kernel load estimator runqueue kernel/sched. Linux Kernel 2.6 20321131 Kernel 2.4...3 Kernel 2.4...3 Kernel 2.4...3 Kernel 2.6...3...3 1....3 2....4 3. load estimator...4 4....4 5....4...4 1....4 2. runqueue kernel/sched.c...4 3. task_struct(include/linux/sched.h)...6...9

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

Outline 1 中断信号的作用和处理的一般原则 2 I/O 设备如何引起 CPU 中断 3 x86 CPU 如何在硬件级处理中断信号中断和异常的硬件处理 : 进入中断 / 异常中断和异常的硬件处理 : 从中断 / 异常返回 4 Linux 内核中软件级中断处理及其数据结构初始化中断描述符表低级异

Outline 1 中断信号的作用和处理的一般原则 2 I/O 设备如何引起 CPU 中断 3 x86 CPU 如何在硬件级处理中断信号中断和异常的硬件处理 : 进入中断 / 异常中断和异常的硬件处理 : 从中断 / 异常返回 4 Linux 内核中软件级中断处理及其数据结构初始化中断描述符表低级异 Linux 操作系统分析 Chapter 5 中断和异常 陈香兰 (xlanchen@ustceducn) 计算机应用教研室 @ 计算机学院嵌入式系统实验室 @ 苏州研究院中国科学技术大学 Fall 2014 October 21, 2014 陈香兰 (xlanchen@ustceducn) ( 计算机应用教研室 Linux 操作系统分析 @ 计算机学院嵌入式系统实验室 Chapter 5 中断和异常

More information

浙江大学本科论文模板

浙江大学本科论文模板 本 科 生 毕 业 设 计 报 告 项 目 名 称 微 型 操 作 系 统 的 设 计 与 实 现 姓 名 与 学 号 曲 国 铖 3063027053 指 导 老 师 王 新 宇 专 业 计 算 机 科 学 与 技 术 学 院 计 算 机 学 院 A Dissertation Submitted to Zhejiang University for the Degree of Bachelor of

More information

1 1200 1290 3 12 6 13 18 19 22 26 11 7 1 12 12 11 1883 1933 20 20 1911

More information

2 12

2 12 SHENZHEN BRILLIANT CRYSTAL TECHNOLOGIC CO.,LTD. The specification for the following models Graphic LCM serial communication control board CB001 PROPOSED BY APPROVED Design Approved TEL:+86-755-29995238

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

列印

列印 102 1 102 2 103 1 103 2 We cannot do great things. We can only do small things with great love. 012 013 University supervisor Lau Tutor 20 014 015 016 017 018 019 due process 020 12/26 11/20 11/21 PPT

More information

untitled

untitled 1 5 IBM Intel 1. IBM 第 1/175 页 第 2/175 页 第 3/175 页 80 第 4/175 页 2. IBM 第 5/175 页 3. (1) 第 6/175 页 第 7/175 页 第 8/175 页 = = 第 9/175 页 = = = = = 第 10/175 页 = = = = = = = = 3. (2) 第 11/175 页 第 12/175 页 第 13/175

More information

<4D F736F F D20CAB5D1E BACDBBE3B1E0D3EFD1D4B5C4BBECBACFB1E0B3CCCAB5D1E92E646F63>

<4D F736F F D20CAB5D1E BACDBBE3B1E0D3EFD1D4B5C4BBECBACFB1E0B3CCCAB5D1E92E646F63> 1 实验目的 实验 2 C 和汇编语言的混合编程实验 学习在 C 程序中使用嵌入式汇编编写程序 了解嵌入式汇编的格式 语言特点 2 实验设备 S3C2410 开发板 ADS1.2 集成开发环境,JTAG 调试器 串口连接线 3 实验原理 在 ARM 的应用开发中,C 语言功能强大且容易编写程序, 但是汇编程序在底层的操作仍然具有 C 程序无法替代的功能, 有时候我们需要在 C 程序中嵌入汇编程序来完成一些直接对底层的诸如寄存器的操作

More information

untitled

untitled MODBUS 1 MODBUS...1 1...4 1.1...4 1.2...4 1.3...4 1.4... 2...5 2.1...5 2.2...5 3...6 3.1 OPENSERIAL...6 3.2 CLOSESERIAL...8 3.3 RDMULTIBIT...8 3.4 RDMULTIWORD...9 3.5 WRTONEBIT...11 3.6 WRTONEWORD...12

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc 2 5 8 11 0 1. 13 2. 15 3. 18 1 1. 22 2. 25 3. 27 2 1. 35 2. 38 3. 41 4. 43 5. 48 6. 50 3 1. 56 2. 59 3. 63 4. 65 5. 69 13 22 35 56 6. 74 7. 82 8. 84 9. 87 10. 97 11. 102 12. 107 13. 111 4 114 1. 114 2.

More information

( G/T idt IS ) /0

( G/T idt IS ) /0 Q ( ) ( G/T19001-2000 idt IS9001 2000 ) /0 1 1 1 1 1 80% 2 1 1 1 2 3 100% G/T19001 2000 idt IS9001 2000 4 3 1 1 1 2 3 100% 80% 80% 80% 4 100% 80% 5 / 100% 6 100% 100% 4 1 1 1 0% 2 3 5 1 1 1 2 0% 3 2 4

More information

Microsoft PowerPoint - os_4.ppt

Microsoft PowerPoint - os_4.ppt 行 程 資 科 系 林 偉 川 行 程 概 念 行 程 與 程 式 主 要 的 不 同 點 : 程 式 是 被 放 在 外 部 的 儲 存 裝 置 如 磁 碟 上, 而 行 程 則 被 放 在 記 憶 體 中 程 式 在 儲 存 裝 置 中 是 靜 態 的, 而 行 程 在 記 憶 體 中 是 動 態 的, 它 會 隨 著 一 些 事 件 的 發 生 而 產 生 相 對 的 改 變 行 程, 就 是

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout

More information

目录

目录 ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28

More information

3. 企 业 债 券 : 公 司 债 券 : 5. 证 券 公 司 债 券 : 6. 企 业 短 期 融 资 券 : 7. 中 期 票 据 : 8. 资 产 支 持 证 券 : 9. 国 际 开 发 机 构 人 民 币 债 券 : 10. 中 小 非 金 融 企 业 集 合 票 据 例 题? 判 断

3. 企 业 债 券 : 公 司 债 券 : 5. 证 券 公 司 债 券 : 6. 企 业 短 期 融 资 券 : 7. 中 期 票 据 : 8. 资 产 支 持 证 券 : 9. 国 际 开 发 机 构 人 民 币 债 券 : 10. 中 小 非 金 融 企 业 集 合 票 据 例 题? 判 断 第 1 节 投 资 银 行 业 务 概 述 1. 投 资 银 行 的 含 义 [ 熟 悉 ]: 等 第 1 章 证 劵 经 营 机 构 的 投 资 银 行 业 务 (1) 狭 义 的 就 是 指 某 些 资 本 市 场 活 动, 着 重 指 一 级 市 场 上 的 承 销 并 购 和 融 资 活 动 的 财 务 顾 问 (2) 广 义 的 包 括 公 司 融 资 并 购 顾 问 股 票 和 债 券

More information

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf("%d", &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf("%

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf(%d, &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf(% 2013 ( 28 ) ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 10 B 1 C 1 D 5 E 5 F 1 G II 5 H 30 1 2013 C 1 #include 2 int main(void) 3

More information

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p NOWOER.OM /++ 程师能 评估. 单项选择题 1. 下 描述正确的是 int *p1 = new int[10]; int *p2 = new int[10](); p1 和 p2 申请的空间 的值都是随机值 p1 和 p2 申请的空间 的值都已经初始化 p1 申请的空间 的值是随机值,p2 申请的空间 的值已经初始化 p1 申请的空间 的值已经初始化,p2 申请的空间 的值是随机值 2.

More information

機構職能

機構職能 第 110 頁 2 0 1 5 110 第 111 頁 2015 59 14 14 31 43 325 111 第 112 頁 1 2012 2 2015 2015 9,078 1 10,000 9,000 8,000 7,000 6,000 5,000 4,000 3,000 2,000 1,000 0 2012 2013 2014 2015 2 2015 2.3% 5.4% 4.9% 10.2%

More information

目录 1 概述 IA-32 体系结构内存地址映射 CPU 相关寄存器 系统寄存器 内存管理寄存器 保护模式的内存管理 位时页面机制地址映射 逻辑地址到线性地址的映射...9

目录 1 概述 IA-32 体系结构内存地址映射 CPU 相关寄存器 系统寄存器 内存管理寄存器 保护模式的内存管理 位时页面机制地址映射 逻辑地址到线性地址的映射...9 Linux 内存地址映射 目录 1 概述...3 2 IA-32 体系结构内存地址映射...4 2.1 CPU 相关寄存器...4 2.1.1 系统寄存器...5 2.1.2 内存管理寄存器...5 2.2 保护模式的内存管理...7 2.3 32 位时页面机制地址映射...9 2.3.1 逻辑地址到线性地址的映射...9 2.3.2 线性地址到物理地址的映射...11 2.4 PAE 页面机制地址映射过程...12

More information

Microsoft Word - AN3259C

Microsoft Word - AN3259C www.maxim-ic.com.cn 应用笔记 3259 DS31256 Envoy - 寄存器转储列程 概述本应用笔记提供了将 DS31256 的寄存器 排队程序 描述符和 FIFO RAM 的内容转储到一个文件的程序代码 这些数据在 DS31256 无法正常工作时非常关键, 为进一步的研究和调试提供了重要信息 例如, 寄存器数据经过转储后可以显示每个 DS31256 寄存器的设置 为了保证正确地设置器件,

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

優質居所 攜手共建

優質居所 攜手共建 2000 Housing Authority. All rights reserved. 2000 Housing Authority. All rights reserved. 2000 Housing Authority. All rights reserved. 2000 Housing Authority. All rights reserved. 2000 Housing Authority.

More information

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

More information

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

逢甲大學

逢甲大學 論 Pedometer 寧 葉 年 ii 老 寧 識 更 年 老 更 料 利 老 iii 了不 利 8051 8051 令 便 理 行 8051 數 路 流 行 論 iv Abstract This is the era that health is inseparable from manufacturing process. No high-tech manufacturer can survive

More information

ebook15-10

ebook15-10 1 0 10.1 U N I X V 7 4. 3 B S D S V R 3 P O S I X. 1 100 % 10.2 S I G S I G A B RT a b o r t S I G A L R M a l a r m V 7 1 5 S V R 4 4. 3 + B S D 31 < s i g n a l. h > 0 10. 9 k i l l 0 P O S I X. 1 D

More information

Microsoft Word - MAN2011A_CH_RTT.doc

Microsoft Word - MAN2011A_CH_RTT.doc 基于 SAM7X EK 和 IAR EWARM 文档编号 文档版本 Rev. A 文档摘要 基于 AT91SAM7X EK 开发板的代码解读,RTT 代码解读 关键词 AT91SAM7X256 SAM7X EK IAR EWARM J LINK RTT 创建日期 2010 06 08 创建人员 Cust126 审核人员 Robin 文档类型 公开发布 / 开发板配套文件 版权信息 Mcuzone 原创文档,

More information

嵌入式Linux块设备驱动开发解析

嵌入式Linux块设备驱动开发解析 The success's road 嵌 入 式 LINUX 网 络 驱 动 开 发 Copyright 2007-2008 Farsight. All rights reserved. 要 点 Linux 网 络 设 备 驱 动 程 序 概 述 计 算 机 网 络 概 述 skbuf 数 据 结 构 介 绍 Linux 网 络 设 备 驱 动 程 序 API 介 绍 Linux 网 络 设 备 驱

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式] 指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++

More information

linux 下的缓冲区溢出 裴士辉 QQ:

linux 下的缓冲区溢出 裴士辉 QQ: linux 下的缓冲区溢出 裴士辉 QQ:1628159305 Buffer Overflows 缓冲区溢出攻击 基本的思想通过修改某些内存区域, 把一段恶意代码存储到一个 buffer 中, 并且使这个 buffer 被溢出, 以便当前进程被非法利用 ( 执行这段恶意的代码 ) 2 危害性 在 UNIX 平台上, 通过发掘 Buffer Overflow, 可以获得一个交互式的 shell 在 Windows

More information

我 覺 得 流 病 的 各 單 元 之 間 常 常 都 有 相 連 的 觀 念, 中 間 要 是 有 觀 念 不 清 楚, 後 面 的 東 西 有 時 會 比 較 接 不 上 來 重 要 的 解 釋 名 詞 都 有 要 好 好 背, 容 易 考 的 申 論 題 要 整 理 成 筆 記 4. 衛 生

我 覺 得 流 病 的 各 單 元 之 間 常 常 都 有 相 連 的 觀 念, 中 間 要 是 有 觀 念 不 清 楚, 後 面 的 東 西 有 時 會 比 較 接 不 上 來 重 要 的 解 釋 名 詞 都 有 要 好 好 背, 容 易 考 的 申 論 題 要 整 理 成 筆 記 4. 衛 生 國 立 臺 灣 師 範 大 學 104( 下 ) 年 度 申 請 國 家 考 試 獎 學 金 心 得 分 享 蔡 臻 ( 衛 教 系 ) 104 普 考 - 衛 生 行 政 一. 準 備 歷 程 大 四 上 學 期 + 畢 業 後 半 年, 約 一 年 1. 大 三 升 大 四 的 暑 假 : 這 個 暑 假 我 一 直 在 思 考 我 是 要 繼 續 修 教 育 學 程 考 健 康 教 育 老 師

More information

Chamber of Commerce and Local Governance: Function and Limitation A Case Study of Non-local Wenzhou Chamber of Commerce Chen Shengyong,Ma Bin Abstract: Since 1990s, with the development of Wenzhou model

More information

50 #define TASK_STOPPED 4 // 进程已停止 #ifndef NULL 53 #define NULL ((void *) 0) // 定义 NULL 为空指针 54 #endif 55 // 复制进程的页目录页表 Linus 认为这是内核中最复杂的函数之一 (

50 #define TASK_STOPPED 4 // 进程已停止 #ifndef NULL 53 #define NULL ((void *) 0) // 定义 NULL 为空指针 54 #endif 55 // 复制进程的页目录页表 Linus 认为这是内核中最复杂的函数之一 ( 程序 14-26 linux/include/linux/sched.h 1 #ifndef _SCHED_H 2 #define _SCHED_H 3 4 #define HZ 100 // 定义系统时钟滴答频率 (1 百赫兹, 每个滴答 10ms) 5 6 #define NR_TASKS 64 // 系统中同时最多任务 ( 进程 ) 数 7 #define TASK_SIZE 0x04000000

More information

格式化字符串 Weifeng Sun School of Software, DLUT

格式化字符串 Weifeng Sun School of Software, DLUT 格式化字符串 Weifeng Sun School of Software, DLUT 格式化字符串漏洞 格式化字符串, 也是一种比较常见的漏洞类型 会触发该漏洞的函数很有限 主要就是 printf 还有 sprintf,fprintf 等等 c 库中 print 家族的函数 >int printf(const char* format,...) 2 / 42 3 / 42 A B 字符串指针 char

More information

0404.doc

0404.doc 20-4-2004 2 2004-CE 2 0 0 4 1. 40% 30% 2. 3. 4. All Rights Reserved 2004 2004-CE-HIST 1-1 3 1. A A 1862 1871 1848 1849 (a) A (1 ) (b) A A (4 ) (c) A A (5 ) 2004-CE-HIST 1-2 -1-4 2. B B 1902 (a) B B (1+1

More information

untitled

untitled www.mcudriver.cn 1.1 / 1) WinAVR20070525 2) Source Insight 3) ISP 4) PonyProg ISP 5) USB 6) 1.2. MCU ATMEGA16 1.3. AVR8 1.4 LED0~LED7 1 1.5 #include // Program 1.1 LED.C #define uchar unsigned

More information

Microsoft Word - 目次範例-catalog016204.doc

Microsoft Word - 目次範例-catalog016204.doc 財 政 經 濟 篇 行 政 規 則 行 政 院 金 融 監 督 管 理 委 員 會 令 中 華 民 國 99 年 10 月 25 日 金 管 銀 法 字 第 09910003990 銀 行 辦 理 結 構 型 商 品 所 收 本 金 性 質 及 會 計 處 理 之 相 關 事 項 規 定 如 下 : 一 結 構 型 商 品 所 收 之 本 金 不 視 為 存 款, 該 本 金 於 計 算 銀 行 法

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

_汪_文前新ok[3.1].doc

_汪_文前新ok[3.1].doc 普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向

More information

高雄市左營國民小學八十九學年度第一學期一年級總體課程教學進度表

高雄市左營國民小學八十九學年度第一學期一年級總體課程教學進度表 高 雄 市 前 鎮 區 紅 毛 港 國 民 小 學 102 學 年 度 第 1 學 期 ( 五 ) 年 級 各 領 域 教 學 進 度 總 表 教 學 者 :( 五 ) 年 級 教 學 團 隊 彈 性 學 習 時 數 -5 節 班 級 活 動 週 別 日 期 一 0830-0901 二 0902-0908 三 0909-0915 四 0916-0922 五 0923-0929 學 校 活 動 學 年

More information

Microsoft PowerPoint - 微原-第3章3.ppt [兼容模式]

Microsoft PowerPoint - 微原-第3章3.ppt [兼容模式] 本教案内容 第 3 章 8086CPU 指令系统 1. 汇编语言指令 9. 转移指令 10. 2. 8086 指令分类循环控制指令 11. 子程序调用返回 3. 数据与转移地址的指令寻址方式 12. 中断调用返回指 4. 数据传送类指令令 5. 算术运算类指令 13. 字符串操作指令 6. 逻辑运算类指令 14. I/O 输入输出指令 7. 移位类指令 15. 其它指令 8. 标志位操作指令 16.

More information

51 C 51 isp 10 C PCB C C C C KEIL

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple halcon 与 C# 混合编程之 Halcon 代码调用 写在前面 完成 halcon 与 C# 混合编程的环境配置后, 进行界面布局设计构思每一个按钮所需要实现 的功能, 将 Halcon 导出的代码复制至相应的 C# 模块下即可 halcon 源程序 : dev_open_window(0, 0, 512, 512, 'black', WindowHandle) read_image (Image,

More information

Microsoft Word - MSP430 Launchpad 指导书.docx

Microsoft Word - MSP430 Launchpad 指导书.docx Contents 3... 9... 14 MSP430 LAUNCHPAD 指导书 3 第一部分第一个工程 New Project File > New > CCS Project Project name: ButtonLED Device>Family: MSP430 Variant: MSP430G2553 Project templates and examples : Empty Project

More information

A. 城 市 化 是 我 国 发 展 的 必 由 之 路 B. 单 纯 发 展 大 城 市 不 利 于 城 市 化 的 推 进 C: 要 实 现 城 市 化, 就 必 须 让 城 市 充 分 吸 纳 农 村 人 口 D: 大 城 市 对 外 地 农 村 人 口 的 吸 引 力 明 显 低 于 中 小

A. 城 市 化 是 我 国 发 展 的 必 由 之 路 B. 单 纯 发 展 大 城 市 不 利 于 城 市 化 的 推 进 C: 要 实 现 城 市 化, 就 必 须 让 城 市 充 分 吸 纳 农 村 人 口 D: 大 城 市 对 外 地 农 村 人 口 的 吸 引 力 明 显 低 于 中 小 2017 年 MBA 大 师 逻 辑 强 化 班 课 程 讲 义 第 1 章 假 设 补 全 逻 辑 假 设 选 项 起 到 的 作 用 是 : 1) 补 全 推 出 结 论 需 要 的 逻 辑 缺 失 部 分 2) 引 入 结 论 成 立 的 前 提 条 件 ( 必 要 条 件 ) 补 全 逻 辑 假 设 题 干 特 征 1) 题 干 问 的 是 假 设 2) 题 干 往 往 会 出 现 逻 辑

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

JLX

JLX PRODUCT:LCD MODULE. Model No.: JLX177-006 Product Type: 1.77 inch QVGA TFT Modoule. 产品规格书 晶联讯研发研发部 : Written By Checked By Approved By 客户名称 : 结构电子核准 地址 : 深圳市宝安区西乡宝安大道东华工业区 A3 栋 6 楼电话 :0755-29784961 Http://www.jlxlcd.cn

More information

Microsoft Word - Entry-Level Occupational Competencies for TCM in Canada200910_ch _2_.doc

Microsoft Word - Entry-Level Occupational Competencies for TCM in Canada200910_ch _2_.doc 草 稿 致 省 級 管 理 單 位 之 推 薦 書 二 零 零 九 年 十 月 十 七 日 加 拿 大 中 醫 管 理 局 聯 盟 All rights reserved 序 言 加 拿 大 中 醫 管 理 局 聯 盟, 於 二 零 零 八 年 一 月 至 二 零 零 九 年 十 月 間, 擬 定 傳 統 中 醫 執 業 之 基 礎 文 件 由 臨 床 經 驗 豐 富 之 中 醫 師 教 育 者 及

More information

untitled

untitled 1 DBF (READDBF.C)... 1 2 (filetest.c)...2 3 (mousetes.c)...3 4 (painttes.c)...5 5 (dirtest.c)...9 6 (list.c)...9 1 dbf (readdbf.c) /* dbf */ #include int rf,k,reclen,addr,*p1; long brec,erec,i,j,recnum,*p2;

More information

撰 寫 人 :2B1 王 清 燕 書 名 : 追 風 箏 的 女 孩 條 碼 號 :0112667 4 月 份 閱 讀 心 得 佳 作 我 覺 得 這 是 一 本 教 我 們 用 殘 酷 的 角 度 認 識 生 命 的 小 說 ; 與 同 儕 甚 是 摯 友 間 也 可 能 出 現 競 奪 下 的

撰 寫 人 :2B1 王 清 燕 書 名 : 追 風 箏 的 女 孩 條 碼 號 :0112667 4 月 份 閱 讀 心 得 佳 作 我 覺 得 這 是 一 本 教 我 們 用 殘 酷 的 角 度 認 識 生 命 的 小 說 ; 與 同 儕 甚 是 摯 友 間 也 可 能 出 現 競 奪 下 的 4 月 讀 後 心 得 佳 作 撰 寫 人 :2B1 王 芝 蓉 書 名 : 姊 姊 的 守 護 者 條 碼 號 :0117530 乍 看 之 下 你 會 覺 得 莎 菈 是 很 不 公 平 的, 但 是 當 你 讀 完 姐 姐 的 守 護 者 這 本 書, 你 會 發 現 莎 菈 其 實 也 不 過 是 一 位 再 平 凡 不 過 的 母 親, 她 從 沒 想 過 要 如 何 救 凱 特, 她 只

More information

SP_ SP_03 JAVA...6 SP_10 SQL...8 SP_ SP_ SP_ SP_ SP_ SP_ SP_ SP_04.NET...33 SP_02 C...37 SP_05

SP_ SP_03 JAVA...6 SP_10 SQL...8 SP_ SP_ SP_ SP_ SP_ SP_ SP_ SP_04.NET...33 SP_02 C...37 SP_05 1 SP_01...3 SP_03 JAVA...6 SP_10 SQL...8 SP_51...12 SP_32...15 SP_53...18 SP_20...21 SP_22...24 SP_21...27 SP_23...30 SP_04.NET...33 SP_02 C...37 SP_05 FLASH...39 SP_06...42 2 SP_01 1. 8. Excel 2. 9. PowerPoint

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

Microsoft Word - ~ doc

Microsoft Word - ~ doc EEPROM 功能使用方法 1 适用产品 : 1.1 SM39R16A2/ SM39R12A2/ SM39R08A2 1.2 SM39R4051/ SM39R2051 1.3 SM39R04G1/ SM39R02G1 2 EEPROM 功能概述 : 2.1 使用 code flash 仿真为 Internal EEPROM, 在程序执行时, 可将 code flash 作为 data flash 储存数据使用

More information

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc

More information

................................................................ 1.......................................................... 4........................

................................................................ 1.......................................................... 4........................ 00696 4 15 16 17 28 2 32 33 183 17M H 157 100010 24 ................................................................ 1.......................................................... 4.................................................

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

bingdian001.com

bingdian001.com TSM12M TSM12 STM8L152C6, STM8L152R8 MSP430F5325 whym1987@126.com! /******************************************************************************* * : TSM12.c * : * : 2013/10/21 * : TSM12, STM8L f(sysclk)

More information

现在进入实验 4: PART A: 实现调度算法 第一步 : 修改 kern/sched.c 里面的函数 sched_yield, 具体代码如下 : 这个函数很简单, 就是从当前环境的下一个环境一直遍历到当前环境, 如果有可以运行的就 开始运行 如果没有, 就进入 idle 环境 然后修改系统调用,

现在进入实验 4: PART A: 实现调度算法 第一步 : 修改 kern/sched.c 里面的函数 sched_yield, 具体代码如下 : 这个函数很简单, 就是从当前环境的下一个环境一直遍历到当前环境, 如果有可以运行的就 开始运行 如果没有, 就进入 idle 环境 然后修改系统调用, JOS 实验四实验记录作者 : 卓达城指导老师 : 邵志远单位 : 华中科技大学集群网络与服务计算实验室 备注 : 本文档重点说明 exofork 函数的返回机制 ( 下面将以黑体标志 ), 如果有不当, 敬请发邮件到我的邮箱 本文档最精彩的地方在于缺页中断处理函数的返回机制和堆栈的切换, 文中以灰底, 不同字体 加粗显示 还有一处就是 vpd 和 vpt 的使用, 这里用了回环搜索 pgdir 和二级页表,

More information

untitled

untitled 1 7 7.1 7.2 7.3 7.4 7.5 2 7.1 VFT virtual 7.1 3 1 1. 2. public protected public 3. VFT 4. this const volatile 4 2 5. ( ) ( ) 7.1 6. no-static virtual 7.2 7. inline 7.3 5 3 8. this this 9. ( ) ( ) delete

More information

说 : 荀 子 极 偏 驳, 只 一 句 性 恶, 大 本 已 失 5 朱 熹 说 : 荀 扬 不 惟 说 性 不 是, 从 头 到 底 皆 不 识 6 采 取 的 都 是 这 种 理 论 框 架 另 一 种 理 论 框 架 始 于 20 世 纪 前 期, 这 便 是 诸 子 学 研 究 的 框 架

说 : 荀 子 极 偏 驳, 只 一 句 性 恶, 大 本 已 失 5 朱 熹 说 : 荀 扬 不 惟 说 性 不 是, 从 头 到 底 皆 不 识 6 采 取 的 都 是 这 种 理 论 框 架 另 一 种 理 论 框 架 始 于 20 世 纪 前 期, 这 便 是 诸 子 学 研 究 的 框 架 第 一 章 绪 论 1. 问 题 与 文 献 本 文 试 图 探 讨 的 核 心 问 题, 一 言 以 蔽 之, 是 要 理 解 并 诠 释 荀 子 思 想 的 基 本 性 格 先 交 代 研 究 方 法 迄 今 为 止 的 荀 学 研 究 1 大 致 存 在 两 种 研 究 框 架 第 一 种 研 究 框 架 是 理 学 研 究 的 理 论 框 架 2, 该 框 架 主 张 以 孔 孟 作 为 研

More information

untitled

untitled 8086/8088 CIP /. 2004.8 ISBN 7-03-014239-X.... TP313 CIP 2004 086019 16 100717 http://www.sciencep.com * 2004 8 2004 8 1 5 500 787 1092 1/16 16 1/2 391 000 1 2 ii 1 2 CAI CAI 3 To the teacher To the student

More information

C++ 程式設計

C++ 程式設計 C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

¬¬

¬¬ 2 年 第 9 周 2.2.2-2.2.27 26 年 第 7 周 : 受 春 节 影 响, 一 二 级 市 场 无 供 应 成 交 26 年 第 7 周 (26 年 2 月 8 日 26 年 2 月 4 日 ) 哈 尔 滨 市 无 土 地 供 应 26 年 第 7 周 (26 年 2 月 8 日 26 年 2 月 4 日 ) 哈 尔 滨 市 无 土 地 成 交 26 年 第 7 周 (26 年 2

More information