华科汇编语言程序设计实验4_第1页
华科汇编语言程序设计实验4_第2页
华科汇编语言程序设计实验4_第3页
华科汇编语言程序设计实验4_第4页
华科汇编语言程序设计实验4_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 实 验 报 告课程名称: 汇编语言程序设计实验 实验名称: 实验四 输入输出与中断处理程序设计 实验时间: 2017-4-19,14:00-17:30 实验地点: 南一楼804室74号实验台 指导教师: 班鹏新 专业班级:计算机科学与技术1503班学 号: U201514558 姓 名: 刘伟光 同组学生: 余昆 刘智博 报告日期: 2017年 4 月 19日 原创性声明  本人郑重声明:本报告的内容由本人独立完成,有关观点、方法、数据和文献等的引用已经在文中指出。除文中已经注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品或成果,不存在剽窃、抄袭行为。特此声

2、明!学生签名: 日期: 2017.4.19 成绩评定实验完成质量得分(70分)(实验步骤清晰详细深入,实验记录真实完整等)报告撰写质量得分(30分)(报告规范、完整、通顺、详实等)总成绩(100分)指导教师签字:                     日期:汇 编 语 言 程 序 设 计 实 验 报 告目录1实验目的与要求22实验内容23实验过程33.1任务133.1.1设计思想及存储单元分配3

3、3.1.2流程图33.1.3源程序33.1.4实验步骤43.1.5实验记录43.2任务263.2.1设计思想及存储单元分配63.2.2流程图63.2.3源程序63.2.4实验步骤93.2.5实验记录93.3任务3113.3.1设计思想及存储单元分配113.3.2流程图113.3.3源程序113.3.4实验步骤133.3.5实验记录133.4任务4143.4.1设计思想及存储单元分配143.4.2流程图143.4.3源程序153.4.4实验步骤223.4.5实验记录223.5任务5233.5.1设计思想及存储单元分配233.5.2流程图233.5.3源程序233.5.4实验步骤233.5.5实验

4、记录234体会26参考文献271 实验目的与要求(1) 掌握中断矢量表的概念;(2) 熟悉I/O访问,BIOS功能调用方法;(3) 掌握实方式下中断处理程序的编制与调试方法。2 实验内容任务1:用三种方式获取中断类型码16H对应的中断处理程序的入口地址。要求:首先要进入虚拟机状态,然后(1) 直接运行调试工具(TD.EXE),观察中断矢量表中的信息。(2) 编写程序,用16H功能调用方式获取(16H的使用可查阅教材附录),观察功能调用相应的出口参数与“(1)”看到的结果是否相同 (使用TD观看出口参数即可)。(3) 编写程序,直接读取相应内存单元,观察读到的数据与“(1)”看到的结果是否相同

5、(使用TD观看程序的执行结果即可)。 任务2:编写一个接管键盘中断的中断服务程序并驻留内存,要求在程序返回DOS操作系统后,键盘上的小写字母都变成了大写字母。要求:(1)在 DOS虚拟机或DOS窗口下执行程序,中断服务程序驻留内存。(2)在DOS命令行下键入小写字母,屏幕显示为大写,键入大写时不变。执行TD,在代码区输入指令“mov AX,0”看是否能发生变化。 (3)选作:另外编写一个中断服务程序的卸载程序,将键盘中断服务程序恢复到原来的状态任务3:读取CMOS内指定单元的信息,按照16进制形式显示在屏幕上。要求:(1) 先输入待读取的CMOS内部单元的地址编号(可以只处理编号小于10的地址

6、单元)。再使用IN/OUT指令,读取CMOS内的指定单元的信息。 (2) 将读取的信息用16进制的形式显示在屏幕上。若是时间信息,可以人工判断一下是否正确。3 实验过程3.1 任务13.1.1 设计思想及存储单元分配用三种方式获取中断类型码10H对应的中断处理程序的入口地址。1.直接在td中观察指定ds:58H中的值和ds:5A中的值。2.系统功能调用35H,入口参数为AL=16H,取中断信息。3.直接把主存中的DS:58H,DS:5AH赋值给寄存器BX和CX。3.1.2 流程图 无3.1.3 源程序1.程序名41.386 STACK SEGMENT USE16 STACK DB 200 DU

