版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
匯編指令——使用函數(shù)當(dāng)應(yīng)用程序中需要相同的代碼時,可以創(chuàng)建包含此代碼段的函數(shù)(function),然后調(diào)用此函數(shù)。數(shù)據(jù)從主程序傳遞給函數(shù),然后結(jié)果返回給主程序。函數(shù)在匯編語言中創(chuàng)建函數(shù)的步驟:1)定義需要的輸入值:寄存器,全局變量,堆棧2)定義對輸入值進(jìn)行的操作(可以放置于主程序之前或之后).typefunc1,@functionfunc1:3)定義如何生成輸出值及傳遞給調(diào)用程序:把結(jié)果放于一個或多個寄存器中;放于全局變量內(nèi)存變量中20160022.s——使用寄存器20160023.s——使用全局變量創(chuàng)建函數(shù)使用全局變量的例子:20160024.c不建議使用全局變量:1)全局變量在程序的全部執(zhí)行過程中都占用存儲單元,而不是僅在需要時才開辟單元。2)函數(shù)的通用性/獨立性降低,因為函數(shù)在執(zhí)行時要依賴于其所在的外部變量。3)函數(shù)的清晰性降低,難于調(diào)試。4)局部變量與全局變量同名時,有可能會產(chǎn)生問題。函數(shù)——使用全局變量在調(diào)用函數(shù)之前,主程序把函數(shù)所需要的輸入?yún)?shù)放到堆棧的頂部。(C樣式要求參數(shù)存放到堆棧中的順序與函數(shù)原型中的順序相反)。堆棧指針(%esp)指向堆棧頂部。函數(shù)——使用堆棧由于在函數(shù)處理過程中可能有壓棧操作,改變%esp中的值,因此一般進(jìn)入函數(shù)的時候,會把%esp的內(nèi)容復(fù)制到%ebp,以確保有一個寄存器永遠(yuǎn)包含指向調(diào)用函數(shù)時的堆棧頂部的正確指針。函數(shù)——使用堆棧function: pushl%ebp movl%esp,%ebp . . movl%ebp,%esp popl%ebp ret函數(shù)——使用堆棧在設(shè)置了函數(shù)參數(shù)后,局部變量也將存放到堆棧中。函數(shù)——使用堆棧為了保證%esp指向棧頂,在函數(shù)代碼的開始添加一行,從%esp寄存器中減去一個值,為局部變量保留一定數(shù)量的堆??臻g。function: pushl%ebp movl%esp,%ebp subl$12,%esp函數(shù)——使用堆棧20160025.c函數(shù)——使用堆棧pushl %ebp
movl %esp,%ebp
subl $24,%esp
movl $3,-4(%ebp)#i
movl $4,-8(%ebp)#j
movl $0,-12(%ebp)#k
movl -8(%ebp),%eax
movl %eax,4(%esp)
movl -4(%ebp),%eax
movl %eax,(%esp)
call f_1
movl %eax,-12(%ebp)
movl $0,%eaxEBP,ESP舊的EBP值ebp-4ebp-8ebp-12ebp-16ebp-20ebp-24ebp-28pushl %ebp
movl %esp,%ebp
subl $24,%esp
movl $3,-4(%ebp)#i
movl $4,-8(%ebp)#j
movl $0,-12(%ebp)#k
movl -8(%ebp),%eax
movl %eax,4(%esp)
movl -4(%ebp),%eax
movl %eax,(%esp)
call f_1
movl %eax,-12(%ebp)
movl $0,%eaxebp舊的EBP值ebp-4ebp-8ebp-12ebp-16ebp-20esp,ebp-24ebp-28pushl %ebp
movl %esp,%ebp
subl $24,%esp
movl $3,-4(%ebp)#i
movl $4,-8(%ebp)#j
movl $0,-12(%ebp)#k
movl -8(%ebp),%eax
movl %eax,4(%esp)
movl -4(%ebp),%eax
movl %eax,(%esp)
call f_1
movl %eax,-12(%ebp)
movl $0,%eaxebp舊的EBP值ebp-43//i=3;ebp-8ebp-12ebp-16ebp-20esp,ebp-24ebp-28pushl %ebp
movl %esp,%ebp
subl $24,%esp
movl $3,-4(%ebp)#i
movl $4,-8(%ebp)#j
movl $0,-12(%ebp)#k
movl -8(%ebp),%eax
movl %eax,4(%esp)
movl -4(%ebp),%eax
movl %eax,(%esp)
call f_1
movl %eax,-12(%ebp)
movl $0,%eaxebp舊的EBP值ebp-43//i=3;ebp-84//j=4;ebp-120//k=0;ebp-16esp+4,ebp-20esp,ebp-24esp-4,ebp-28esp-8,ebp-32pushl %ebp
movl %esp,%ebp
subl $24,%esp
movl $3,-4(%ebp)#i
movl $4,-8(%ebp)#j
movl $0,-12(%ebp)#k
movl -8(%ebp),%eax
movl %eax,4(%esp)
#參數(shù)j入棧
movl -4(%ebp),%eax
movl %eax,(%esp)#參數(shù)i入棧
call f_1
movl %eax,-12(%ebp)
movl $0,%eaxebp舊的EBP值ebp-43//i=3;ebp-84//j=4;ebp-120//k=0;ebp-16esp+4,ebp-204//f_1(i,j)中的jesp,ebp-243//f_1(i,j)中的iesp-4,ebp-28esp-8,ebp-32pushl %ebp
movl %esp,%ebp
subl $24,%esp
movl $3,-4(%ebp)#i
movl $4,-8(%ebp)#j
movl $0,-12(%ebp)#k
movl -8(%ebp),%eax
movl %eax,4(%esp)
#參數(shù)j入棧
movl -4(%ebp),%eax
movl %eax,(%esp)#參數(shù)i入棧
call f_1
movl %eax,-12(%ebp)
movl $0,%eaxebp舊的EBP值ebp-43//i=3;ebp-84//j=4;ebp-120//k=0;ebp-16esp+8,ebp-204//f_1(i,j)中的jesp+4,ebp-243//f_1(i,j)中的iesp,ebp-28下一條指令的返回地址esp-4,ebp-32pushl %ebp
movl %esp,%ebp
subl $24,%esp
movl $1,-4(%ebp)
movl $2,-8(%ebp)
movl -8(%ebp),%eax
movl 12(%ebp),%edx
addl %eax,%edx
movl -4(%ebp),%eax
movl 8(%ebp),%ecx
leal (%ecx,%eax),%eax
movl %edx,4(%esp)
movl %eax,(%esp)
call f_0
addl %eax,%eax
movl %eax,-12(%ebp)
movl -12(%ebp),%eax
leave
retebp舊的EBP值ebp-43//i=3;ebp-84//j=4;ebp-120//k=0;ebp-16esp+12,ebp-204//f_1(i,j)中的jesp+8,ebp-243//f_1(i,j)中的iesp+4,ebp-28下一條指令的返回地址esp,ebp-32main函數(shù)的ebp舊值pushl %ebp
movl %esp,%ebp
subl $24,%esp
movl $1,-4(%ebp)
movl $2,-8(%ebp)
movl -8(%ebp),%eax
movl 12(%ebp),%edx
addl %eax,%edx
movl -4(%ebp),%eax
movl 8(%ebp),%ecx
leal (%ecx,%eax),%eax
movl %edx,4(%esp)
movl %eax,(%esp)
call f_0
addl %eax,%eax
movl %eax,-12(%ebp)
movl -12(%ebp),%eax
leave
retesp+32,ebp+32舊的EBP值esp+28,ebp+283//i=3;esp+24,ebp+244//j=4;esp+20,ebp+200//k=0;esp+16,ebp+16esp+12,ebp+124//f_1(i,j)中的jesp+8,ebp+83//f_1(i,j)中的iesp+4,ebp+4下一條指令的返回地址esp,ebpmain函數(shù)的ebp舊值pushl %ebp
movl %esp,%ebp
subl $24,%esp
movl $1,-4(%ebp)
movl $2,-8(%ebp)
movl -8(%ebp),%eax
movl 12(%ebp),%edx
addl %eax,%edx
movl -4(%ebp),%eax
movl 8(%ebp),%ecx
leal (%ecx,%eax),%eax
movl %edx,4(%esp)
movl %eax,(%esp)
call f_0
addl %eax,%eax
movl %eax,-12(%ebp)
movl -12(%ebp),%eax
leave
retesp+56,ebp+32舊的EBP值esp+52,ebp+283//i=3;esp+48,ebp+244//j=4;esp+44,ebp+200//k=0;esp+40,ebp+16esp+36,ebp+124//f_1(i,j)中的jesp+32,ebp+83//f_1(i,j)中的iesp+28,ebp+4下一條指令的返回地址esp+24,ebpmain函數(shù)的ebp舊值esp+20esp+16esp+12esp+8esp+4esppushl %ebp
movl %esp,%ebp
subl $24,%esp
movl $1,-4(%ebp)
movl $2,-8(%ebp)
movl -8(%ebp),%eax
movl 12(%ebp),%edx
addl %eax,%edx
movl -4(%ebp),%eax
movl 8(%ebp),%ecx
leal (%ecx,%eax),%eax
movl %edx,4(%esp)
movl %eax,(%esp)
call f_0
addl %eax,%eax
movl %eax,-12(%ebp)
movl -12(%ebp),%eax
leave
retesp+56,ebp+32舊的EBP值esp+52,ebp+283//i=3;esp+48,ebp+244//j=4;esp+44,ebp+200//k=0;esp+40,ebp+16esp+36,ebp+124//f_1(i,j)中的jesp+32,ebp+83//f_1(i,j)中的iesp+28,ebp+4下一條指令的返回地址esp+24,ebpmain函數(shù)的ebp舊值esp+20,ebp-41//局部變量aesp+16,ebp-82//局部變量besp+12esp+8esp+4esp
movl $2,-8(%ebp)
#f_0(x+a,y+b)
movl -8(%ebp),%eax
movl 12(%ebp),%edx
addl %eax,%edx
#準(zhǔn)備最右邊的參數(shù)y+b
movl -4(%ebp),%eax
movl 8(%ebp),%ecx
leal (%ecx,%eax),%eax
#準(zhǔn)備最左邊的參數(shù)x+a
movl %edx,4(%esp)
movl %eax,(%esp)
#參數(shù)入棧
call f_0
addl %eax,%eax
esp+56,ebp+32舊的EBP值esp+52,ebp+283//i=3;esp+48,ebp+244//j=4;esp+44,ebp+200//k=0;esp+40,ebp+16esp+36,ebp+124//f_1(i,j)中的jesp+32,ebp+83//f_1(i,j)中的iesp+28,ebp+4下一條指令的返回地址esp+24,ebpmain函數(shù)的ebp舊值esp+20,ebp-41//局部變量aesp+16,ebp-82//局部變量besp+12esp+8esp+46//y+besp4//x+apushl %ebp
movl %esp,%ebp
subl $24,%esp
movl $1,-4(%ebp)
movl $2,-8(%ebp)
movl -8(%ebp),%eax
movl 12(%ebp),%edx
addl %eax,%edx
movl -4(%ebp),%eax
movl 8(%ebp),%ecx
leal (%ecx,%eax),%eax
movl %edx,4(%esp)
movl %eax,(%esp)
call f_0
addl %eax,%eax
movl %eax,-12(%ebp)
movl -12(%ebp),%eax
leave
retesp+56,ebp+32舊的EBP值esp+56,ebp+283//i=3;esp+52,ebp+244//j=4;esp+48,ebp+200//k=0;esp+44,ebp+16esp+40,ebp+124//f_1(i,j)中的jesp+36,ebp+83//f_1(i,j)中的iesp+32,ebp+4下一條指令的返回地址esp+28,ebpmain函數(shù)的ebp舊值esp+24,ebp-41//局部變量aesp+20,ebp-82//局部變量besp+16esp+12esp+86//y+besp+44//x+aespaddl指令的地址pushl %ebp
movl %esp,%ebp
subl $16,%esp
movl 8(%ebp),%eax
movl %eax,%edx
imull 8(%ebp),%edx
movl 12(%ebp),%eax
imull 12(%ebp),%eax
leal (%edx,%eax),%eax
movl %eax,-4(%ebp)
movl -4(%ebp),%eax
leave
ret舊的EBP值3//i=3;4//j=4;0//k=0;ebp+124//f_1(i,j)中的jebp+83//f_1(i,j)中的iebp+4下一條指令的返回地址ebpmain函數(shù)的ebp舊值esp+28,ebp-41//局部變量aesp+24,ebp-82//局部變量besp+20esp+16esp+126//y+besp+84//x+aesp+4addl指令的地址espf_1函數(shù)的ebp舊值pushl %ebp
movl %esp,%ebp
subl $16,%esp
movl 8(%ebp),%eax
movl %eax,%edx
imull 8(%ebp),%edx
movl 12(%ebp),%eax
imull 12(%ebp),%eax
leal (%edx,%eax),%eax
movl %eax,-4(%ebp)
movl -4(%ebp),%eax
leave
ret舊的EBP值3//i=3;4//j=4;0//k=0;4//f_1(i,j)中的j3//f_1(i,j)中的iebp+36下一條指令的返回地址ebp+32main函數(shù)的ebp舊值esp+28,ebp+281//局部變量aesp+24,ebp+242//局部變量besp+20esp+16esp+126//y+besp+84//x+aesp+4,ebp+4addl指令的地址esp,ebpf_1函數(shù)的ebp舊值pushl %ebp
movl %esp,%ebp
subl $16,%esp
movl 8(%ebp),%eax
movl %eax,%edx
imull 8(%ebp),%edx
movl 12(%ebp),%eax
imull 12(%ebp),%eax
leal (%edx,%eax),%eax
movl %eax,-4(%ebp)
movl -4(%ebp),%eax
leave
ret4//f_1(i,j)中的j3//f_1(i,j)中的iebp+36下一條指令的返回地址ebp+32main函數(shù)的ebp舊值esp+28,ebp+281//局部變量aesp+24,ebp+242//局部變量besp+20esp+16esp+126//y+besp+84//x+aesp+4,ebp+4addl指令的地址esp,ebpf_1函數(shù)的ebp舊值pushl %ebp
movl %esp,%ebp
subl $16,%esp
movl 8(%ebp),%eax
movl %eax,%edx
imull 8(%ebp),%edx
movl 12(%ebp),%eax
imull 12(%ebp),%eax
leal (%edx,%eax),%eax
movl %eax,-4(%ebp)
movl -4(%ebp),%eax
leave
ret4//f_1(i,j)中的j3//f_1(i,j)中的iebp+36下一條指令的返回地址ebp+32main函數(shù)的ebp舊值esp+44,ebp+281//局部變量aesp+40,ebp+242//局部變量besp+36esp+32esp+286//y+besp+244//x+aesp+20,ebp+4addl指令的地址esp+16,ebpf_1函數(shù)的ebp舊值esp+12esp+8esp+4esppushl %ebp
movl %esp,%ebp
subl $16,%esp
#計算s
movl 8(%ebp),%eax
movl %eax,%edx
imull 8(%ebp),%edx
#計算x*x,結(jié)果存在edx中
movl 12(%ebp),%eax
imull 12(%ebp),%eax
leal (%edx,%eax),%eax
movl %eax,-4(%ebp)
movl -4(%ebp),%eax
leave
ret4//f_1(i,j)中的j3//f_1(i,j)中的iebp+36下一條指令的返回地址ebp+32main函數(shù)的ebp舊值esp+44,ebp+281//局部變量aesp+40,ebp+242//局部變量besp+36esp+32esp+286//y+besp+24,ebp+84//x+aesp+20,ebp+4addl指令的地址esp+16,ebpf_1函數(shù)的ebp舊值esp+12esp+8esp+4esppushl %ebp
movl %esp,%ebp
subl $16,%esp
#計算s
movl 8(%ebp),%eax
movl %eax,%edx
imull 8(%ebp),%edx
#計算x*x,結(jié)果存在edx中
movl 12(%ebp),%eax
imull 12(%ebp),%eax
#計算y*y,結(jié)果存在eax中
leal (%edx,%eax),%eax
#leal5(%edx,%ecx,2),%eax
movl %eax,-4(%ebp)
movl -4(%ebp),%eax
leave
ret4//f_1(i,j)中的j3//f_1(i,j)中的iebp+36下一條指令的返回地址ebp+32main函數(shù)的ebp舊值esp+44,ebp+281//局部變量aesp+40,ebp+242//局部變量besp+36esp+32esp+286//y+besp+24,ebp+84//x+aesp+20,ebp+4addl指令的地址esp+16,ebpf_1函數(shù)的ebp舊值esp+12esp+8esp+4esppushl %ebp
movl %esp,%ebp
subl $16,%esp
#計算s
movl 8(%ebp),%eax
movl %eax,%edx
imull 8(%ebp),%edx
#計算x*x,結(jié)果存在edx中
movl 12(%ebp),%eax
imull 12(%ebp),%eax
#計算y*y,結(jié)果存在eax中
leal (%edx,%eax),%eax
#leal5(%edx,%edx,2),%eax
movl %eax,-4(%ebp)
movl -4(%ebp),%eax
leave
ret4//f_1(i,j)中的j3//f_1(i,j)中的iebp+36下一條指令的返回地址ebp+32main函數(shù)的ebp舊值esp+44,ebp+281//局部變量aesp+40,ebp+242//局部變量besp+36esp+32esp+286//y+besp+24,ebp+84//x+aesp+20,ebp+4addl指令的地址esp+16,ebpf_1函數(shù)的ebp舊值esp+12esp+8esp+4esppushl %ebp
movl %esp,%ebp
subl $16,%esp
#計算s
movl 8(%ebp),%eax
movl %eax,%edx
imull 8(%ebp),%edx
#計算x*x,結(jié)果存在edx中
movl 12(%ebp),%eax
imull 12(%ebp),%eax
#計算y*y,結(jié)果存在eax中
leal (%edx,%eax),%eax
#leal5(%edx,%edx,2),%eax
movl %eax,-4(%ebp)
movl -4(%ebp),%eax
leave
ret4//f_1(i,j)中的j3//f_1(i,j)中的iebp+36下一條指令的返回地址ebp+32main函數(shù)的ebp舊值esp+44,ebp+281//局部變量aesp+40,ebp+242//局部變量besp+36esp+32esp+286//y+besp+24,ebp+84//x+aesp+20,ebp+4addl指令的地址esp+16,ebpf_1函數(shù)的ebp舊值esp+12,ebp-452//x*x+y*yesp+8esp+4esppushl %ebp
movl %esp,%ebp
subl $16,%esp
#計算s
movl 8(%ebp),%eax
movl %eax,%edx
imull 8(%ebp),%edx
#計算x*x,結(jié)果存在edx中
movl 12(%ebp),%eax
imull 12(%ebp),%eax
#計算y*y,結(jié)果存在eax中
leal (%edx,%eax),%eax
#leal5(%edx,%edx,2),%eax
movl %eax,-4(%ebp)
movl -4(%ebp),%eax
leave
#恢復(fù)ebp舊值,恢復(fù)esp到返回地址
ret4//f_1(i,j)中的j3//f_1(i,j)中的iebp下一條指令的返回地址ebpmain函數(shù)的ebp舊值esp+24,ebp-41//局部變量aesp+20,ebp-82//局部變量besp+16esp+12esp+86//y+besp+44//x+aespaddl指令的地址f_1函數(shù)的ebp舊值52//x*x+y*ypushl %ebp
movl %esp,%ebp
subl $16,%esp
#計算s
movl 8(%ebp),%eax
movl %eax,%edx
imull 8(%ebp),%edx
#計算x*x,結(jié)果存在edx中
movl 12(%ebp),%eax
imull 12(%ebp),%eax
#計算y*y,結(jié)果存在eax中
leal (%edx,%eax),%eax
#leal5(%edx,%edx,2),%eax
movl %eax,-4(%ebp)
movl -4(%ebp),%eax
leave
#恢復(fù)ebp舊值,恢復(fù)esp到返回地址
ret4//f_1(i,j)中的j3//f_1(i,j)中的iebp下一條指令的返回地址ebpmain函數(shù)的ebp舊值esp+24,ebp-41//局部變量aesp+20,ebp-82//局部變量besp+16esp+12esp+86//y+besp+44//x+aespaddl指令的地址f_1函數(shù)的ebp舊值52//x*x+y*ypushl %ebp
movl %esp,%ebp
subl $16,%esp
#計算s
movl 8(%ebp),%eax
movl %eax,%edx
imull 8(%ebp),%edx
#計算x*x,結(jié)果存在edx中
movl 12(%ebp),%eax
imull 12(%ebp),%eax
#計算y*y,結(jié)果存在eax中
leal (%edx,%eax),%eax
#leal5(%edx,%edx,2),%eax
movl %eax,-4(%ebp)
movl -4(%ebp),%eax
leave
ret
#將棧頂返回地址彈出至$eip4//f_1(i,j)中的j3//f_1(i,j)中的iebp下一條指令的返回地址ebpmain函數(shù)的ebp舊值esp+20,ebp-41//局部變量aesp+16,ebp-82//局部變量besp+12esp+8esp+46//y+besp4//x+aaddl指令的地址f_1函數(shù)的ebp舊值52//x*x+y*y4//f_1(i,j)中的j3//f_1(i,j)中的iebp下一條指令的返回地址ebpmain函數(shù)的ebp舊值esp+20,ebp-41//局部變量aesp+16,ebp-82//局部變量besp+12esp+8esp+46//y+besp4//x+aaddl指令的地址f_1函數(shù)的ebp舊值52//x*x+y*yesp+56,ebp+32舊的EBP值esp+52,ebp+283//i=3;esp+48,ebp+244//j=4;esp+44,ebp+200//k=0;esp+40,ebp+16esp+36,ebp+124//f_1(i,j)中的jesp+32,ebp+83//f_1(i,j)中的iesp+28,ebp+4下一條指令的返回地址esp+24,ebpmain函數(shù)的ebp舊值esp+20,ebp-41//局部變量aesp+16,ebp-82//局部變量besp+12esp+8esp+46//y+besp4//x+a
movl $2,-8(%ebp)
#f_0(x+a,y+b)
movl -8(%ebp),%eax
movl 12(%ebp),%edx
addl %eax,%edx
#準(zhǔn)備最右邊的參數(shù)y+b
movl -4(%ebp),%eax
movl 8(%ebp),%ecx
leal (%ecx,%eax),%eax
#準(zhǔn)備最左邊的參數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年運輸合同電子檔案管理及信息安全保障2篇
- 室內(nèi)門購銷合同范本
- 小汽車場地租賃合同范本
- 2025年度銷售總監(jiān)培訓(xùn)與發(fā)展支持合同2篇
- 項目承包協(xié)議合同范本
- 二零二五年度充電樁項目招投標(biāo)合同范本2篇
- 2024食品廠員工勞動權(quán)益保護(hù)與爭議解決合同3篇
- 2025年度鐵路施工臨時供氣合同范本3篇
- 2025年度活動現(xiàn)場直播攝影委托合同3篇
- 二零二五年度餐飲行業(yè)員工入職保密及競業(yè)限制合同
- 科學(xué)版二年級《游戲迎面接力跑》評課稿
- 彌漫大B細(xì)胞淋巴瘤護(hù)理查房
- 施工方案水泥廠(總)
- GB/T 893-2017孔用彈性擋圈
- GB/T 11072-1989銻化銦多晶、單晶及切割片
- GB 15831-2006鋼管腳手架扣件
- 醫(yī)學(xué)會自律規(guī)范
- 商務(wù)溝通第二版第4章書面溝通
- 950項機(jī)電安裝施工工藝標(biāo)準(zhǔn)合集(含管線套管、支吊架、風(fēng)口安裝)
- 微生物學(xué)與免疫學(xué)-11免疫分子課件
- 《動物遺傳育種學(xué)》動物醫(yī)學(xué)全套教學(xué)課件
評論
0/150
提交評論