




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理软件实验报告 微机原理软件实验报告 班级: 姓名: 学 号: 班内序号: 日期: 实验B 分支,循环程序设计实验报告1. 实验目的: 开始独立进行汇编语言程序设计;; 掌握基本分支,循环程序设计;;掌握 DOS调用.2. 实验内容: 安排一个数据区,内存有若干个正数,负数和零.每类数的个数都不超过9; .编写一个程序统数据区中正数,负数和零的个数;.将统计结果在屏幕上显示.统计出正奇数,正偶数,负奇数,负偶数以及零的个数.。 三.预习题: 1、十进制数 0 - 9 所对应的 ASCII 码是什么? 答:30H,31H,32H,33H,34H,35H,36H,37H,38H,39H 2、如何将十进制数 0 - 9 在屏幕上显示出来?答:转化为ASCII码,然后: MOV AH,02H MOV DL,Y INT 21H3、如何检验一个数为正,为负或为零? 你能举出多少种不同的方法?答:和零作比较,判断是否为零,CMP NUM ,00H ; AND NUM, 00H; 判正:AND NUM,80H ; OR NUM ,7FH; SUB NUM,00H; SHL NUM,1;判负:AND NUM,80H ; OR NUM,7fh ; SUB NUM,00H ; SHL NUM,1;四、实验过程(一)、流程图开始 宏定义 从数据区读入数字零计数器数加1 判零操作 是 判断负数 否负数计数器加1正数计数器加1 是 否是否为偶数是否为奇数 否 是 否正奇计数器加1正偶计数器加1负奇计数器加1负偶计数器加1 数据读完 是 否 是 显示结束 (二)、源代码SHOW MACRO X ;宏定义 用于显示提示语句 MOV AH,09H MOV DX, OFFSET X INT 21H ENDM SHOW1 MACRO Y ;宏定义 用于显示数值 MOV AH,02H MOV DL,Y INT 21H ENDM DAT SEGMENT A DB 1,16,70,-1,-2,1,0,-2,0,-2,9 S EQU $-A ;待分类的数 PLUS DB ? ;存储正数 MINUS DB ? ;存储负数 LING DB ? ;存储零 EVE DB 0 ;存负偶数 ODD DB 0 ;存负奇数 ZEVE DB 0 ;存正偶数 ZODD DB 0 ;存正奇数 STRING DB THE NUMBER OF POSITIVE NUMBERS IS , $ STRINM DB 0DH,0AH,THE NUMBER OF NEGATIVE NUMBERS IS , $ STRINN DB 0DH,0AH,THE NUMBER OF ZERO IS , $ STRING1 DB 0DH,0AH,THE NUMBER OF POSITIVE ODD NUMBERS IS , $ STRING2 DB 0DH,0AH,THE NUMBER OF POSITIVE EVEN NUMBERS IS , $ STRING3 DB 0DH,0AH,THE NUMBER OF NEGATIVE ODD NUMBERS IS , $ STRING4 DB 0DH,0AH,THE NUMBER OF NEGATIVE EVEN NUMBERS IS , $ DAT ENDS STA SEGMENT STACK DW 50 DUP(?) STA ENDS COD SEGMENT ASSUME CS:COD,DS:DAT,SS:STA STAR PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DAT MOV DS,AX MOV AX,STA MOV SS,AX MOV CX,S LEA BX,A CON: MOV AL,BYTE PTRBX OR AL,AL JZ ZERO ;判断是零 JS FU ;判断是负数 JMP ZHENG ;判断是正数 ZERO: INC LING ;零个数自加 JMP DONE FU: INC MINUS ;负数个数自加 AND AL,01H JZ OU ;判断是负偶数 INC ODD ;判断是负奇数,负奇数个数自加 JMP DONE OU: INC EVE ;负偶数个数自加 JMP DONE ZHENG: INC PLUS ;正数个数自加 AND AL,01H JZ ZOU ;判断是正偶数 INC ZODD ;正奇数个数自加 JMP DONE ZOU: INC ZEVE ;正偶数个数自加 JMP DONE DONE: INC BX ;指向下一个内存数 LOOP CON ADD LING,30H ;转换为ASCII码 ADD MINUS,30H ADD PLUS,30H ADD ODD,30H ADD EVE,30H ADD ZODD,30H ADD ZEVE,30H SHOW STRING ; 提示语句 SHOW1 PLUS ;大于0的数 SHOW STRINN ;提示语句 SHOW1 LING ; 等于0的数 SHOW STRINM ;提示语句 SHOW1 MINUS ;小于0的数 SHOW STRING1 ;提示语句 SHOW1 ZODD ;正奇数个数数 SHOW STRING2 ;提示语句 SHOW1 ZEVE ;正偶数个数 SHOW STRING3 ;提示语句 SHOW1 ODD ;负奇数个数 SHOW STRING4 ;提示语句 SHOW1 EVE ;负偶数个数 RET STAR ENDP CODE ENDS END STAR(三)、实验分析数据区待统计的数据为: 1,16,70,-1,-2,1,0,-2,0,-2,9 实验结果如下图所示。 (四)、实验总结、建议要求、心得体会 实验总结: 同一个功能,尽量尝试用不同的方法实现,随着方法的深入了解,实现细节的掌 握,对底层的了解就会了解的更深更广泛一点。 程序,尽量要自己写,不可否认的是,汇编的学习比起高级语言的学习来,更为晦涩难懂,借鉴代码的时候,要学会先分析别人的思路,学着画出其流程图,和自己的流程图相比较,了解各自的长处,在进行借鉴,这样会学到更多。 注释必须清晰明了,宁可多写一些字,不然再次看的时候又不懂了。 另外对寄存器的操作要格外小心,要尽力避免犯低级错误;对DS的引用要和AX结合起来,也难怪期中考的不好。可以发现,前面CPU寄存器的那一个环节基础没有扎实。 计数的时候,计算错了,出了点问题,是赋错了值。 建议要求: 对自己的要求,做事情要有一个清晰的打算,这样落实的时候,就显得比较容易,即使要调整思路也比较容易。这也就是流程图的好处吧。 心得体会: 这次汇编编程操作弄得鸡飞狗跳的,因为可以说是第一次利用底层的语言来编程,虽然流程图基本画出来了,但是毕竟还是不会写,就先啃别人的代码,啃的很困难啊,还好坚持下来了,可能比起别人,这算不了什么,但是对于我来说,真的是一大进步,一下子明白了,汇编和高级语言的不同。中间出了几个错误,自己弄不好,郁闷的很,只好请教同学,还好最后都弄好了。都是基础不扎实的缘故,看来好好扎实基础是关键。 对于代码的调试,老师之前讲过,跟着联系过,所以就比较顺利。 实验C 代码转换程序设计一、实验目的掌握几种最基本的代码转换方法;运用子程序进行程序设计。二、实验内容从键盘上输入若干两位十进制数,寻找其中的最小值,然后在屏幕上显示出来;两个十进制数之间的分隔符,输入结束标志自定,但要在报告中说明;对输入要有检错措施,以防止非法字符输入,并有适当的提示;将整个程序分解为若干模块,分别用子程序实现。在报告中要给出模块层次图。三、预习思考1.如何将输入的两个字符(09)变为十进制或二进制数? 答:输入的字符以后,09是ASCII码,分别是30H39H,那就是说减去30H就行了。2.如何将选出的最小值(二进制或十进制)变为 ASCII 码再进行显示? 答:读入并存储数字的ASCII码,比较其大小,输出ASCII码。3. 你觉得采用二进制运算还是十进制运算更适合于这个实验?答:直接比较ASCII,先比较十位,十位数大的数字大,十位相同的时候,比较个位数,个位数大的则大。如果十位和个位都相同,两数就相同。四、实验过程(一)流程图 开始 读入数字 校对输入数据 错误 最小数字初始化 比较第N个数与当 前最小数的十位 N=N+1第N个数就是最小的数字 小于比较当前数与第N数的个位数 大于或等于 小于 输出最小的数全数比较结束 大于或等于 否 是 结束(二)源代码DATA SEGMENTINPUT DB 100 DUP(?)MINTMP DB 9-30H,9-30H ; 最小值初始化COUNT DB 0DIFERROR DB 0D; 判断输入是否有错;提示信息字符串WELCOME DB Please input numbers:,$OUTTIP DB Minimum is :,$CR DB 0DH,0AH,$; ;错误输入 ERROR1 DB ERROR:Character is not valid!,$ ERROR2 DB ERROR:Number must contains two digits!,$ ERROR3 DB ERROR:Number is empty!,$ ERROR4 DB ERROR:Need separate char!,$DATA ENDS;-CODE SEGMENT ASSUME CS:CODE,DS:DATAMAIN PROC FAR MOV AX,DATA MOV DS,AX MOV DX,OFFSET WELCOME; 调用欢迎提示 CALL PRINT MOV DX,OFFSET CR; CALL PRINT CALL GETNUM; 获取用户输入 CMP IFERROR,0; 判断输入过程是否有错 JNZ BACK; 错误返回DOS MOV DX,OFFSET CR; 回车换行 CALL PRINT CALL FINDMIN; 查找最小数 MOV DX,OFFSET OUTTIP; 调用输出提示 CALL PRINT MOV AH,02H MOV DL,MINTMP; 输出最小值的十位 ADD DL,30H INT 21H MOV AH,02H MOV DL,MINTMP1; 输出最小值的个位 ADD DL,30H INT 21H BACK: MOV AX,4C00H; 返回DOS INT 21HMAIN ENDP;-;获取输入,出口参数为IFERROR,表示是否有错GETNUM PROC PUSH AX; 保存现场 PUSH BX PUSH CX PUSH DX PUSH DI MOV DI,0; 数组偏移地址 MOV CX,0; 标识数字的位数GETLOOP: MOV AH,01H; 从键盘读取一个字符 INT 21H CMP AL,0DH; 和回车比较 JE EXIT1; 是回车则结束输入 CMP CX,0; 数字位数为空 JE CMPSPACE0 CMP CX,1; 数字位数为1 JE CMPSPACE1 CMP CX,2; 数字位数为2 JE CMPSPACE2CMPSPACE0: CMP AL,20H JE GETLOOP; 数字位数为0且输入空格则忽略,继续输入 JMP ASCBIN; 不是空格就读取该字符CMPSPACE1: CMP AL,20H JE ERR2; 数字位数为1且输入空格则位数不是两位数出错 JMP ASCBIN; 否则读取该字符CMPSPACE2: CMP AL,20H JNE ERR4; 数字位数为2后,不输入空格则分隔符错误 XOR CX,CX; 输入空格则清零重新计数 JMP GETLOOP ASCBIN: SUB AL,30H; 化为二进制数字 JL ERR1; 小于则无效字符 CMP AL,9; 和9比较 JG ERR1; 大于9则是无效字符 MOV INPUTDI,AL; 保存输入的数 INC COUNT; 统计输入的数字个数,为判断是否输入为两位数 INC DI; 向后移动数组 INC CX JMP GETLOOPERR1: MOV IFERROR,1; 输出错误1 MOV DX,OFFSET ERROR1 CALL PRINT JMP RETURNERR2: MOV IFERROR,1; 输出错误2 MOV DX,OFFSET ERROR2 CALL PRINT JMP RETURN ERR3: MOV IFERROR,1; 输出错误3 MOV DX,OFFSET ERROR3 CALL PRINT JMP RETURN ERR4: MOV IFERROR,1; 输出错误4 MOV DX,OFFSET ERROR4 CALL PRINT JMP RETURN EXIT1: MOV BL,COUNT; 判断输入数的个数是否为零 CMP BL,0 JE ERR3;输入数目为0则输出错误并退出 AND BL,01H; 判断数字是否为两位数 CMP BL,0 JNE ERR2;输入数字个数为奇数则出错RETURN: POP DI; 恢复现场 POP DX POP CX POP BX POP AX RETGETNUM ENDP;-;回车换行输出字符串,入口参数为DXPRINT PROC PUSH AX MOV AH,09H INT 21H POP AX RETPRINT ENDP;-;查找最小的数子程序FINDMIN PROC PUSH DI; 保护现场 PUSH AX PUSH CX MOV DI,-2; 数组下标 MOV CL,COUNT; 把数组长度移入CX MOV AL,CL CBW MOV CX,AXLOP: ADD DI,2 CMP CX,DI; 是否已经比较完毕 JE EXIT2; 如果比较完毕所有数则退出 MOV AH,INPUTDI;否则接着比较,移入十位数 MOV AL,INPUTDI+1; 移入个位数 CMP AH,MINTMP; 比较十位数,MINTMP低地址为十位 JA LOP ;如果MINTMP小,则直接比较下一个数 JE HIGHEQU ;如果十位数相等,比较个位数,再否则十位大就直接存储STOMIN: MOV MINTMP,AH MOV MINTMP1,AL JMP LOPHIGHEQU: CMP AL,MINTMP1; 比较个位数 JNB LOP; 个位数比MINTMP大则跳到下一个数 JMP STOMIN; 否则将当前数写入为MINTMPEXIT2: POP CX POP AX POP DI RETFINDMIN ENDP;-CODE ENDS END MAIN(三)实验结果空格为分隔符,回车是输入结束符。数字小于10,需要补齐零。5、 实验总结 总结:在设计判断数字大小的问题上,遇到了点麻烦,原来想比较其二进制的大小,但是问题是,这样一位一位的比较,是很麻烦的事情。最后直接比较权位的数值的大小了,这样比较了最高位之后,就已经可能比较出大小,这样节省时间。心得体会: 越来越发现汇编语言的复杂行,习惯了利用高级语言编程,本来很简单的一个操作会在汇编下就变得更难解决,而这些语言本身在执行和操作的过程中,所用的时间很多,而写高级所用的时间却很少。让人不由的对高级语言产生一种亲切感。 汇编语言到是促进了人机交互的这件事情。但是,如果在写高级语言的时候,能够将高级语言的主要部分反汇编出来,看懂看明白,搞清楚寄存器的调用,着重了解堆栈的应用,这样,才能对程序的运行状态有更深的了解。 实验D 子程序设计一、实验目的1. 进一步掌握子程序设计方法;2. 进一步掌握基本的 DOS 功能调用。二、实验内容1. 从键盘上输入某班学生的某科目成绩。输入按学生的学号由小到大的顺序输入。2. 统计检查每个学生的名次。3. 将统计结果在屏幕上显示。4. 为便于观察,输入学生数目不宜太多,以不超过一屏为宜。输出应便于阅读.尽可能考虑美观。5. 输入要有检错手段。三、预习思考1. 如何确定一个学生在这门科目中的名次?答:将学生的成绩以数组的形式存储,得到成绩在内存的偏移量,比较各个偏移量所在的区域的成绩的大小,冒泡排序(正好是书上讲过的)。2. 输入结束后,采用什么方法进行比较以得到学生的名次最为简单?答:冒泡排序,这样节省时间和内存,消耗小。3. 给出输出显示的形式。答:表格形式,学号、分数、名次排列。四、实验过程 开始(一)流程图 输入人数 否 无异常输入数据并检查 输入学号 是输入成绩 得到成绩内存偏移量 成绩排序排序完成? 否 打印成绩学号 是 结束(二)源代码DATA SEGMENTID DB 400 DUP(?);存储学号,每个16固定个BYTE,存储为字符串MARK DB 20 DUP(?); 存储分数,每个1BYTE,存储为二进制数RANK DB 20 DUP(?); 存储排名,每个1BYTE,存储为二进制数RANKTMP DB 20 DUP(?); 排序时指针临时区MTMP DB ?; 记录成绩的临时区COUNTB DB ?; 记录总的学生的个数,存为8位COUNTW DW ?; 记录总的学生个数,存为16位CHEOK DB ?; 输入检查标志位ERROR DB ?; 记录错误号TMP DB 2 DUP(?); 开辟两个内存临时存储区,用作判断和计数CR DB 0DH,0AH,$; 回车换行TAB DB 09H,09H,$;输出TAB键ERR0 DB Input cannot be empty!,$ERR2 DB Character is invalid!,$ERR4 DB Mark is invalid!,$ERR6 DB Input is invalid!,$ERRLIST DW ERR0,ERR2,ERR4,ERR6TIP0 DB Please re-input:,$TIP1 DB Please input number of students:,$TIP2 DB Please input ID and MARK:,$PRTIP DB -RESULT-,$PRINFO DB ID,09H,09H,MARK,09H,09H,RANK,$PRPRE1 DB ID : ,$PRPRE2 DB MARK: ,$BUFF DB 16; 定义输入缓冲区,最长的字符长度PRES DB ?; 存储实际输入了多少个字符CHAR DB 16 DUP(?); 实际可存储有效字符16个DATA ENDSCODE SEGMENT;-;打印提示字信息的宏,形参为PARAPRINTTIP MACRO PARAPUSH AXPUSH DXMOV AH,09HMOV DX,OFFSET PARAINT 21HPOP DXPOP AXENDM;-;打印单个字符的宏,形参为ACHARPRINTCHAR MACRO ACHARPUSH AXPUSH DXMOV AH,02HMOV DL,ACHARINT 21HPOP DXPOP AXENDM;-;主程序MAIN PROC FAR ASSUME CS:CODE,DS:DATA,ES:DATA MOV AX,DATA MOV DS,AX MOV ES,AX CALL GETNUMBER; 获得学生的人数 CALL GETINFO; 获得学号分数的输入 CALL SORT; 执行排序活动名次 CALL PRINT; 把名次结果打印出来BACK:MOV AX,4C00H; 返回DOS INT 21HMAIN ENDP;-;获得将要输入的学生的人数信息的子程序;每班的学生定义不超过100人GETNUMBER PROC NEARPUSH AXPUSH BXHE:PRINTTIP TIP1GREP: CALL GETIN; 获取一个输入缓冲MOV CHEOK,0CALL CHECKCMP CHEOK,0JE GRETURNMOV ERROR,6CALL PRINTERRPRINTTIP TIP0 PRINTTIP CRJMP GREPERRHERE: PRINTTIP CRMOV ERROR,6CALL PRINTERRPRINTTIP TIP0JMP GREP GRETURN: CALL CHANGEMOV AL,MTMPCMP AL,0JE ERRHEREMOV COUNTB,AL; 写入人数CBWMOV COUNTW,AXPRINTTIP CRPOP BXPOP AXRETGETNUMBER ENDP;-;循环直到输入人数满时终止,获得输入的字符串GETINFO PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXPUSH SIPUSH DIPRINTTIP TIP2MOV TMP,0; 记录是学号还是分数XOR BX,BX; 记录每个ID的偏移量XOR AX,AX; 记录学生数目MORE:PRINTTIP CRCMP COUNTB,AL JNZ HERE1 JMPRETURN; 计数器为0则返回父程序HERE1: CMP TMP,0JE PR1CMP TMP,1JE PR2PR1:PRINTTIP PRPRE1JMP HERE2PR2:PRINTTIP PRPRE2HERE2:CALL GETIN; 否则接受输入CALL CHECK; 检查输入是否是数字且不为空CMP CHEOK,0JNE CHEFAIL; 不为零则不合法,需要重新输入CMP TMP,0JE ISID ; 输入的是学号CMP TMP,1 ; JE ISMARK ;输入的是分数CHEFAIL:PRINTTIP TIP0 PRINTTIP CRMOV CHEOK,0; 重新把返回判断位置零JMP MORE;写入学号,固定为16个字符ISID:MOV DL,PRES; 抽取需要写入字符的个数XOR DH,DHMOV CX,DXMOV SI,CXINC CXMOV CHARSI,$; 把最后一个字符之后的位置填充为$;开始写入IDMOV TMP,1; 表示下一个是分数CLDMOV SI,OFFSET CHARMOV DI,OFFSET IDADD DI,BXREP MOVSB ;写入ID; 写完则为接受下一个输入BUFF作准备ADD BX,16; ID的偏移地址向后挪动固定的16BYTEJMP MORE; 跳回继续输入下一个BUFF;是学号,检查、转换、写入保存ISMARK:CALL CHANGECMP CHEOK,0JE WRITEMARKMOV ERROR,4JMP CHEFAILWRITEMARK:PUSH BXMOV BL,MTMPMOV DI,AXMOV MARKDI,BL; 实际写入成绩POP BXMOV TMP,0; 计数清理,表明下一个输入为学号INC AX; 已接受的学生个数加一JMP MORERETURN:POP DIPOP SIPOP DXPOP CXPOP BXPOP AXRETGETINFO ENDP;-;获得一次BUFF输入子程序;入口参数为BUFF的偏移地址,出口参数为BUFF中的字符串GETIN PROC NEARPUSH AXPUSH DXPUSH DIMOV DX,OFFSET BUFFMOV AH,0AHINT 21HPOP DIPOP DXPOP AXRETGETIN ENDP;-;执行输入字符是否是数字的合法性检查CHECK PROC NEARPUSH DIPUSH CXPUSH AXXOR DI,DI; 记录CHAR读取的偏移量MOV AL,PRES; 读取输入的BUFF中的字符数CBWMOV CX,AXCMP CX,0; 判断是否输入BUFF为空JE ISEMPTY; 为空则重新输入AGAIN:CMP CX,DIJE RETURNCHECKMOV AH,CHARDICMP AH,30H; JL INVALID; 小于则无效字符CMP AH,39H; JG INVALID; 大于则是无效字符INC DIJMP AGAINISEMPTY: MOV ERROR,0 ;输入为空的处理代码PRINTTIP CRCALL PRINTERRPRINTTIP CRMOV CHEOK,1JMP RETURNCHECKINVALID: MOV ERROR,2; 输入不合法的处理代码PRINTTIP CRCALL PRINTERRPRINTTIP CRMOV CHEOK,1RETURNCHECK:POP AXPOP CXPOP DIRETCHECK ENDP;-;处理成绩输入的子程序;检查输入成绩是否在0-100之间的子程序并转化为二进制数CHANGE PROC NEAR ;把3位数字转换为二进制数PUSH AXPUSH BXPUSH CX MOV CL,PRES CMP CL,3JA MINVALID; 四位数或以上,溢出 JE THRDIG; 三位数 CMP CL,2 JE TWODIG; 两位数 CMP CL,1 JE ONEDIG; 一位数THRDIG:;判断是否是100,是则直接在临时成绩区写入100MOV BL,CHAR0; 百位SUB BL,30HCMP BL,1JNE MINVALIDMOV BL,CHAR1; 十位SUB BL,30HCMP BL,0JNE MINVALIDMOV BL,CHAR2; 个位SUB BL,30HCMP BL,0JNE MINVALIDMOV MTMP,100 ;写入100JMP CRETURNTWODIG:; 当是两位数时判断十位是否是0,不是则进行转换,然后写入临时成绩中MOV BL,CHAR0; 十位SUB BL,30HCMP BL,0JE MINVALIDMOV AL,10MUL BL; 成10取得十位数MOV BL,CHAR1; 个位SUB BL,30HADD AL,BL; 因为小于100所以有效数在AL中, ;可以直接加个位数得结果MOV MTMP,AL; 写入转换后的数字JMP CRETURNONEDIG:;一位数时直接写入临时成绩区即可MOV BL,CHAR0; 个位SUB BL,30HMOV MTMP,BLJMP CRETURNMINVALID:MOV ERROR,4CALL PRINTERRMOV CHEOK,1 CRETURN:POP CXPOP BXPOP AX RETCHANGE ENDP;-;打印错误信息子程序PRINTERR PROC NEARPUSH AXPUSH DXPUSH BX MOV AL,ERRORCBWMOV BX,AXMOV AH,09H MOV DX,ERRLISTBXINT 21HPOP BXPOP DXPOP AXRETPRINTERR ENDP;-;排序子程序SORT PROC NEAR PUSH AX PUSH BX PUSH CX PUSH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 资料员之资料员基础知识考前冲刺试卷及参考答案详解(B卷)
- 2025广播电视播音员主持人过关检测试卷含答案详解【夺分金卷】
- 2025年四平职业大学单招《英语》复习提分资料及完整答案详解【各地真题】
- 2023年度护士资格证题库试题及答案详解(有一套)
- 作为职业选择的“全职儿女”:类型、成因与治理
- 计算机三级题库试题附参考答案详解(典型题)
- 2025年唐山市公务员行测【考点梳理】附答案详解
- 养老院消防应急预案范文(32篇)
- 2025年建筑施工安全管理信息化在施工现场安全风险防范中的应用报告
- 2025年母婴产品市场消费升级与品牌竞争:渠道变革与营销创新研究报告
- 房屋预告登记申请书
- 公司内部审计制度范本(四篇)
- 绿色建筑材料和建筑设备
- 可靠性试验管理办法
- 蓄电池组充放电记录表格格式模板
- 全国中学生物理竞赛复赛实验考查
- 智慧交通典型城市案例及启示
- 国家开放大学《人文英语4》边学边练参考答案
- 医疗器械设计开发流程培训课件
- 语法填空公开课课件市公开课一等奖省名师优质课赛课一等奖课件
- 《认识分式》教学课件【初中数学】公开课
评论
0/150
提交评论