版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄
習(xí)題1....................................................................................................1
習(xí)題2...................................................................................................4
習(xí)題3....................................................................................................10
習(xí)題4....................................................................................................13
習(xí)題5....................................................................................................15
習(xí)題6....................................................................................................18
習(xí)題7...................................................................................................21
習(xí)題8...................................................................................................24
習(xí)題9...................................................................................................27
習(xí)題1
1.1簡(jiǎn)述計(jì)算機(jī)系統(tǒng)的硬件組成及各部分作用。
1.2明確下列概念或符號(hào):
主存和輔存,RAM和ROM,存儲(chǔ)器地址和I/O端口,KB,MB,GBTB0
1.3什么是匯編語(yǔ)言源程序、匯編程序、目標(biāo)程序?
1.4匯編語(yǔ)言與高級(jí)語(yǔ)言相比有什么優(yōu)缺點(diǎn)?
1.5將下列十六進(jìn)制轉(zhuǎn)化為二進(jìn)制和十進(jìn)制表示。
(l)FFH(2)0H(3)5EH(4)EFH
(5)2EH(6)10H(7)1FH(8)ABH
1.6將下列十進(jìn)制數(shù)轉(zhuǎn)換為BCD碼表示。
(1)12(2)24(3)68(4)127
(5)128(6)255(7)1234(8)2458
解答:
十進(jìn)制數(shù)BCD碼
1200010010
2400100100
6801101000
127000100100111
128000100101000
255001001010101
12340001001000110100
24580010010001011000
L7將下列BCD碼轉(zhuǎn)換為十進(jìn)制數(shù)。
(1)10010001(2)10001001(3)00110110(4)10010000
(5)00001000(6)10010111(7)10000001(8)00000010
解答:
BCD碼十進(jìn)制數(shù)
1001000191
1000100189
0011011036
1001000090
0000100008
1001011197
1000000181
0000001002
1.8將下列十進(jìn)制數(shù)分別用八位二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼表示。
(1)0(2)-127(3)127(4)-57(5)126(6)-126(7)-128
(8)68
1.9完成下列二進(jìn)制數(shù)的計(jì)算。
(1)1011+1001(2)1011-1001(3)1011X1001(4)10111000/1001
(5)1011A1001(6)1011V1001(7)~1011(8)1011?1001
1.10數(shù)碼0?9,大寫(xiě)字母A?Z,小寫(xiě)字母a?z,對(duì)應(yīng)的ASCH碼分別是多
少?ASCH碼為OdH,OaH對(duì)應(yīng)的是什么字符?
解答:
大寫(xiě)字母A?Z,對(duì)應(yīng)的ASCH碼分別是41H-5AH
小寫(xiě)字母a?z,對(duì)應(yīng)的ASCH碼分別是61H?7AH
ASCH碼為OdH,OaH分別對(duì)應(yīng)“回車(chē)”、“換行”
1.11計(jì)算機(jī)中有一個(gè)“01100001”編碼,如果把它認(rèn)為是無(wú)符號(hào)數(shù),它是十進(jìn)
制什么數(shù)?如果你認(rèn)為它是BCD碼,則表示什么數(shù)?如果它是某個(gè)ASCH碼,則
代表哪個(gè)字符?
1.12簡(jiǎn)述Intel80x86系列微處理器在指令集方面的發(fā)展。
1.13什么是DOS和ROM-BIOS?
1.14簡(jiǎn)述PC最低1MB貯存空間的使用情況。
1.15羅列8086CPU的8個(gè)8位和16位通用寄存器,并說(shuō)明各自的作用。
1.16什么是標(biāo)志?它有什么用途?狀態(tài)標(biāo)志和控制標(biāo)志有什么區(qū)別?畫(huà)出標(biāo)志
寄存器FLAGS,說(shuō)明各個(gè)標(biāo)志的位置和含義。
1.17舉例說(shuō)明CF和OF標(biāo)志的差異。
解答:溢出標(biāo)志OF和進(jìn)位標(biāo)志CF是兩個(gè)意義不同的標(biāo)志
進(jìn)位標(biāo)志表示無(wú)符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果仍然正確;溢出標(biāo)志
表示有符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果已經(jīng)不正確
例1:3AH+7CH=B6H
無(wú)符號(hào)數(shù)運(yùn)算:58+124=182,范圍內(nèi),無(wú)進(jìn)位
有符號(hào)數(shù)運(yùn)算:58+124=182,范圍外,有溢出
例2:AAH+7cH=(1)26H
無(wú)符號(hào)數(shù)運(yùn)算:170+124=294,范圍外,有進(jìn)位
有符號(hào)數(shù)運(yùn)算:—86+124=28,范圍內(nèi),無(wú)溢出
1.18字和雙字在存儲(chǔ)器中如何存放,什么是“小端方式”?對(duì)字和雙字存儲(chǔ)單
元,什么是它們的對(duì)齊地址?為什么要對(duì)齊地址?
1.19什么是8086中的邏輯地址和物理地址?邏輯地址如何轉(zhuǎn)換為物理地址?
請(qǐng)將如下邏輯地址用物理地址表示(表達(dá)地址默認(rèn)采用十六進(jìn)制):
(1)FFFF:0(2)40:17(3)2000:4500(4)B821:4567
解答:對(duì)應(yīng)每個(gè)物理存儲(chǔ)單元都有一個(gè)唯一的20位編號(hào),就是物理地址,從
OOOOOH-FFFFFH
在8086內(nèi)部和用戶編程時(shí),采用的段基地址:段內(nèi)偏移地址形式稱(chēng)為邏輯地
址
將邏輯地址中的段地址左移4位,加上偏移地址就得到20位物理地址
請(qǐng)將如下邏輯地址用物理地址表達(dá):
(1)FFFFh:O=FFFFOH
(2)40h:17h=00417H
(3)2000h:4500h=24500H
(4)B821h:4567h=BC777H
1.208086有哪4種邏輯段?各種邏輯段分別是什么用途?
解答:代碼段(CodeSegment)用來(lái)存放程序的指令序列。處理器利用CS:IP
取得下一條要執(zhí)行的指令
堆棧段(StackSegment)確定堆棧所在的主存區(qū)域。處理器利用SS:SP操作
堆棧中的數(shù)據(jù)
數(shù)據(jù)段(DataSegment)存放當(dāng)前運(yùn)行程序所用的數(shù)據(jù)。處理器利用DS:EA
存取數(shù)據(jù)段中的數(shù)據(jù)
附加段(ExtraSegment)是附加的數(shù)據(jù)段,也用于數(shù)據(jù)的保存。處理器利用ES:
EA存取數(shù)據(jù)段中的數(shù)據(jù)
1.21數(shù)據(jù)的默認(rèn)段是哪個(gè)?是否允許其他段存放數(shù)據(jù)?如果允許,如何實(shí)現(xiàn)?
有什么要求?
1.22什么是操作碼、操作數(shù)和尋址方式?有哪三種給出操作數(shù)的方法?
1.23什么是有效地址EA?8086的操作數(shù)如果在主存中,有哪些尋址方式可以存
取它?
1.24說(shuō)明下列指令中源操作數(shù)的尋址方式?如果BX=2000H,DI=40H,給出DX
的值或有效地址EA的值。
(l)Movdx,[1234h]
(2)Movdx,1234h
(3)Movdx,bx
(4)Movdx,[bx]
(5)Movdx,[bx+1234h]
(6)Movdx,Ebx+di]
(7)Movdx,[bx+di+1234h]
解答:(1)movdx,[1234h];直接尋址,EA=1234h
(2)movdx,1234h;立即數(shù)尋址,DX=1234h
(3)movdx,bx;寄存器尋址,DX=2000h
(4)movdx,[bx];間接尋址,EA=2000h
(5)movdx,[bx+1234h];相對(duì)尋址,EA=3234h
(6)movdx,[bx+di]
;基址變址尋址,EA=2040h
(7)movdx,[bx+di+1234h]
;相對(duì)基址變址尋址,EA=3274h
習(xí)題2
2.1已知DS=2000H,BX=0100H,SI=0002H,存儲(chǔ)單元[20100田”[20103]依次存放
12345678H,[21200H]?[21203H]依次存放2A4CB765H,說(shuō)明下列每條指令
執(zhí)行后AX寄存器的內(nèi)容。
(l)Movax,1200h
(2)Movax,bx
(3)Movax,[1200h]
(4)Movax,[bx]
(5)Movax,[bx+llOOh]
(6)Movax,[bx+si]
(7)Movax,[bx][si+llOOh]
解答:(1)movax,1200h;AX=1200h
(2)movax,bx;AX=OlOOh
(3)movax,[1200h];AX=4C2Ah
(4)movax,[bx];AX=3412h
(5)movax,[bx+HOOh];AX=4C2Ah
(6)movax,[bx+si];AX=7856h
(7)movax,[bx][si+llOOh];AX=65B7h
2.2指出下列指令的錯(cuò)誤
(l)movex,dl(2)movip,ax
(3)moves,1234h(4)moves,ds
(5)moval,300(6)mov[sp],ax
(7)movax,bx+di(8)mov20h,ah
2.3已知數(shù)字0?9對(duì)應(yīng)的格雷碼依次為:
18H,34H,05H,06H,09H,OAH,OCH,11H,12H,14H,它存在于以table為首地址(設(shè)
為200H)的連續(xù)區(qū)域中。為如下程序段的每條指令加上注釋?zhuān)f(shuō)明每條指令的
功能和執(zhí)行結(jié)果。
Leabx,table
Moval,8
Xlat
2.4什么是堆棧?他的工作原則是什么?它的基本操作有哪兩個(gè)?對(duì)應(yīng)哪兩種
指令?
2.5已知SS=2200H,SP二OOBOH,畫(huà)圖說(shuō)明執(zhí)行下列指令序列時(shí),堆棧區(qū)和SP的
內(nèi)容如何變化?
Movax,8057h
Pushax
Movax,0f79h
Pushax
Popbx
Pop[bx]
解答:movax,8057h
pushax
movax,0f79h
pushax
popbx;bx=0f79h
pop[bx]
;DS:[0f79h]=8057h
2.6給出下列各條指令執(zhí)行后AL的值,以及CF,ZF,SF,OF,PF的狀態(tài):
Moval,89h
Addal,al
Addal,9dh
Cmpal,Obch
Subal,al
Decal
Incal
解答:
moval,89h;AL=89hCFZFSFOFPF
addal,al;AL=12h10011
addal,9dh;AL=0afh00101
cmpal,Obch;AL=0afh10101
subal,al;AL=OOh01001
decal;AL=Offh00101
incal;AL=OOh01001
2.7設(shè)X,Y,Z均為雙字?jǐn)?shù)據(jù),分別存放在地址為X,X+2;Y,Y+2;Z,Z+2的存儲(chǔ)單元
中,它們的運(yùn)算結(jié)果存入W單元。閱讀以下程序段,給出運(yùn)算公式。
Movax,X
Movdx,X+2
Addax,Y
Adcdx,Y+2
Addax,24
Adcdx,0
Subax,Z
Sbbdx,Z+2
MovW,ax
movW+2,dx
解答:W=X+Y+24-Z
2.8請(qǐng)分別用一條匯編語(yǔ)言指令完成如下功能:
(1)把BX寄存器和DX寄存器的內(nèi)容相加,結(jié)果存入DX寄存器。
ADDDX,BX
(2)用寄存器BX和SI的基址變址尋址方式把存儲(chǔ)器的1字節(jié)與AL寄存器的
內(nèi)容相加,并把結(jié)果送到AL中。
ADDAL,[BX+SI]
(3)用BX和位移量0B2H的寄存器相對(duì)尋址方式把存儲(chǔ)器中的一個(gè)字和CX寄
存器的內(nèi)容相加,并把結(jié)果送回存儲(chǔ)器中。
ADD[BX+0B2H],CX
(4)用位移量為0520H的直接尋址方式把存儲(chǔ)器中的一個(gè)字與數(shù)3412H相加,
并把結(jié)果送回該存儲(chǔ)單元中。
ADDWORDPTR[0520H],3412H
(5)把數(shù)OAOH與AL寄存器的內(nèi)容相加,并把結(jié)果送回AL中。
ADDAL,OAOH
2.9設(shè)X,Y,Z,V均為十六位帶符號(hào)數(shù),分別裝在X,Y,Z,V存儲(chǔ)單元中,閱讀以下
程序段,得出它的運(yùn)算公式,并說(shuō)明運(yùn)算結(jié)果存于何處。
Movax,X
ImulY
Movex,ax
Movbx,dx
Movax,Z
Cwd
Addex,ax
Adebx,dx
Subex,540
Sbbbx,0
Movax,v
Cwd
Subax,ex
Sbbdx,bx
IdivX
2.10指出下列指令的錯(cuò)誤
(l)xchg[si]30h
(2)Popcs
(3)Sub[si],[di]
(4)Pushah
(5)Adcax,ds
(6)Add[si],80h
(7)Inal,3fch
(8)Outdx,ah
解答:(1)xchg[si],30h:xchg的操作數(shù)不能是立即數(shù)
(2)popCS;不能對(duì)CS直接賦值
(3)sub[si],[di];兩個(gè)操作數(shù)不能都是存儲(chǔ)單元
(4)pushah;堆棧的操作數(shù)不能是字節(jié)量
(5)adcax,ds;adc的操作數(shù)不能是段寄存器
(6)add[si],80h;沒(méi)有確定是字節(jié)還是字操作
(7)inal,3fch;in不支持超過(guò)FFH的直接尋址
(8)outdx,ah;out只能以AL/AX為源操作數(shù)
2.11給出下列各條指令執(zhí)行后的結(jié)果,以及狀態(tài)標(biāo)志CF,OF,SF,ZF,PF的狀態(tài)。
Movax,1470h
Andax,ax
Orax,ax
Xorax,ax
Notax
Testax,OfOfOh
2.12假設(shè)例題2.34中的程序段中,AX=08h,BX=1OH,請(qǐng)說(shuō)明每條指令執(zhí)行后的
結(jié)果和各個(gè)標(biāo)志位的狀態(tài)
2.13編寫(xiě)程序段完成如下要求
(1)用位操作指令實(shí)現(xiàn)AL(無(wú)符號(hào)數(shù))乘以10o
答;不考慮進(jìn)位:考慮進(jìn)位
movbl,alxorah,ah
movcl,3movbx,ax
shlal,clmovcl,3
addal,bl;shlbl,1shlax,cl
addal,bladdax,bx;shlbx,l
addax,bx
(2)用邏輯運(yùn)算指令實(shí)現(xiàn)數(shù)字0到9的ASCII碼與非壓縮BCD碼的互相轉(zhuǎn)換。
答:數(shù)字0?9的ASCII碼是:30h-39h
非壓縮BCD碼的0?9是:00h?09h
方法一:
andal,Ofh;實(shí)現(xiàn)ASCII到非壓縮BCD碼的轉(zhuǎn)換
oral,30h;實(shí)現(xiàn)非壓縮BCD碼到ASCII的轉(zhuǎn)換
(一)testal,30h
jnzASCII
oral,30h;非壓縮BCD碼到ASCII的轉(zhuǎn)換
jmpdone
ASCII:andal,Ofh;ASCII到非壓縮BCD碼的轉(zhuǎn)換
done:…
方法二:
xoral,30h;求反D5D4位,其他不變
;即高4位為3,則變?yōu)?;高4位為0,則變?yōu)?
(3)把DX,AX中的雙字右移4位。
答:movcl,4
again:shrdx,1;實(shí)現(xiàn)邏輯右移
;采用“sardx,r,則實(shí)現(xiàn)算術(shù)右移
rcrax,1
deccl
jnzagain
2.14已知AL=F7H(表示有符號(hào)數(shù)-9),分別編寫(xiě)用SAR和IDIV指令實(shí)現(xiàn)的除以
2的程序段,并說(shuō)明各自執(zhí)行后,所得的商是什么?
2.15已知數(shù)據(jù)段500H到600H處存放了一個(gè)字符串,說(shuō)明下列程序段執(zhí)行后的
結(jié)果:
Movsi,600h
Movdi,601h
Movdx,ds
Moves,ax
Movex,256
Std
Repmovsb
2.16說(shuō)明下列程序段的功能
Cid
Movax,Ofefh
Movex,5
Movbx,3000h
Moves,bx
Movdi,2000h
Repstosw
2.17指令指針I(yè)P是通用寄存器還是專(zhuān)用寄存器?有指令能夠直接賦值么?哪類(lèi)
指令的執(zhí)行會(huì)改變它的值?
2.18控制轉(zhuǎn)移指令中有哪三種尋址方式?
2.19什么是短轉(zhuǎn)移shortjump、近轉(zhuǎn)移nearjump和遠(yuǎn)轉(zhuǎn)移farjump?什么是
段內(nèi)轉(zhuǎn)移和段間轉(zhuǎn)移?8086有哪些指令可以實(shí)現(xiàn)段間轉(zhuǎn)移?
2.208086的條件轉(zhuǎn)移指令的轉(zhuǎn)移范圍有多大?實(shí)際編程時(shí),你如何處理超出范
圍的條件轉(zhuǎn)移?
2.21假設(shè)DS=2000H,BX=1256H,SI=528FH,位移量TABLE=2OA1H,
[232F7H]=3280H,[264E5H]=2450H,試問(wèn)執(zhí)行下列段間接尋址的轉(zhuǎn)移指令后,轉(zhuǎn)移
的目的地址是什么?
(l)JMPBX
(2)JMPTABLE[BX]
(3)JMP[BX],[SI]
2.22判斷下列程序段跳轉(zhuǎn)的條件
(l)xorax,leleh
Jeequal
(2)testal,10000001b
Jnzthere
(3)empex,64h
Jbthere
答:(1)xorax,leleh
jeequal
;AX=leleh(異或后為0)
(2)testal,10000001b
jnzthere
;AL的DO或D7至少有一位為1
(3)empex,64h
jbthere
;CX(無(wú)符號(hào)數(shù))V64h
2.23設(shè)置CX=0,則LOOP指令將循環(huán)多少次?例如:
movex,0
Delay:loopdelay
2.24假設(shè)AX和SI存放的是有符號(hào)數(shù),DX和DI存放的是無(wú)符號(hào)數(shù),請(qǐng)用比較
指令和條件轉(zhuǎn)移指令實(shí)現(xiàn)以下判斷:
(1)若DX>DI,轉(zhuǎn)到above執(zhí)行
(2)若AX>SI,轉(zhuǎn)到greater執(zhí)行;
(3)若CX=0,轉(zhuǎn)到zero執(zhí)行;
(4)若AX-SI產(chǎn)生溢出,轉(zhuǎn)到overflow執(zhí)行;
(5)若SI<=AX,轉(zhuǎn)到less_eq執(zhí)行;
(6)若DI<=DX,轉(zhuǎn)到below_eq執(zhí)行;
答:(1)若DX>DI,轉(zhuǎn)到above執(zhí)行
empdx,di
jaabove;=jnbeabove
(2)若AX>SI,轉(zhuǎn)到greater執(zhí)行
empax,si
jggreater;=jnlegreater
(3)若CX=0,轉(zhuǎn)到zero執(zhí)行
empex,0jexzzero
jzzero
(4)若AX—SI產(chǎn)生溢出,轉(zhuǎn)到overflow執(zhí)行;
empax,di
jooverflow
(5)若SI<AX,轉(zhuǎn)到less_eq執(zhí)行;
empsi,axempax,si
jleless_eqjgeless_eq
(6)若DKDX,轉(zhuǎn)到below_eq執(zhí)行。
empdi,dxempdx,di
jbebelow_eqjaebelow_eq
2.25有一個(gè)首地址為array的20個(gè)字的數(shù)組,說(shuō)明下列程序段的功能。
movex,20
Movax,0
Movsi,ax
Sum_loop:addax,array[si]
Addsi,2
Loopsum_loop
Movtotal,ax
2.26按照下列要求,編寫(xiě)相應(yīng)的程序段:
(1)其實(shí)地址為string的主存單元中存放有一個(gè)字符串(長(zhǎng)度大于6),把該
字符串的第一個(gè)和第六個(gè)字符(字節(jié)量)傳送給DX寄存器。
(2)從主存buffer開(kāi)始的4字節(jié)中保存了4個(gè)非壓縮BCD碼,現(xiàn)按低(高)地
址對(duì)低(高)位的原則,將他們合并到DX中。
(3)編寫(xiě)一個(gè)程序段,在DX高4位全為0時(shí),使用AX=0;否則AX=-1。
答:testdx,OfOOOh;testdh,OfOh
jznext;jnznext
movax,-1;movax,0
jmpagain
next:movax,0;movax,Offffh
again:???
⑷有兩個(gè)64位數(shù)值,按“小端方式”存放在兩個(gè)緩沖區(qū)bufferl和buffer2,
編寫(xiě)程序段完成bufferl-buffer2功能。
⑸假設(shè)從B800h:0開(kāi)始存放有100個(gè)16位無(wú)符號(hào)數(shù),編程求他們的和,并把
32位的和保存在DX.AX中。
(6)已知字符串string包含有32KB內(nèi)容,將其中的飛,符號(hào)替換成空格。
答1:;不使用串操作指令,更好
movsi,offsetstring
movex,8000h
again:empbyteptr[si],=24h
jnznext
movbyteptr[si],'';,,=20h
next:incsi
loopagain;decex
;jnzagain
答2:;使用串操作指令
movdi,offsetstring
moval,'$'
movex,8000h
cld
again:scasb
jnznext
movbyteptres:[di-l],i'
next:loopagain
(7)有一個(gè)100字節(jié)元素的數(shù)組,其首地址為array,將每個(gè)元素減1(不考慮
溢出)存于原處。
答1:movsi,offsetarray
movex,100
again:decbyteptr[si]
incsi
loopagain
答2:movsi,offsetarray
movdi,si
movax,ds
moves,ax
movex,100
cld
again:lodsb
decal
stosb
loopagain
(8)統(tǒng)計(jì)以'$'結(jié)尾的字符串srting的字符個(gè)數(shù)。
2.27對(duì)以下要求,分別給出3種方法,每種方法只用一條指令。
⑴使CF=0
⑵使AX=0
(3)使AX=0和CF=0
2.28參照本習(xí)題的示意圖,分析調(diào)用序列,畫(huà)出每次調(diào)用及返回時(shí)的堆棧狀態(tài)
其中CALL前是該指令所在的邏輯地址;另外,段內(nèi)直接調(diào)用指令的機(jī)器代
碼的字節(jié)數(shù)為3,段間直接調(diào)用指令則為5字節(jié)。
2.29已知AX,BX存放的是4位壓縮BCD表示的十進(jìn)制數(shù),請(qǐng)說(shuō)明如下子程序
的功能和出口參數(shù)。
Addal,bl
Daa
Xchgal,ah
Adcal,bh
Daa
Xchgal,ah
Ret
答:壓縮BCD碼加法:
AX-AX+BX
出口參數(shù):
AX=BCD碼和
2.30ADD指令是用于除法指令之前,進(jìn)行壓縮BCD碼調(diào)整的。實(shí)際上,處理器
的調(diào)整過(guò)程是:AL<-AHX10+AL,AH<-0o如果指令系統(tǒng)沒(méi)有ADD指令,請(qǐng)用一個(gè)
子程序完成這個(gè)調(diào)整工作。
2.31解釋如下有關(guān)中斷的概念:
(1)內(nèi)部中斷和外部中斷
(2)單步中斷和斷點(diǎn)中斷
(3)除法錯(cuò)中斷和溢出中斷
(4)中斷向量號(hào)和中斷向量表
2.32試比較INTn和段間CALL指令,IRET和段間RET指令的功能。
2.33什么是系統(tǒng)功能調(diào)用?匯編語(yǔ)言中,它的般格式是怎樣的?
2.34補(bǔ)充例2.40,當(dāng)有溢出時(shí)顯示"Error!Overflow!",無(wú)溢出顯示"OK"。
補(bǔ)充例2.42,顯示的個(gè)數(shù),注意首先將個(gè)數(shù)轉(zhuǎn)換為ASCH碼。
okmsgdb'OK','$'
errmsgdb*Error!Overflow!','$'
movax,X
subax,Y
jooverflow
movdx,offsetokmsg
jmpnext
overflow:movdx,errmsg
next:movah,9
int21h
2.36先提示輸入數(shù)字“InputNumber:0to9”,然后在下一行顯示輸入的數(shù)字,
結(jié)束;如果不是鍵入了0到9數(shù)字,就提示錯(cuò)誤"Error",繼續(xù)等待輸入數(shù)
字。
2.37從鍵盤(pán)輸入一個(gè)字符串(不超過(guò)255)個(gè),將其中的小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)
字母,然后按原來(lái)的順序在屏幕上顯示。
2.38指令對(duì)狀態(tài)標(biāo)志的作用可以分成多中情況,例如無(wú)影響、無(wú)定義、按結(jié)果
影響、特別說(shuō)明的影響等,你能區(qū)別這些情況么?分別用具體的指令來(lái)說(shuō)
明。
2.398086指令系統(tǒng)分成哪6個(gè)功能組?各組主要包含什么指令?舉例說(shuō)明。
2.40總結(jié)8086指令系統(tǒng)所采用的各種尋址方式,包括一般的數(shù)據(jù)尋址、外設(shè)數(shù)
據(jù)尋址、堆棧數(shù)據(jù)尋址、串操作數(shù)據(jù)尋址、轉(zhuǎn)移指令目的地址的尋址等,
并舉例說(shuō)明。
習(xí)題3
3.1偽指令語(yǔ)句與硬件指令語(yǔ)句的本質(zhì)區(qū)別是什么?偽指令有什么主要作用?
3.2什么是標(biāo)識(shí)符?匯編程序中標(biāo)識(shí)符怎樣組成?
3.3什么是保留字?匯編語(yǔ)言的保留字有哪些類(lèi)型?并舉例說(shuō)明。
3.4匯編語(yǔ)句有哪兩種?每個(gè)語(yǔ)句由哪四部分組成?
3.5匯編語(yǔ)言程序的開(kāi)發(fā)有哪4個(gè)步驟?分別利用什么程序完成、產(chǎn)生什么輸
出文件?
答:1.編輯文本編輯程序匯編語(yǔ)言源程序asm
2.匯編匯編程序目標(biāo)模塊文件.obj
3.連接連接程序可執(zhí)行文件.exe或.com
4.調(diào)試調(diào)試程序應(yīng)用程序
3.6將第2章習(xí)題2.36采用簡(jiǎn)化段定義格式編寫(xiě)成一個(gè)完整的源程序。
3.7將第2章習(xí)題2.37采用完整段定義格式編寫(xiě)成一個(gè)完整的源程序。
3.8區(qū)分下列概念:
(1)變量和標(biāo)號(hào)(2)數(shù)值表達(dá)式和地址表達(dá)式(3)符號(hào)常量和字符串常量
3.9假設(shè)myword是一^1^字變量,mybytel和mybyte2是2字節(jié)變量,指出下列
語(yǔ)句中的錯(cuò)誤原因
答:(1)movbyteptr[bx],1000
;1000超出了一個(gè)字節(jié)范圍
(2)movbx,offsetmyword[si]
;寄存器的值只有程序執(zhí)行時(shí)才能確定,
;而offset是匯編過(guò)程計(jì)算偏移地址,故無(wú)法確定
;可以改為leabx,myword[si]
(3)cmpmybytel,mybyte2
;兩個(gè)都是存儲(chǔ)單元,指令不允許
(4)moval,mybytel+mybyte2
;變量值只有執(zhí)行時(shí)才確定,匯編過(guò)程不能計(jì)算
(5)subal,myword
;字節(jié)量AL與字量myword,類(lèi)型不匹配
(6)jnzmyword
;Jcc指令只有相對(duì)尋址方式,不支持間接尋址方式
3.100PR1是一個(gè)常量,問(wèn)下列語(yǔ)句中兩個(gè)AND操作有什么區(qū)別?
ANDAL,OPRIANDOfeh
3.11給出下列語(yǔ)句中,指令立即數(shù)(數(shù)值表達(dá)式)的值:
(l)moval,23hAND45hor67h
(2)Movax,1234h/16+10h
(3)Movax,NOT(65535XOR1234h)
(4)Moval,LOW1234hORHIGH5678h
(5)Movax,23hSHL4
(6)Movax,1234hSHR6
(7)Moval,'a'AND(NOTCa-A*))
(8)Moval,*H*OROOlOOOOOb
(9)Movax,(76543LT32768)XOR7654h
3.12為第2章立體2.54定義變量count、block、dplus和dminus。
3.13為第2章例題2.55定義相應(yīng)的變量,并形成一個(gè)完整的匯編語(yǔ)言程序。
3.14畫(huà)圖說(shuō)明下列語(yǔ)句分配的存儲(chǔ)空間及初始化的數(shù)據(jù)值:
(l)byte_varDB'ABC*,10,lOh,'EF',3DUP(-1,?,3DUP(4))
(2)Word_varDWlOh,-5,'EF',3DUP(?)
答:(1)byte_varDB'ABC',10,lOh,'EF',3DUP(-1,?,3DUP(4))
'A''B''C'10lOh'E'T'-1-444
41h42h43hOahlOh45h46hffli-04h04h04h
3個(gè)
(2)word_varDWlOh,-5,'EF',3DUP(?)
lOh0FBhFFh46h47h
lOh-5'EF'???
3.15請(qǐng)?jiān)O(shè)置一個(gè)數(shù)據(jù)mydataseg,按照如下定義變量:
(l)mylb為字符串變量:PersonalConputer
(2)my2b為用十進(jìn)制數(shù)表示的字節(jié)變量:20
(3)My3b為用十六進(jìn)制數(shù)表示的字節(jié)變量:20
(4)My4b為用二進(jìn)制數(shù)表示的字節(jié)變量:20
⑸My5w為20個(gè)未賦值的字節(jié)變量
(6)My6c為100的常量
(7)My7c表示字符串:PersonalComputer
答:mydatasegsegment
mylbdb'PersonalComputer'
my2bdb20
my3bdb14h;20h
my4bdb00010100b
my5wdw20dup(?)
my6cequ100;my6c=100
my7cequ<PersonalComputer>
mydatasegends
3.16分析例題3.2的數(shù)據(jù)段,并上機(jī)觀察數(shù)據(jù)的儲(chǔ)存形式。
3.17修改例題3.3,現(xiàn)在用字定義偽指令dw,字符串傳送指令movsw和字符串
顯示9號(hào)功能調(diào)用實(shí)現(xiàn)
3.18變量和標(biāo)號(hào)有什么屬性?
3.19設(shè)在某個(gè)程序中有如下片段,請(qǐng)寫(xiě)出每條傳送指令執(zhí)行后寄存器AX的內(nèi)
容:
Mydatasegment
ORG100H
VARWDW1234H,5678H
VARBDB3,4
ALIGN4
VARDDD12345678H
EVEN
BUFFDB1ODUP(?)
MESSDB'HELLO'
BEGIN:MOVAX,OFFSETMESS
MOVAX,TYPEBUFF+TYPEMESS+TYPEVARD
MOVAX,SIZEOFVARW+SIZEOFBUFF+SIZEOFMESS
MOVAX,LENGTHOFVARW+LENGTHOFVARD
MOVAX,LENGTHOFBUFF+SIZEOFVARW
MOVAX,TYPEBEGIN
MOVAX,OFFSETBEGIN
3.20利用簡(jiǎn)化段定義格式,必須具有.MODEL語(yǔ)句。MASM定義了哪7種儲(chǔ)存模式?
TINY和SMALL模式創(chuàng)建什么類(lèi)型(EXE或COM)程序?設(shè)計(jì)32位程序應(yīng)該采用
什么模式?
3.21源程序中如何指明執(zhí)行的起始點(diǎn)?源程序應(yīng)該采用哪個(gè)DOS功能調(diào)用,實(shí)
現(xiàn)程序返回DOS?
3.22在SMALL儲(chǔ)存模式下,簡(jiǎn)化段定義格式的代碼段,數(shù)據(jù)段和堆棧段的默認(rèn)
段名,定位,組合以及類(lèi)別屬性分別是什么?
3.23如何用指令代碼代替.startup和.exit指令,使得例題3.la能夠在MASM
5.x下匯編通過(guò)?
3.24創(chuàng)建一個(gè)COM程序完成例題3.1的功能。
3.25按下面的要求寫(xiě)一個(gè)簡(jiǎn)化段定義格式的源程序
(1)定義常量num,其值為5;數(shù)據(jù)段中定義字?jǐn)?shù)組變量datalist,它的頭5
個(gè)字單元中依次存放-1,0,2,5和4,最后一個(gè)單元初值不變;
(2)代碼段中的程序?qū)atalist中頭num個(gè)數(shù)的累加和存入datalist的最后
一個(gè)字單元中。
3.26按下面的要求寫(xiě)一個(gè)完整段定義格式的源程序
(1)數(shù)據(jù)段從雙字邊界開(kāi)始,其中定義一個(gè)100字節(jié)的數(shù)組,同時(shí)該段還作為
附加段;
(2)堆棧段從節(jié)邊界開(kāi)始,組合類(lèi)型為stack;
(3)代碼段的類(lèi)型是‘code'指定段寄存器對(duì)應(yīng)的邏輯段;主程指定從100H開(kāi)
始,給有關(guān)段寄存器付初始值;將數(shù)組元素全部設(shè)置為64H
3.28編制程序完成12H,45H,0F3H,6AH,20H,OFEH,90H,0C8H,57H和34H等10字
節(jié)數(shù)據(jù)之和,并將結(jié)果存入字節(jié)變量SUM中(不考慮溢出)。
3.29結(jié)構(gòu)數(shù)據(jù)類(lèi)型如何說(shuō)明?結(jié)構(gòu)變量如何定義?結(jié)構(gòu)字段如何引用?
3.30記錄數(shù)據(jù)類(lèi)型如何說(shuō)明?記錄變量如何定義?Width和mask操作符起什么
作用?
習(xí)題4
4.1例題4.2如果要求算術(shù)右移8位,如何修改程序?
4.2例題4.2如果要求算術(shù)左移7位,如何用移位指令實(shí)現(xiàn)?
4.3制作一個(gè)程序,將AX寄存器中的16位數(shù)連續(xù)4位分成一組,共4組,然后
把這4組數(shù)分別放在AL,BL,CL和DL寄存器。
答:
DATASENGMENT
AX1DW?
AL1DB0
BL1DB0
CL1DB0
DL1DB0
DATAENDS
CODESENGMENT
ASSUMECS:CODEDS:DATA
START:MOVAX,DATA
MOVDS,AX
MOVAX,AX1
ANDAL,OFH
MOVDL,AL
ANDAH,OFH
MOVDH,AH
MOVAX,AX1
MOVCL,4
SHRAL,CL
MOVBL,AL
MOVCL,4
SHRAH,CL
MOVAL,AH
MOVCL,DH
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
4.4編寫(xiě)一個(gè)程序,把鍵盤(pán)輸入的一個(gè)小寫(xiě)字母用大寫(xiě)字母顯示出來(lái)。
答:
DATASENGMENT
BUFDB0
DATAENDS
CODESENGMENT
ASSUMECS:CODEDS;DATA
START:MOVAX,DATA
MOVDS,AX
MOVAH,1
INT21H
CMPAL,'a'
JBN
CMPAL,'z'
JAN
SUBAL,20H
N:MOVDL,AL
MOVAH,2
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
4.5已知用于LED數(shù)碼管顯示的代碼表為
LEDtableDBOcOh,0f9h,0a4h,ObOh,99h,92h,82h,0f8h
DB80h,90h,88h,83h,0c6h,Oclh,86h,8eh
它依次表示0到9,A到F這16個(gè)數(shù)碼的顯示代碼。現(xiàn)編寫(xiě)一個(gè)程序現(xiàn)實(shí)將
lednum中的一個(gè)數(shù)字轉(zhuǎn)換成對(duì)應(yīng)的LED顯示代碼。
4.6請(qǐng)問(wèn)第2章例題2.41/2.43/2,45/2.48的分支是單分支、雙分支或多分支
結(jié)構(gòu)?
4.7分析第2章例題2.42的分支結(jié)構(gòu),畫(huà)出流程圖。
4.8如果在例題4.4的table中依次填入msgl到msg8,程序應(yīng)該怎樣修改?
4.9編制一個(gè)程序,把變量bufX和bufY中較大者存入bufZ;若兩者相等,則
把其中之一存入bufZ中。假設(shè)變量存放的是8位無(wú)符號(hào)數(shù)。
答:
.modelsmall
?stack
.data
Moval,bufz
Movbl,bufx
Movcl,bufy
Cmpbl,cl
JneL
Movbufz,bl
Jmpexit
L:jgLI
Movbufz,cl
Jmpexit
LI:movbufz,bl
Exit:
4.10設(shè)變量bufX為有符號(hào)16位數(shù),請(qǐng)將它的符號(hào)狀態(tài)保存在signX,即:如
果X大于等于0,保存0;如果X小于0,保存一l(ffh)。編寫(xiě)該程序。
答:
.modelsmall
,stack
,data
bufxdw?
signxdb0
Start::movax,data
movds,ax
moval,bufx
cmpal,0
jge1
movsignx,-1
jmpexit
1:movsignx,0
exit:movah,4ch
int21h
end
4.11bufX,bufY和bufZ是3個(gè)有符號(hào)十六進(jìn)制數(shù),編寫(xiě)一個(gè)比較相等關(guān)系的程
序:
(1)如果這3個(gè)數(shù)都不相等,則顯示0;
(2)如果這3個(gè)數(shù)中有兩個(gè)數(shù)相等,則顯示1;
(3)如果這3個(gè)數(shù)都相等,則顯示2;
答:
.modelsmall
.stack
.data
Movax,bufx
Movbx,bufy
Movex,bufz
Cmpax,ex
JeL2
Cmpbx,ex
JeL2
Movdl,'O'
Movah,2
Int21h
Jmpexit
L:cmpbx,ex
JeLI
L2:movdl,1
Movah,2
Int21h
Jmpexit
LI:movdl,,2,
Movah,2
Int21h
exit
4.12分析第2章例題2.42,2.52,.2.53的結(jié)構(gòu),分別畫(huà)出他們的流程圖。
4.13例題4.8內(nèi)外循環(huán)次數(shù)共是多少?如果要求按從大到小排序,程序如何修
改?
4.14串操作指令常要利用循環(huán)結(jié)構(gòu),現(xiàn)在不用串結(jié)構(gòu)指令如何實(shí)現(xiàn)字符串
String1內(nèi)容傳送到字符串Sring2,字符串長(zhǎng)度為count.
答:
DSEGSEGMENTLEASI,string1
StringlDB'abcdefg'LEASI,string2
count=$-stringmovCX,count
string?DBcountDUP(O)L:MOVALJSI]
DSESESEGMENTMOV[DI],AL
SSEGSEGMENTSTACK/NCSI
STKDBcountDUP(O)/NCDI
SSEGENDSLOOPL
CSEGSEGMENTMOVAH,4CH
ASSUMEDS:DSEG,INT21H
ES:ESEGSSrSSEG,CSEGENDS
CS:CSEGENDSTART
START:MOVAS,DSEG
MOVDS,AX
MOVAX,ESEG
MOVES,AX
MOVAS,SSEG
MOVSS,AX
MOVSP,LENGTHSTK
4.15不用串操作指令求主存0040H:0開(kāi)始的一個(gè)64KB物理段中共有多少個(gè)空
格?
4.16編程實(shí)現(xiàn)把鍵入的一個(gè)字符,用二進(jìn)制形式(0/1)顯示出它的ASCII代碼
值
答:
MOVAH,1
INT21H
MOVBL,AL
MOVAH,2
MOVDL,(_9
INT21H
MOVCX,8
AGAIN:SHLBL,1
MOVDL,0
ADCDL,30H
MOVAH,2
INT21H
LOOPAGAIN
4.17編寫(xiě)程序,要求從鍵盤(pán)接收一個(gè)數(shù)beHN(0到9),然后鈴聲bellN次
4.18編程寫(xiě)程序,將一個(gè)包含有20個(gè)有符號(hào)數(shù)據(jù)的數(shù)組arrayM分成兩個(gè)數(shù)組:
正數(shù)組arrayP和負(fù)數(shù)組arrayN,并分別把這兩個(gè)數(shù)組的數(shù)據(jù)個(gè)數(shù)顯示出來(lái)。
答:
DATASEGMENT
arrayMDW1,2,3,-2.-4....,8
arrayMDW20DUP(?)
arrayNDW20DUP(?)
countPDW?
countNDW?
DATAENDS
Codesegment
assumeCS:code,DS:DATA
START:MOVAX,DATA
MOVDS,AX
LEABX,arrayM
MOVSI,0
MOVDI,0
MOVCX,20
MOVcountP,0
MOVcountN,0
NEXT:MOVAX,[BX]
CMPAX,0
JLNN
MOVarrayp[SI],AX
ADDSI,2
INCcountP
JMPPP
NN:MOVaiTayNfDI],AX
ADDDI,2
INCcountN
PP:ADDBX,2
LOOPNEXT
MOVAH,40H
INT21H
CODEENDS
ENDSTART
4.19編寫(xiě)計(jì)算100個(gè)正數(shù)之和的程序,如果和不超過(guò)16位字的范圍(65535),
則保存其和到wordsum,如果超過(guò)則顯示**overflow
答:
.modelsmall
.stack
.data
DIDWdl,d2......dlOO
N=$-Dl
wordsumdw?
.code
.Startup
xorax,ax
LEASI,D1
movcx,N
agaim:addax,[SI]
JCoverflow
ADDSI,2
movwordsum,ax
JMPEXIT
overflow:movdx,offsetstring
movah,09h
int21H
EXIT:........
.EXIT
4.20變成判斷主存0070h:0開(kāi)始的1KB中有無(wú)字符串‘DEBUG'這是一個(gè)字符串包
含的問(wèn)題,可以采用逐個(gè)向后比較的簡(jiǎn)單算法。
4.21編程把一個(gè)16位無(wú)符號(hào)二進(jìn)制數(shù)轉(zhuǎn)換成用8421BCD碼表示的5位十進(jìn)制數(shù)。
轉(zhuǎn)換算法可以是:用二進(jìn)制數(shù)除以10000,商為“萬(wàn)位”,再用余數(shù)除以1000,
得到“千位”;依次用余數(shù)除以100,10和1,得到“百位”、“十位”和“個(gè)位”。
4.22過(guò)程定義的一般格式是怎樣的?子程序入口為什么常有PUSH指令,出口為
什么有POP指令?下面的程序段有什么不妥么?若有,請(qǐng)改正:
CrazyPROC
Pushax
Xorax,ax
Xordx,dx
Again:addax,[bx]
Adcdx,0
Incbx
Incbx
Loopagain
Ret
ENDPcrazy
答:
crazyPROC;crazyPROC字量求和子程序
pushax;
xorax,ax;xorax,ax入口參數(shù):
11*=數(shù)據(jù)首址
CX=數(shù)據(jù)個(gè)數(shù)
出口參數(shù):
人*=和的低字
xordx,dx;xordx,dx
again:addax,[bx];again:addax,[bx]
adcdx,0;adcdx,0
incbx;incbx
incbx;incbx
loopagain;loopagain
ret;ret
ENDPcrazy;crazyENDP
4.23子程序的參數(shù)傳遞有哪些方法?比較
答:
(1)寄存器傳遞參數(shù),優(yōu)點(diǎn):速度快,缺點(diǎn):寄存器有限,適合少量數(shù)據(jù)。
(2)變量傳遞參數(shù),優(yōu)點(diǎn):變量可定義,適應(yīng)較多數(shù)據(jù),缺點(diǎn):速度慢。
(3)堆棧傳遞參數(shù),優(yōu)點(diǎn):適合特殊數(shù)據(jù)的處理,缺點(diǎn):繁瑣易出錯(cuò)。
(4)地址表傳遞參數(shù),優(yōu)點(diǎn):適合大量數(shù)據(jù),缺點(diǎn):較繁瑣。
4.24采用堆棧傳遞參數(shù)的一般方法是什么?為什么應(yīng)該特別注意堆棧平衡問(wèn)
題?
4.25什么是之程序的嵌套,遞歸和重入?
4.26將例題4.7的大寫(xiě)之母轉(zhuǎn)換為小寫(xiě)字母寫(xiě)成過(guò)程,利用AL作為入口參數(shù)、
出口參數(shù)完成。
4.27請(qǐng)按如下子程序說(shuō)明編寫(xiě)過(guò)程:
;子程序功能:把用ASCH碼表示的2位十進(jìn)制數(shù)轉(zhuǎn)換為對(duì)應(yīng)的二進(jìn)制數(shù)
;入口參數(shù):D+十位數(shù)的ASCH碼,DL=j位數(shù)的ASCH碼
;出口參數(shù):AL/寸應(yīng)的二進(jìn)制數(shù)
4.28寫(xiě)一個(gè)子程序根據(jù)入口參數(shù)AL=0/l/2,分別實(shí)現(xiàn)大寫(xiě)字母轉(zhuǎn)換成小寫(xiě),小
寫(xiě)轉(zhuǎn)換成大寫(xiě)或大小寫(xiě)字母互換,欲轉(zhuǎn)換的字符串在String中,用0表示
結(jié)束。
答:
.modelsmall
.stack
.data
Stringdb.Hello,everYDAY;0
.code
.startup
movbx,offsetString
MOVAH,1
1/NT21H
CMPAL/O'
JNELI
CALLSUBO
L1:CMPAL,T
JNEL2
CALLSUB1
L2:CMPAL,’2’
JNEL3
CALL
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)理知識(shí)之健康教育
- 保險(xiǎn)客戶經(jīng)理制度
- 企業(yè)消防包保制度
- 交通過(guò)道制度
- 嚴(yán)格落實(shí)雙報(bào)告制度
- 2026年玉溪市生態(tài)環(huán)境局華寧分局編外辦公輔助(內(nèi)勤相關(guān))人員公開(kāi)招聘?jìng)淇碱}庫(kù)完整參考答案詳解
- 護(hù)理健康科普營(yíng)養(yǎng)
- 2025至2030中國(guó)智能網(wǎng)聯(lián)汽車(chē)數(shù)據(jù)合規(guī)治理法律框架及企業(yè)應(yīng)對(duì)策略研究報(bào)告
- 遠(yuǎn)程醫(yī)療與用藥護(hù)理
- 東莞市公安局水上分局麻涌水上派出所2025年第1批警務(wù)輔助人員招聘?jìng)淇碱}庫(kù)及1套完整答案詳解
- 頸椎間盤(pán)突出癥的治療和護(hù)理講課件
- 大學(xué)之道故事解讀
- 外立面改造項(xiàng)目腳手架施工專(zhuān)項(xiàng)方案
- 2023年全國(guó)職業(yè)院校技能大賽-生產(chǎn)事故應(yīng)急救援賽項(xiàng)規(guī)程
- 廣東省建筑工程混凝土結(jié)構(gòu)抗震性能設(shè)計(jì)規(guī)程
- 切削液回收及處理合同模板
- 2023年移動(dòng)綜合網(wǎng)絡(luò)資源管理系統(tǒng)技術(shù)規(guī)范功能分冊(cè)
- 幼兒園大班班本課程-邂逅水墨課件
- 計(jì)算機(jī)輔助翻譯智慧樹(shù)知到期末考試答案章節(jié)答案2024年西華大學(xué)
- HGT 2520-2023 工業(yè)亞磷酸 (正式版)
- 閻良現(xiàn)代設(shè)施花卉產(chǎn)業(yè)園規(guī)劃設(shè)計(jì)方案
評(píng)論
0/150
提交評(píng)論