




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第6章章 汇编言语程序设计汇编言语程序设计 用汇编言语编程属构造化程序设计。用汇编言语编程属构造化程序设计。 需按照构造化的思想来进展汇编程序的设计需按照构造化的思想来进展汇编程序的设计 分析题意,确定算法分析题意,确定算法 根据算法画出程序框图根据算法画出程序框图 根据框图编写程序根据框图编写程序 上机调试程序上机调试程序 执行程序执行程序按照自上而下的设计方法,设计一个汇编程序的步骤:按照自上而下的设计方法,设计一个汇编程序的步骤: 顺序程序顺序程序 分支程序分支程序 循环程序循环程序从构造上来讲,普通的汇编程序可分为:从构造上来讲,普通的汇编程序可分为:Eg:从键盘输入一个字符并存储到
2、字节变从键盘输入一个字符并存储到字节变量量BUF单元中单元中.分析:分析: 用用DOS功能调用完成键入,输入功能调用完成键入,输入 的字符保管在的字符保管在AL存放器中存放器中 将将AL中的内容存到定义在数据中的内容存到定义在数据 段的变量段的变量BUF所指单元中所指单元中 顺序程序设计顺序程序设计.486DATA SEGMENT USE16 BUF DB ?DATA ENDS源程序清单:源程序清单:CODESEGMENT USE16 ASSUME CS : CODE , DS : DATABEG:MOV AX , DATAMOV DS , AXMOV AH , 1INT 21H ;AL=键入
3、字符的键入字符的MOV BUF , AL ASIIC码码MOV AH , 4CHINT 21HCODEENDSEND BEG 分支程序设计分支程序设计 转移指令可用来实现分支程序设计转移指令可用来实现分支程序设计分支程序分三种:分支程序分三种: 简单分支简单分支 复合分支复合分支 多分支多分支 简单分支简单分支 即两路分支,该分支程序构造为:即两路分支,该分支程序构造为:条件满足否?条件满足否?程序段程序段1程序段程序段2YN Eg: Eg: 将将BXBX存放器的内容以二进制数格式显在屏幕上存放器的内容以二进制数格式显在屏幕上BX=1110010011100110B 简单分支简单分支 RCLR
4、CL0 0SALSALROLROLCFCFCFCFCFCF 486CODE SEGMENT USE16 ASSUME CS:CODE BEG: MOV BX,5678H MOV CX,16 LAST: MOV AL,0 ROL BX,1 JNC NEXT MOV AL,1 NEXT: MOV AH,0EH INT 10H LOOP LAST MOV AH,4CH INT 21H CODE ENDS END BEG ADC AL,0 数数BX,16 CXBX,16 CXC C标标=?=?1 1ALAL调调BIOS.0EHBIOS.0EHCX-1CXCX-1CXCX=0CX=00 0ALALBXB
5、X左移一位左移一位10NY返返DOSDOS源程序清单:源程序清单: 复合分支复合分支判别的条件是复合条件,称复合判别判别的条件是复合条件,称复合判别 复合分支程序构造为:复合分支程序构造为:条件条件1和条件和条件2.满足否?满足否?程序段程序段1程序段程序段2YNEg:Eg:某科室某科室9 9人,统计月收入在人,统计月收入在800900800900间间的人数,并用十进制数显示的人数,并用十进制数显示 复合分支复合分支 分析:月收入是无符号数,对一批数处置应该用间址。分析:月收入是无符号数,对一批数处置应该用间址。 数轴:数轴: N1 (800) N2 N1 (800) N2 (900)(900
6、) 多分支多分支判别条件后有多个出口,判别一次只能判别条件后有多个出口,判别一次只能选择一个分支。选择一个分支。 多分支程序构造为:多分支程序构造为:1条件属哪种条件属哪种情况?情况?程序段程序段1程序段程序段n+m.程序段程序段nnn+m例例. .多分支段内转移多分支段内转移要求:键入要求:键入0 0,转,转P0P0程序段程序段 键入键入1 1,转,转P1P1程序段程序段 键入键入9 9,转,转P9P9程序段程序段思绪:用比较指令配合直接转移指令实现思绪:用比较指令配合直接转移指令实现 CMP CMP 键入字符,键入字符,0 0 JE P0 JE P0 CMP CMP 键入字符,键入字符,1
7、 1 JE P1 JE P1 用转移地址表配合间接转移指令实现用转移地址表配合间接转移指令实现 多分支多分支 486DATA SEGMENT USE16TAB DW P0,P1,P9 ;汇编后自动装入相应的偏移地址汇编后自动装入相应的偏移地址MESG DB 0DH,0AH,strike 09:$DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATABEG: MOV AX,DATA MOV DS,AXAGA: MOV AH,9 MOV DX,OFFSET MESG INT 21H MOV AH,1 INT 21H CMP AL,0 JC AGACMP
8、 AL,9JA AGASUB AL,30HMOVZX BX,ALADD BX,BX;2BXBXMOV SI,OFFSET TABJMP BX+SI;DS:BX+SI IPP0: P1: P9: CODE ENDS END BEG 或或:MOV BX,BX+SI:MOV BX,BX+SI JMP BX ;BX IP JMP BX ;BX IP源程序清单:源程序清单: 循环程序设计循环程序设计循环程序的组成:循环程序的组成: 循环预备循环预备 循环体循环体 循环控制循环控制1. 1. 循环程序的构造循环程序的构造Y Y预置循环次数预置循环次数其他预备任务其他预备任务循环体循环体循环减循环减1 1计
9、数计数退出循环退出循环结果为结果为0?0?N N(a)(a)单单循循环环构构造造(b) (b) 双双循循环环构构造造结果为结果为0?0?循环体循环体内循环减内循环减1 1计数计数结果为结果为0?0?外循环减外循环减1 1计数计数退出循环退出循环预置外循环次数预置外循环次数其他预备任务其他预备任务预置内循环次数预置内循环次数其他预备任务其他预备任务N NN NY YY YEg: Eg: 假设从假设从BUFBUF单元单元开场为一个开场为一个 ASCIIASCII码字符串码字符串, ,找出其中找出其中的最大数送屏幕显的最大数送屏幕显示。示。 循环程序设计循环程序设计思绪:思绪:ASCASC码数为无符
10、号码数为无符号数,无符号数的最小数为数,无符号数的最小数为0 0Y YN NN N数据区首址数据区首址DS:BXDS:BX无符号最小数无符号最小数ALAL数据个数数据个数CXCXBX ALBX ALBX=AL?BX=AL?BX+1 BXBX+1 BXCX-1 CXCX-1 CX显示结果显示结果前往前往DOSDOSC CX X= =0?0?Y Y 486 DATA SEGMENT USE16 BUF DB QWERTYUIOP123 COUNT EQU $ -BUF;统计串长度统计串长度 MAX DB MAX=,?,0DH,0AH,$ DATA ENDS CODE SEGMENT USE16 A
11、SSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX MOV AL,0 ;无符号最小数无符号最小数 0 AL LEA BX,BUF ;串首址偏移量串首址偏移量BX MOV CX,COUNT ;串长度串长度CX LAST: CMP BX,AL;比较比较 JC NEXT MOV AL,BX;大数大数ALNEXT: INC BX LOOP LAST ;循环计数循环计数 MOV MAX+4,AL ;最大数最大数MAX+4 单元单元 MOV AH,9 MOV DX,OFFSET MAX INT 21H ;显示结果显示结果 MOV AH,4CH INT 21H
12、;前往前往 DOSCODE ENDS END BEG 源程序清单源程序清单1: 486 486DATA SEGMENT USE16DATA SEGMENT USE16BUF DB QWERTYUIOP123BUF DB QWERTYUIOP123FLAG DB FLAG DB 1 ;1 ;设置串终了标设置串终了标志志MAX DB MAX DB MAX=,?,0DH,0AH,$MAX=,?,0DH,0AH,$DATA ENDSDATA ENDSCODE SEGMENT USE16 CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA ASSUME CS:CODE,D
13、S:DATABEG: MOV AX,DATABEG: MOV AX,DATA MOV DS,AX MOV DS,AX MOV AL,0 MOV AL,0 ; ;无符号最小数无符号最小数 0 0 ALAL LEA BX,BUF LEA BX,BUF ; ;串首址偏移量串首址偏移量BXBXLAST: CMP BYTE PTR BX, -1 LAST: CMP BYTE PTR BX, -1 ;BX= ;BX=串终了标志串终了标志 ? ? JE DISP ;是是,转转 CMP BX,AL JC NEXT MOV AL,BX ;大数大数ALNEXT: INC BX JMP LASTDISP: MOV
14、MAX+4,AL ;最大数最大数MAX+4 单元单元 MOV AH,9 MOV DX,OFFSET MAX INT 21H ;显示结果显示结果 MOV AH,4CH INT 21H ;前往前往 DOSCODE ENDS END BEG 源程序清单源程序清单2:汇编程序设计举例汇编程序设计举例 代代 码码 转转 换换代码转换代码转换 常见的代码转换有:常见的代码转换有: 二进制数二进制数显示显示 二进制数二进制数十进制数十进制数显示显示 二进制数二进制数十六进制数十六进制数显示显示 BCD BCD码数码数二进制数二进制数代码转换代码转换A二进制数显示:二进制数显示:例例. .把键盘输入的一位数把
15、键盘输入的一位数(0(09),9),转换成等值二进数显示转换成等值二进数显示显示的格式要求如下:显示的格式要求如下:Please Enter:ERROR!Please Enter:9 =00001001B代码转换代码转换思绪:思绪:键盘缓冲区中是键入字符的键盘缓冲区中是键入字符的ASCASC码。码。 0 09 9的的ASCASC码为码为30H30H39H39H。二进制数每一位代码的判别:二进制数每一位代码的判别:本程序采用两种格式设计源程序:本程序采用两种格式设计源程序:一种是一种是EXE文件编程格式,文件编程格式,另一种是另一种是COM文件编程格式。文件编程格式。RCLRCL0 0SALSA
16、LROLROLCFCFCFCFCFCF程序框图:程序框图: AL-30HBL AL-30HBL = =屏幕屏幕,8CX ,8CX 0 0 屏幕屏幕1 1 屏幕屏幕CX-1 CXCX-1 CXB B 屏幕屏幕, ,前往前往DOSDOSN NN N给出操作提示给出操作提示键盘输入键盘输入ALALAL=AL=0 0 9 9? ?CF=?CF=?CX=0?CX=0?BLBL左移一位左移一位Y Y显示错误信息显示错误信息 Y Y0 01 1 . 486DATA SEGMENT USE16MESG1 DB Please Enter ! ,0DH,0AH,$MESG2 DB -Error ! $ DATA
17、ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATABEG: MOV AX,DATA MOV DS,AX MOV AH,9 MOV DX,OFFSET MESG1 INT 21H ;显示操作提示显示操作提示 MOV AH,1 INT 21H ;等待键入等待键入 CMP AL,3AH JNC ERROR ;9转转 CMP AL,30H EXEEXE格式程序清单格式程序清单 JC ERROR ;0转转 SUB AL,30H MOV BL,AL ;BL=09 的二进制数的二进制数 MOV AH,2 MOV DL,= INT 21H CALL DISP MOV A
18、H,2 MOV DL,B INT 21H JMP EXITERROR: MOV AH,9 MOV DX,OFFSET MESG2 INT 21H ;显示错误信息显示错误信息EXIT: MOV AH,4CH INT 21H;-DISP PROC ;显示显示BL中的二进制数中的二进制数 MOV CX,8LAST: MOV DL,0 RCL BL,1 JNC NEXT MOV DL,1NEXT: MOV AH,2 INT 21H LOOP LAST RETDISP ENDPCODE ENDS END BEG EXEEXE格式程序清单格式程序清单 . 486 . 486CODE SEGMENT USE
19、16CODE SEGMENT USE16 ASSUME CS:CODE ASSUME CS:CODE ORG 100H ORG 100HSTART: JMP BEGSTART: JMP BEGMESG1 DB Please Enter ! ,0DH,0AH,$MESG1 DB Please Enter ! ,0DH,0AH,$MESG2 DB -Error ! $ MESG2 DB -Error ! $ BEG: MOV AH,9BEG: MOV AH,9 MOV DX,OFFSET MESG1 MOV DX,OFFSET MESG1 INT 21H ; INT 21H ;显示操作提示显示操作
20、提示 MOV AH,1MOV AH,1 INT 21H ; INT 21H ;等待键入等待键入 CMP AL,3AHCMP AL,3AH JNC ERROR ; JNC ERROR ; 9 9 转转 CMP AL,30HCMP AL,30H JC ERROR ; JC ERROR ; 0 0 转转 SUB AL,30HSUB AL,30H MOV BL,AL ;BL=09 的二进制数的二进制数 MOV AH,2 MOV DL,= INT 21H CALL DISP MOV AH,2 MOV DL,B INT 21H JMP EXIT MOV DX,OFFSET MESG2 INT 21H ;显
21、示错误信息显示错误信息 INT 21H ERROR: MOV AH,9EXIT: MOV AH,4CHCOMCOM格式程序清单格式程序清单 ;-DISP PROC ;显示显示BL中的二进制数中的二进制数 MOV CX,8LAST: MOV DL,0 RCL BL,1 JNC NEXT MOV DL,1NEXT: MOV AH,2 INT 21H LOOP LAST RETDISP ENDPCODE ENDS END START COMCOM格式程序清单格式程序清单 问题:键入的是两位十进制数时,问题:键入的是两位十进制数时,如何将该十进制数的二进制数显如何将该十进制数的二进制数显示在屏幕上?示
22、在屏幕上?代码转换代码转换二二. .二进制数二进制数十六进制数显示十六进制数显示算法:算法:四位二进制数四位二进制数等值的十六进制数等值的十六进制数十六进制数十六进制数 ASC ASC码码算法算法000010011010111109AF30H39H41H46H四位二进制数四位二进制数+30H+30H= = 等值的十六进制等值的十六进制数数ASCASC码码四位二进制数四位二进制数+37H+37H= = 等值的十六进等值的十六进制数制数ASCASC码码代码转换代码转换编程技巧:编程技巧:8 8位二进制数位二进制数截取高截取高4 4位位显示显示显示显示截取低截取低4 4位位XXXX XXXXXXXX
23、0 0 0 0XXXX0 0 0 01616进制数进制数ASCASC码码1616进制数进制数ASCASC码码代码转换代码转换例例.设从设从BNUM单元开场,有单元开场,有4个个16位的二进制数,要求位的二进制数,要求把它们转换成把它们转换成16进制数,并送屏幕显示。进制数,并送屏幕显示。 程序清单程序清单 . 486 . 486 DATA SEGMENT USE16 DATA SEGMENT USE16 BNUM DW 0001001000110100B ;1234H BNUM DW 0001001000110100B ;1234H DW 0101011001111000B ;5678H DW
24、 0101011001111000B ;5678H DW 0001101000101011B ;1A2BH DW 0001101000101011B ;1A2BH DW 0011110001001101B ;3C4DH DW 0011110001001101B ;3C4DH BUF DB 4 DUP(?), BUF DB 4 DUP(?), H $H $ ; ;输出缓冲区输出缓冲区 COUNT DB 4 COUNT DB 4 DATA ENDS DATA ENDS CODE SEGMENT USE16 CODE SEGMENT USE16 ASSUME CS:CODE, DS:DATA ASS
25、UME CS:CODE, DS:DATABEG: MOV AX,DATA MOV DS,AX MOV CX,4 MOV BX,OFFSET BNUMAGA: MOV DX,BX SAL EDX,16 CALL N2_16ASC MOV AH,9 MOV DX,OFFSET BUF INT 21H ;显示一个显示一个16进数进数 ADD BX,2 ;地址加地址加 2 LOOP AGA MOV AH,4CH INT 21H; ;二进数二进数十六进数十六进数ACSIIACSII码码N2_16ASC PROCN2_16ASC PROC MOV SI,OFFSET BUF MOV SI,OFFSET B
26、UF ; ;输出缓冲区地址输出缓冲区地址SISI MOV COUNT,4 MOV COUNT,4LAST: ROL EDX,4LAST: ROL EDX,4 AND DL,0FH AND DL,0FH CMP DL,10 CMP DL,10 JC NEXT JC NEXT ADD DL,7 ADD DL,7NEXT: ADD DL,30HNEXT: ADD DL,30H MOV SI,DL MOV SI,DL INC SI ; INC SI ;地址加地址加1 1 DEC COUNT ; DEC COUNT ;计数计数 JNZ LAST JNZ LAST RET RETN2_16ASC ENDP
27、N2_16ASC ENDPCODE ENDSCODE ENDS END BEG END BEGEXEEXE格式程序清单格式程序清单 代码转换代码转换三三.BCD.BCD码码二进制数二进制数例例.4.4位位BCDBCD码数码数二进制数显示二进制数显示算法:设算法:设4 4位位BCDBCD码数列为:码数列为:N3 N2 N1 N0N3 N2 N1 N0,等值二进制数等值二进制数=N3=N31000+N21000+N2100+N1100+N110+N010+N0 =(0 =(010+N3)10+N3)10+N2)10+N2)10+N1)10+N1)10+N010+N0编程思索:编程思索:4 4位位B
28、CDBCD码最大为码最大为9999H,9999H,等值的二进制数最大为等值的二进制数最大为1616位位( (超越超越8 8位位) ),而且,而且D15D15位一定为位一定为0 0分别出分别出BCDBCD千位千位N3,N3,百位百位N2N2,十位,十位N1,N1,个位个位N0N0设计一个设计一个AXAX10+BX AX10+BX AX的子程序供调用,初次调用的子程序供调用,初次调用时,令时,令AX=0,BX=N3,AX=0,BX=N3,共调用共调用4 4次,那么次,那么AXAX中即为等值的二中即为等值的二进制数。进制数。 486CODE SEGMENT USE16 ASSUME CS:CODEN
29、UM DW 4567H ;BCD码表示码表示BEG: MOV CX,4 ;4次调用次调用 MOV AX,0AGA: ROL NUM, 4 MOV BX,NUM AND BX,000FH IMUL AX,10 ADD AX,BX LOOP AGA 显示显示AX中的二进制数中的二进制数 前往前往DOSCODE ENDS END BEG本例数据放在代码段!本例数据放在代码段!本例:本例: 由于由于AX的的D15=0,是是正的有符号数,所以可正的有符号数,所以可用用IMUL指令指令AX10+BXAXEXEEXE格式程序清单格式程序清单 代码转换代码转换三三. .二进制数二进制数十进制数十进制数方法方法
30、: :比较法,恢复余数法,除法比较法,恢复余数法,除法 8 8位二进制数最大为位二进制数最大为1111111111111111, 等值的十进制数为等值的十进制数为255255, 比较法的关键:判别某二进制比较法的关键:判别某二进制数数( (假设为假设为BENBEN单元的内容单元的内容) )包含包含几个几个100100,几个,几个1010,几个,几个1 1 1. 81. 8位二进制数位二进制数十进制数,十进制数,比较法:比较法: DL+1DL DL+1DL(BEN)-10BEN(BEN)-10BEN(BEN)=100?(BEN)=100?N NY Y(BEN)=10?(BEN)=10?N NY
31、Y0 DL0 DL DL+1DL DL+1DL(BEN)-100BEN(BEN)-100BENDL+30HDL+30H屏幕屏幕 0DL 0DL DL+30H DL+30H屏幕屏幕(BEN)+30H(BEN)+30H屏幕屏幕 前往前往DOSDOS . 486CMPDISP MACRO NN LOCAL LAST, NEXT MOV DL,0 ;DL清清0LAST: CMP BEN, NN ;比较比较 JC NEXT ;BENNN转转 INC DL ;DL加加1 SUB BEN, NN JMP LASTNEXT: ADD DL, 30H MOV AH,2 INT 21H ;显示显示 ENDM CO
32、DE SEGMENT USE16 ASSUME CS:CODEBEN DB 10101110B ;=174BEG: CMPDISP 100 CMPDISP 10 CMPDISP 1 MOV AH,4CH INT 21HCODE ENDS END BEGEXEEXE格式程序清单格式程序清单 代码转换代码转换2. 82. 8位二进制数位二进制数十进制数,恢复余数法请自学十进制数,恢复余数法请自学3. 83. 8位二进制数位二进制数十进制数,十进制数,“除权值求商的算法分析除权值求商的算法分析把把11110101B11110101B十进制数十进制数245245算法:算法:依次用权值依次用权值100,
33、10,1100,10,1去除去除上次的余数,直到余数为上次的余数,直到余数为0 0时停顿。时停顿。每次除法所得的商数顺序每次除法所得的商数顺序陈列,即为十进制数。陈列,即为十进制数。 1 1 1 1 0 1 0 111001001 1 0 0 1 0 01 0 1 1 0 11 02权值权值(100)10(100)10 1 0 1 5 1 0 1 1 0 1 0余数为余数为0时止时止1权值权值(1)(1) 1 0 0 4 1 0 1 1 0 1 1 0 1 0 1 0 11010权值权值(10)10(10)10例例. . 将将NUMNUM单元中的单元中的1616位二进制数,转换成十进制位二进制
34、数,转换成十进制数显示。数显示。思绪:思绪: 16 16 位二进制数:最大为位二进制数:最大为1111,其等值的十进,其等值的十进制数为制数为6553565535,故应判别,故应判别NUMNUM单元的数包含几个单元的数包含几个1000010000,几个几个10001000,几个,几个100100,几个,几个1010,几个,几个 1 1设计一个设计一个XXXXYYYY并显示商值的宏指令供调用,并显示商值的宏指令供调用,XXXX为为3232位,位,YYYY为为1616为二进制数。为二进制数。DX,AXDX,AX为被除数为被除数 486DIVIDE MACRO XX,YY MOV AX,XX MOV
35、 DX,0 MOV CX,YY ;CX为除数为除数 DIV CX ;AX=商商,且且1010B,DX=余数余数 MOV AH,0EH ADD AL,30H INT 10H ENDMCODE SEGMENT USE16 ASSUME CS:CODENUM DW 65530 ;汇编后为二进制数汇编后为二进制数BEG: DIVIDE NUM, 10000 DIVIDE DX, 1000 此题在代码段中设置数据,此题在代码段中设置数据,这是这是COMCOM格式?格式?EXEEXE格式?格式?假设改为:假设改为:BEG: MOV BX,OFFSET NUMBEG: MOV BX,OFFSET NUM D
36、IVIDE BX,10000 DIVIDE BX,10000 是错误的,为什么?是错误的,为什么? DIVIDE DX, 100 DIVIDE DX, 10 DIVIDE DX, 1 MOV AH, 4CH INT 21HCODE ENDS END BEG显示一位商值显示一位商值不能不能颠倒颠倒分析:分析:应写成应写成:DIVIDE CS:BX,10000:DIVIDE CS:BX,10000 程序清单程序清单 代码转换代码转换4. 84. 8位二进制数位二进制数十进制数,十进制数,“除十取余的算法分析除十取余的算法分析 把把1111010111110101十进制数十进制数245245算法:算法:N N被被(10)10(10)10除,商再被除,商再被(10)10(10)10除除,直到商数为,直到商数为0 0时止。时止。每次所得的余数按倒序方式每次所得的余数按倒序方式陈列显示。陈列显示。编程技巧:编程技巧:每次除法的余数每次除法的余数栈,栈,除法终了后,再从堆栈中除法终了后,再从堆栈中依次弹出余数依次弹出余数+30H+30H屏。屏。 1 1 0 0 0 1 1 1 1 0 1 0 1 1 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年宁南县三上数学期末联考模拟试题含解析
- 2024年辽宁省本溪满族自治县数学三上期末学业水平测试模拟试题含解析
- 2024年江苏省苏州枫华学校三年级数学第一学期期末达标检测试题含解析
- 七年级人教版思想品德上册单元复习提要课件
- 2025年护士执业空间操作试题及答案
- 药学研究生课程试题及答案
- 关键知识点主管护师试题及答案
- 2025年执业药师考试高频考点试题及答案
- 2025年执业药师考试临床技术试题及答案
- 2025年医师考试重视临床应用能力的原因与方法研究试题及答案
- 2025年公务员考试时事政治题及参考答案
- 2025年湖南湘投控股集团有限公司招聘笔试参考题库含答案解析
- 绿色建筑材料在土木工程施工中的应用研究
- 第二十九节 商业模式创新及案例分析
- 中国铁路沈阳局集团有限公司招聘笔试冲刺题2025
- 2024年度医疗设备报废回收与资源化利用合同3篇
- 医疗器械的维护和保养方法
- 石材养护报价单
- 世界各地的建筑·小学生课件
- 试题-医疗器械质量管理培训
- 海外医疗合同模板
评论
0/150
提交评论