7、P(0)STACK ENDSCODE SEGMENT USE16 ASSUME CS:CODE START: XOR AX,AX MOV DS,AX MOV AX,3516H INT 21H MOV AH,4CH INT 21H CODE ENDSEND START 2.程序名42 .386 STACK SEGMENT USE16 STACK DB 200 DUP(0)STACK ENDSCODE SEGMENT USE16 ASSUME CS:CODE, SS:STACKSTART: XOR AX,AX MOV DS,AX XOR BX,BX XOR CX,CX MOV BX,DS:58H

8、MOV CX,DS:5aH MOV AH,4CH INT 21H CODE ENDS END START3.1.4 实验步骤1.直接运行td,直接计算16h所调用的中断矢量表的位置的段首址和偏移地址,分别是58h和5Ah。在数据段中输入ds:58h,观察其值。2.将程序41编译、链接,调试直到没有错误。运行td 41,在td中单步调试,观察es与bx的改变情况;3.将程序42编译、链接,调试直到没有错误。运行td 42,在td中单步调试,观察寄存器的值。4.总结计算中断指令表的规律和总结错误。3.1.5 实验记录1.实验环境条件: 16M内存;WINDOWS XP命令行窗口;EDIT.EXE

9、2.0;MASM.EXE 6.0; LINK.EXE 5.2; TD.EXE 5.0。 2.方法一,直接观察ds段,可以观察到从0:40h开始低2个字节为11E0,高2个字节为F000;观察如图3.1.1所示。图3.1.1 直接观察td中的主存3.方法二,调用35号系统功能,在TD内观察到es为11E0,bx为11E0;观察如图3.1.2所示。图3.1.2 调用35号功能观察分析:可以直接调用35号调用来获取中断入口地址。4.方法三,将0:40h开始的低2个字节移至bx,高2个字节移至cx,得到cx为F000,bx为11E0;观察如图3.1.3所示。图3.1.3 通过寄存器观察中断矢量表5.比

10、较上述三种方法得到的结果,发现它们一致,说明以上方法实施得到的结果准确无误。6.(思考题)总结分析:在计算中断矢量表位置时,计算第n个中断指令可用ds:n*4和ds:n*4+2分别得到其位置,值得注意的是在TD中使用的是16进制,需要做一些适量转化.。在这次中总结错误为,如果汇编代码没有执行语句MOV DS,AX的话,其内存中保存的值不会是中断矢量表。错误如图3.1.4所示:图3.1.4 没有执行MOV DS,AX的主存3.2 任务23.2.1 设计思想及存储单元分配设计思想:修改键盘驱动中断程序(int 16h),将中断矢量表0:58h开始的4个字节修改为新的中断程序的偏移地址和段首址,并保

11、存号旧的键盘驱动中断程序的偏移地址和段首址。在新的中断程序中,先判断用户调用的是否为键盘驱动中断程序的读入键盘功能,若不是,则直接调用旧的键盘驱动中断程序;若是,则对输入进行处理。实际上我们改变出口参数中AL的值即是键入字符的ASCII码即可实现。3.2.2 流程图任务2流程图如图3.2.1所示。图3.2.1任务2流程图3.2.3 源程序程序名43 接管中断程序.386DATA SEGMENT USE16DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,SS:STACKOLD_INT DW ?,?NEW16H:CMP AH,00H JE ATB CMP AH

12、,10H JE ATB JMP DWORD PTR OLD_INTATB: PUSHF CALL DWORD PTR OLD_INT CMP AL,97 ;比较输入的ascii码 JAE NEXT1 JMP QUITNEXT1: CMP AL,122 JBE TOBIG JMP QUITTOBIG: sub AL,32QUIT: IRET START: XOR AX,AX MOV DS,AX MOV AX,DS:16H*4 MOV OLD_INT,AX ;保存偏移部分 MOV AX,DS:16H*4+2 MOV OLD_INT+2,AX ;保存段值 CLI MOV WORD PTR DS:16

13、H*4,OFFSET NEW16H MOV DS:16H*4+2,CS STI MOV DX,OFFSET START+15 SHR DX,4 ADD DX,10H MOV AL,0 MOV AH,31H INT 21HCODE ENDSSTACK SEGMENT USE16 STACK DB 200 DUP(0)STACK ENDS END START程序名44卸载中断指令.386DATA SEGMENT USE16DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,SS:STACKOLD_INT DW ?,?NEW16H:CMP AH,00H JE ATB

14、 CMP AH,10H JE ATB JMP DWORD PTR OLD_INTATB: PUSHF CALL DWORD PTR OLD_INT CMP AL,97 ;比较输入的ascii码 JAE NEXT1 JMP QUITNEXT1: CMP AL,122 JBE TOBIG JMP QUITTOBIG: sub AL,32QUIT: IRET START: XOR AX,AX MOV DS,AX MOV AX,DS:16H*4 MOV OLD_INT,AX ;保存偏移部分 MOV AX,DS:16H*4+2 MOV OLD_INT+2,AX ;保存段值 CLI MOV WORD PT

15、R DS:16H*4,11E0H MOV WORD PTR DS:16H*4+2,F000H STI MOV DX,OFFSET START+15 SHR DX,4 ADD DX,10H MOV AL,0 MOV AH,31H INT 21HCODE ENDSSTACK SEGMENT USE16 STACK DB 200 DUP(0)STACK ENDS END START3.2.4 实验步骤1.编译,链接。2. 观察提示信息,若出错,则用编辑程序修改错误,修改后再重新编译。3. 在键盘键入小写字母和大写字母,用空格符号分开,观察输出。4. (思考题)在DOS命令行下键入小写字母,屏幕显示为

16、大写,键入大写时不变。执行TD,在代码区输入指令“mov AX,0”看是否能发生变化。5. (思考题)编写中断服务程序的终止程序,并做观察。6. (思考题)同时打开另外一个虚拟DOS窗口,键盘大小写是否被替代。3.2.5 实验记录1.实验环境条件:16M内存;WINDOWS XP命令行窗口;EDIT.EXE 2.0;MASM.EXE 6.0; LINK.EXE 5.2; TD.EXE 5.0。 2. 在键盘键入小写字母和大写字母,用空格符号分开,观察输出当输入小写的abyz加空格和大写的ABYZ,输出如图3.2.2所示:图3.2.2执行程序后的输入显示3.(思考题)通过编写代码发现,将旧的中断

17、程序的偏移地址与首地址保存下来后,可有有两种方式调用旧的中断程序: Jmp dword ptr old_int;Call dword ptr old_int; 前一种方式,可直接结束新的(不返回至)中断程序;后一种方式,可返回至新的中断程序。4.(可选题)运行卸载程序,观察卸载结果,先运行43程序,再运行44程序。输出如图3.2.3所示:图3.2.3运行卸载程序之后观察大小写5. (思考题)在DOS命令行下键入小写字母,屏幕显示为大写,键入大写时不变。执行TD,在代码区输入指令“mov AX,0”,观察其变化。显示如图3.2.4所示:图3.2.3运行新的中断程序后再td中输入“mov AX,0

18、”分析:在DOS虚拟机上运行了改变为新的中断处理程序,在DOS中将小写变为了大写,但是运行了TD,在TD中写语句小写并没有变成大写,可见中断处理程序的影响范围是有限的。6. (思考题)同时打开另外一个虚拟DOS窗口,观察键盘大小写是否被替代。图3.2.4观察键盘大小写是否被替代由观察可知在新的DOS窗口中,其大小写没有改变。7.错误总结一:在卸载程序时写了一句MOV WORD PTR DS:16H*4+2,F000H,但是编译器给报出错误,分析原因后,是因为以F开头编译器会将其视为变量的名字,所以报出错误,解决方案是在其前面加0。显示的错误如图3.2.5图3.2.5将F000H赋予寄存器值时发

19、生错误3.3 任务33.3.1 设计思想及存储单元分配1号系统功能调用读入字符,将用户输入转化为数字,作为信息的偏移地址。然后调用in 指令,从指定端口取出数据即可。3.3.2 流程图任务三流程图如图3.3.1所示。图3.3.1任务三流程图 3.3.3 源程序程序名47.386STACK SEGMENT USE16 STACKDB 200 DUP(0)STACK ENDSCODE SEGMENT USE16ASSUME SS:STACK,CS:CODESTART:MOV AX,0MOV DS,AXloop1:MOV AH,1;输入读入INT 21HCMP AL,'a'JE QU

20、ITSUB AL,30H;字符转化为十进制OUT 70H,ALIN AL,71HMOV AH,ALAND AL,0FHSHR AH,4ADD AX,3030HMOV BX,AXmov dl, 0ah mov ah, 2int 21hmov dl, 0dhmov ah, 2int 21hMOV DL,BHMOV AH,2INT 21HMOV DL,BLMOV AH,2INT 21Hmov dl, 0ah ;输出回车换行mov ah, 2int 21hsub bx,3030Hmov al,bhmov cl,10mul cladd al,blmov ah,0mov cl,16div clmov bh

21、,almov bl,ahadd bx,3030hcmp bl,3ahjae moreput:MOV DL,BHMOV AH,2INT 21HMOV DL,BLMOV AH,2INT 21HMOV DL,'H'MOV AH,2INT 21Hmov dl, 0ah mov ah, 2int 21hmov dl, 0dhmov ah, 2int 21hjmp loop1more:add bl,7jmp putquit:MOV AH,4CHINT 21HCODE ENDSEND START3.3.4 实验步骤1. 录入源程序renwu64,编译,链接。2. 执行该程序,09,然后观察屏

22、幕输出信息,验证是否正确。3.3.5 实验记录1.实验环境条件:16M内存;WINDOWS XP命令行窗口;EDIT.EXE 2.0;MASM.EXE 6.0; LINK.EXE 5.2; TD.EXE 5.0。2.取出的信息按照BCD编码进行压缩,分为两部分,分别存储在AL,AH。比如说当前小时信息是19,则1存储在AH,为0x01,9存储在AL,为0x09。3.执行程序发现有时输出0x0,屏幕上一次输出当前的时间信息,包括年、月、日、星期、小时、分钟、秒。图3.3.2任务三运行结果运行结果与实际时间相符。3.4 任务43.4.1 设计思想及存储单元分配在这次的实验当中,我将BUF当做学生信

23、息表,其中每个字节的信息都和密码做循环亦或,input作为输入姓名的输入缓冲区,PWD做密码对比,IN_PWD用作密码的输入缓冲区。其中密码的加密是减去29h再乘以3。为了避免跟踪措施,采用了计时反跟踪和中断矢量表修改的两种反跟踪措施。将一号中断指令和3号中断指令的地址更改,使其无法进行单步调试,之后还有计时工具来避免反跟踪。3.4.2 流程图任务四流程图如图3.4.1所示。图3.4.1任务四流程图 3.4.3 源程序程序名422.386stack segment use16 stackdb 200 dup(0)stack endsdata segment use16N EQU 4BUF DB

24、 'z' XOR 'L','h'XOR 'i','a'XOR 'u','o'XOR 'L',6 DUP(0)DB 80 XOR 'L' , 100 XOR 'i', 70 XOR 'u',?DB 'l' XOR 'L','i'XOR 'i','s'XOR 'u','i'XOR 'L',6 DUP

25、(0)DB 50 XOR 'L', 40 XOR 'i', 40 XOR 'u',? DB 'g' XOR 'L','u'XOR 'i','a'XOR 'u','n'XOR 'L','g'XOR 'i',5 DUP(0)DB 85 XOR 'L', 85 XOR 'i', 100 XOR 'u', ?INPUT DB 10DB ?DB 10

26、DUP(0)POIN DW 0CRLF DB 0dh,0ah,'$'FUN1 DB 'Please input the name:$'faild DB 'The student is not exist.','$'succ DB 'find wanted student.$'FUN3 DB 'the average score is :$'FUN4 DB 'the score level is :$'QUIT DB 'quit the program$'q DW 0B

27、1 DB2STRI DW 0,'$'MIMA1 DB 'Please input the password:',0ah,0dh,'$'w dw 0PWD DB 3 XOR 'C' ;密码串的长度为3,采用与常数43H异或的方式编码成密文 DB ('L' -29H)*3 ;真实密码为Bat。采用函数(X-29H)*3对保存的密码进行编码。 DB ('i' -29H)*3 DB ('u' -29H)*3 DB ('L' -29H)*3 DB ('i' -2

28、9H)*3 DB ('u' -29H)*3 DB 0A1H,5FH,0D3H ;用随机数填充密码区到6个字符,防止破解者猜到密码长度;IN_PWD DB 7 ;使用者输入的密码区,最大长度6个字符 DB ? DB 7 DUP(0)OLDINT1 DW 0,0 ;1号中断的原中断矢量(用于中断矢量表反跟踪)OLDINT3 DW 0,0 ;3号中断的原中断矢量data endscode segment use16assume cs:code,ds:data,ss:stackstart: mov ax,datamov ds,axxor ax,ax ;接管调试用中断,中断矢量表反跟踪

29、mov es,ax mov ax,es:1*4 ;保存原1号和3号中断矢量 mov OLDINT1,ax mov ax,es:1*4+2 mov OLDINT1+2,ax mov ax,es:3*4 mov OLDINT3,ax mov ax,es:3*4+2 mov OLDINT3+2,ax cli ;设置新的中断矢量 mov ax,OFFSET NEWINT mov es:1*4,ax mov es:1*4+2,cs mov es:3*4,ax mov es:3*4+2,cs stilea dx,MIMA1;输出提示信息mov ah,9int 21hLEA DX,IN_PWD ;输入密码字

30、符串 MOV AH,10 INT 21H lea dx,CRLF;输出回车换行mov ah,9int 21hcli ;计时反跟踪开始 mov ah,2ch int 21h push dx ;保存获取的秒和百分秒 mov ah,2ch ;获取第二次秒与百分秒 int 21h sti cmp dx,esp ;计时是否相同 pop dx jz PASS1 ;如果计时相同,通过本次计时反跟踪 jmp quit1PASS1: MOVZX CX,IN_PWD+1 MOV SI,0 MOV DL,3 PASS2: MOVZX AX,IN_PWD+2SI ;比较密码是否相同。把输入的串变成密文,与保存的密文比

31、较 SUB AX,29H MUL DL CMP AL,PWD+1SI JNZ ERR2 INC SI LOOP PASS2 JMP start1ERR2: mov ebx,OFFSET quit1 ;当密码不等时,通过地址表计算出OVER(退出)的位置 jmp word ptr ebx ;指向OVERstart1:mov sp,0lea dx,FUN1;输出提示信息mov ah,9int 21hlea dx,INPUT ;输入学生姓名mov ah,10int 21hlea dx,CRLF;输出回车换行mov ah,9int 21hlea bp,offset INPUT add bp,2mov

32、dl,ds: byte ptr bp-1cmp ds: byte ptr bp-1,0jestart1cmp ds: byte ptr bp-1,1je judgecmp ds: byte ptr bp-1,1jmp searchjudge: cmp ds:byte ptr bp,byte ptr 'q'je quit1cmp ds:byte ptr bp,byte ptr 'Q'je quit1search: mov bp,2mov si,0mov bx,0movzx ax,dlmov di,0movzx di,dladd di,offset INPUTadd

33、 di,2mov byte ptr ds:di,byte ptr 0loop1:cmp bx,42je failmov dl,0cmp dl,byte ptr BUFbxsije avemov dh,byte ptr BUFbxsiXOR dh,IN_PWD2+sicmp dh,byte ptr INPUTbpsijne add1add si,1cmp si,axje avejmp loop1add1: add bx,14mov si,0jmp loop1fail:lea dx,faild ;输出提示信息mov ah,9int 21hlea dx,CRLF;输出回车换行mov ah,9int

34、21hjmp start1ave :MOV POIN,WORD PTR BXlea dx,succ;输出提示信息mov ah,9int 21hmov ax,0mov dx,0mov bp,offset BUFadd bp,bxadd bp,10add al,byte ptr ds:bpmov si,0XOR al,IN_PWD2+simul B1INC SImov dl,ds:bp+1XOR dl,IN_PWD3+siadd ax,dxmov dl,ds:bp+2XOR dl,IN_PWD4+sisar dl,1add ax,dxcwdmov cx,7idiv cxsal ax,1mov bp

35、+3,axmov ah,1int 21hPRI :CMPBYTE PTR BP+3,90JGESHOWACMPBYTE PTR BP+3,80JGESHOWBCMPBYTE PTR BP+3,70JGESHOWCCMPBYTE PTR BP+3,60JGESHOWDJMPSHOWFSHOWA:MOVDL,41HMOVAH,2INT 21Hlea dx,CRLF;输出回车换行mov ah,9int 21hJMPstart1SHOWB:MOVDL,42HMOVAH,2INT 21Hlea dx,CRLF;输出回车换行mov ah,9int 21hJMPstart1SHOWC:MOVDL,43HMO

36、VAH,2INT 21Hlea dx,CRLF;输出回车换行mov ah,9int 21hJMPstart1SHOWD:MOVDL,44HMOVAH,2INT 21Hlea dx,CRLF;输出回车换行mov ah,9int 21hJMPstart1SHOWF:MOVDL,46HMOVAH,2INT 21Hlea dx,CRLF;输出回车换行mov ah,9int 21hJMPstart1NEWINT:iretquit1 : lea dx,QUIT;输出提示信息mov ah,9int 21hlea dx,CRLF;输出回车换行mov ah,4chint 21hcode endsend star

37、t3.4.4 实验步骤1. 录入源程序47,编译,链接。2. 运行程序,测试程序功能。3.使用TD反汇编程序,测试反跟踪是否成功。4.分析思考题。3.4.5 实验记录1.实验环境条件:16M内存;WINDOWS XP命令行窗口;EDIT.EXE 2.0;MASM.EXE 6.0; LINK.EXE 5.2; TD.EXE 5.0。2.运行程序,输入正确密码,再输入姓名,观察其是否正确。观察如图3.4.2.图3.4.2正常运行程序3. 运行程序,输入错误密码,观察到程序退出,没法进行下一步操作,结果如图3.4.3所示。图3.4.3任务三运行结果4.反汇编程序,试探是否能对其进行跟踪,跟踪如图3.

38、4.4所示。图3.4.4跟踪程序失败分析:当程序进行单步调试时,执行到修改中断矢量表的时候发生错误,说明反跟踪措施成功。5.(思考题1)若密码是用明文存放在数据段中的,如何更快地获取密码?分析:若是直接用明文存放,用TD将目标程序反汇编,可直接观察主存来获取信息,再通过结合反汇编代码所使用的主存地址来找到存放学生信息的数据区。6.(思考题2)若学生姓名和成绩是用明文存放在数据段中的,如何更快地获取成绩?分析:除了用调试工具在内存中去看,还可以将执行程序文件用二进制编辑工具打开,直接在文件里寻找所定义的学生姓名及其成绩。7. (思考题3) 如何对密码实现快速的暴力破解?分析:可以设计一个脚本,将

39、可输入的字符从数量上从1到16,所有可能的取值都输入到程序中,使用穷举的方法来试探所有的密码,直到密码试探成功。3.5 任务53.5.1 设计思想及存储单元分配尽量观察出对方反汇编的代码中反跟踪的部分,并使用指定新的IP地址来跳过对方的反跟踪措施。3.5.2 流程图无3.5.3 源程序无3.5.4 实验步骤1. 反汇编目标程序2.将目标程序使用TD进行反汇编,观察其反汇编代码。3.通过设置断点和使用改变IP的方法来绕过对方的反跟踪模块。4.通过观察反汇编语句来找到信息表在主存中的位置,并通过解译来得到自己想要的信息。 5.(思考题5)总结如何观察到程序中存在反跟踪的代码和如何应对。3.5.5

40、实验记录1.实验环境条件:16M内存;WINDOWS XP命令行窗口;EDIT.EXE 2.0;MASM.EXE 6.0; LINK.EXE 5.2; TD.EXE 5.0。2.将目标程序使用TD进行反汇编,观察其反汇编代码。如图3.5.1所示。图3.5.1使用td对目标程序进行反汇编3.观察到对方的中断矢量表的反跟踪模块,通过设置断点和使用改变IP的方法来绕过对方的反跟踪模块。如图3.5.2所示。图3.5.2观察到对方的中断矢量表的反跟踪模块4. 观察到对方的计时的反跟踪模块,通过设置断点方法来绕过对方的反跟踪模块。如图3.5.3所示。图3.5.3观察到对方的计时的反跟踪模块5.找到对方的加密方式,并获得主存中信息表的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论