![匯編已整理By大蝸牛_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/84677bed-8304-4d5d-92d6-ed7dca320a91/84677bed-8304-4d5d-92d6-ed7dca320a911.gif)
![匯編已整理By大蝸牛_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/84677bed-8304-4d5d-92d6-ed7dca320a91/84677bed-8304-4d5d-92d6-ed7dca320a912.gif)
![匯編已整理By大蝸牛_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/84677bed-8304-4d5d-92d6-ed7dca320a91/84677bed-8304-4d5d-92d6-ed7dca320a913.gif)
![匯編已整理By大蝸牛_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/84677bed-8304-4d5d-92d6-ed7dca320a91/84677bed-8304-4d5d-92d6-ed7dca320a914.gif)
![匯編已整理By大蝸牛_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/84677bed-8304-4d5d-92d6-ed7dca320a91/84677bed-8304-4d5d-92d6-ed7dca320a915.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、填空題: 1.循環(huán)程序可由循環(huán)初始化、循環(huán)體、循環(huán)控制三部分組成。 2.當(dāng)標(biāo)志位CF=1時(shí)表示無(wú)符號(hào)數(shù)運(yùn)算產(chǎn)生進(jìn)位,而當(dāng)標(biāo)志位OF=1是表示帶符號(hào)數(shù)運(yùn)算產(chǎn)生溢出。 3.外中斷有兩種類型,分別是可屏蔽中斷和非屏蔽中斷。 4.8086/8088寄存器組可以分為四類,它們分別是數(shù)據(jù)寄存器、指針及變址寄存器、段寄存器、控制寄存器。 5.有指令MOV CL,N完成將一個(gè)有符號(hào)數(shù)送入CL,要使該指令合法,則N的最大值是+127,最小值是-128。(用十進(jìn)制數(shù)表示) 6.在1M字節(jié)的存儲(chǔ)器中,每個(gè)存儲(chǔ)單元都有一個(gè)唯一的20位
2、地址,稱為該物理單元的物理地址。 7.在DEBUG環(huán)境下,可以對(duì)源程序進(jìn)行匯編、修改和執(zhí)行。 8.定義宏指令的偽指令是MACRO和ENDM 9.CPU要訪問(wèn)的某一存儲(chǔ)單元的實(shí)際地址稱為物理地址 10.8086中通用寄存器中,AX:累加器,BX:基址寄存器,CX:計(jì)數(shù)器,DX:數(shù)據(jù)寄存器, SP:堆棧指針寄存器,BP:基址指針寄存器,SI:源變址寄存器,DI:目的變址寄存器 11.8086微處理器的功能結(jié)構(gòu)分哪兩大部件。 總線接口單元BIU
3、和執(zhí)行單元EU;BIU負(fù)責(zé)與存儲(chǔ)器接口,EU部分負(fù)責(zé)指令的執(zhí)行。 12.微機(jī)的總線按功能分為哪三大總線。 地址總線AB、數(shù)據(jù)總線DB、控制總線CB 13.8086微機(jī)內(nèi)存是分段管理的,這樣存儲(chǔ)器單元的邏輯地址分為哪兩個(gè)兩部分,計(jì)算為物理地址公式是什么? 邏輯地址分為段基址和偏移量; 物理地址=10H*段基址+偏移量 14.編程的基本結(jié)構(gòu):順序結(jié)構(gòu) 分支結(jié)構(gòu) 循
4、環(huán)結(jié)構(gòu) 15.如JMP指令采用段間間接尋址,那么由四個(gè)相鄰字節(jié)單元中存放有轉(zhuǎn)移地址,其中前兩個(gè)字節(jié)存放的是:IP,而后兩個(gè)字節(jié)存放的是:CS 16.在串操作程序中,通常在重復(fù)前綴指令 REPZ 或 REPNZ 后,選用的串操作指令是_STOS_或_CMP_ 才有實(shí)際意義。17.假設(shè)(SS)=2250H,(SP)=0140H,如果在堆棧中存入 5 個(gè)數(shù)據(jù),則堆棧的物理地址為22636H18.指令 MOV AX,VARBX屬于 寄存器相對(duì) 尋址。 選擇題: 1.匯編語(yǔ)言源程序每個(gè)語(yǔ)句可以由四項(xiàng)組成,如果語(yǔ)句要完成一定功能,那么該語(yǔ)句中不可省略的項(xiàng)是操作項(xiàng)(也稱為助記符) 2
5、.若(SP)=0FFFFH,則指令POP AX執(zhí)行后,(SP)= 0001H。 3.n位補(bǔ)碼的表數(shù)范圍為:2n-1N2n-1-1。 4.指令MOV AX,SEG BUF的執(zhí)行,是把BUF所在的段地址送到AX中。 5.已知DS=29A0H,某數(shù)據(jù)的物理地址是2A400H,則當(dāng)DS=6700H時(shí),該數(shù)據(jù)的物理地址是67A00H。 6.要從一個(gè)字符串中找出一個(gè) AL 中指定的字符,可選用SCASB指令實(shí)現(xiàn)。 7.中斷服務(wù)程序入口地址占用4個(gè)字節(jié)。 8.用REPE SCASB指令對(duì)字符串進(jìn)行掃描,
6、如CX>0時(shí),掃描結(jié)束,那么表示在字符串中遇上第一個(gè)了不是AL中指令的字符 9.若AX= - 15要得到AX=15應(yīng)執(zhí)行的指令是NEG AX 10.8088/8086存儲(chǔ)器分段,每個(gè)段不超過(guò)64KB。 11.指令MOV AL,42H中,源操作數(shù)42H存放在代碼段中判斷題:1,BX是累加器、DX是計(jì)數(shù)器。×2,假設(shè)存儲(chǔ)器中從7462H單元開(kāi)始的四個(gè)相鄰字節(jié)單元中的內(nèi)容依次是32H,46H,52H,0FEH,則存放字?jǐn)?shù)據(jù)0FE52H的字地址是7465H。 ×3,MOV AX,BP的源操作數(shù)的物理地址為16*(DS)+
7、(BP)。 ×4,MOV指令不影響標(biāo)志位。 5,無(wú)條件轉(zhuǎn)移指令對(duì)標(biāo)志位無(wú)影響,而條件轉(zhuǎn)移指令對(duì)標(biāo)志位有影響。× 6,指令I(lǐng)N AL,DX是合法的指令。 7,當(dāng)運(yùn)算結(jié)果的低8位中有偶數(shù)個(gè)1 時(shí), 奇偶標(biāo)志位PF被置為1。×
8、160; 8,匯編語(yǔ)言源程序不一定包含數(shù)據(jù)段、堆棧段,但必須包含代碼段。9,可以將一個(gè)存儲(chǔ)器操作數(shù)與另一個(gè)存儲(chǔ)器操作數(shù)相加。 ×10,在“IN AL,端口地址”指令中,端口地址指定了某個(gè)外部設(shè)備接口的I/O地址,它實(shí)際上是一個(gè)立即數(shù),其范圍為065535。 ×11,匯編程序和匯編語(yǔ)言源程序是不用的概念。12,相對(duì)于某起始地址的偏移量稱為偏移地址。13
9、,只能使用PUSH,POP類的指令對(duì)堆棧段內(nèi)的內(nèi)容進(jìn)行操作。×14,立即數(shù)尋址方式不能用于目的操作數(shù)字段。15,BP是堆棧棧頂指針寄存器。×16,內(nèi)存中字單元的地址必須是偶數(shù)地址。×17,PUSH AL ×18,在匯編語(yǔ)言源程序中,偽指令語(yǔ)句必須放在數(shù)據(jù)段中。×19,SHR AX,CX ×20,匯編程序就是用匯編語(yǔ)言編寫(xiě)的匯編語(yǔ)言源程序 ×21, 4300:3865H對(duì)應(yīng)的物理地址是7B65H。×22,不能給段寄存器進(jìn)行立即數(shù)方式賦值。23,串操作指令一般用CX存放長(zhǎng)度。24,因?yàn)橛卸渭拇嫫?,所以存?chǔ)器要分段。
10、215;25,邏輯右移1位和算術(shù)右移1位的效果是一樣的。×26,在變量定義是,可以通過(guò)使用ORG偽指令指定變量在段中存儲(chǔ)時(shí)的偏移量。27,指令SHR AX,4可以將AX的內(nèi)容邏輯右移4位。×28.CMP AX,BX執(zhí)行的操作時(shí)(AX)-(BX),但結(jié)果不保存,只改變標(biāo)志寄存器中標(biāo)志位的值29,ASCII DW ABCD ×30,MOV SI,SI 31,常量不占用存儲(chǔ)空間。 32,PUSH,POP 指令的操作數(shù)必須是字操作數(shù)。33,存儲(chǔ)器的有效地址不是唯一的。34,指令MOV AL,255是合法的數(shù)據(jù)傳送指令 35,采用LOOP循環(huán)時(shí),必須用CX計(jì)數(shù)。36,SP=
11、1190H,執(zhí)行了PUSH指令后,SP=1192H。 ×37,MOV DS,2000H ×38,指令中目的操作數(shù)一般是不能為立即數(shù)的。 39,IP是指令指針寄存器,可以作為操作數(shù)參加運(yùn)算。×40,CF位可以用來(lái)表示無(wú)符號(hào)數(shù)的溢出。41,指令TEST AL,0執(zhí)行后AL的內(nèi)容一定是全零。×42,ADD SI,BX ×43,8086/8088標(biāo)志寄存器共有16位,每一位都有含義。×44,在指令中一個(gè)地址代表一個(gè)字節(jié)單元。×45,AND與TEST、SUB與CMP的功能相同。 ×46,符號(hào)定義語(yǔ)句不占內(nèi)存單元,
12、變量定義語(yǔ)句占內(nèi)存單元。 47,10010110與01011011異或的結(jié)果為11001101。 48,指令XCHG BX,ES可以將寄存器BX和ES的內(nèi)容互換。 ×49,偽指令語(yǔ)句與指令語(yǔ)句只是不同的語(yǔ)句種類,沒(méi)有什么本質(zhì)區(qū)別。 ×50,CS,DS,ES和SS段都可以存放數(shù)據(jù)。 51,CBW可以將BL的數(shù)據(jù)擴(kuò)展為BX。 ×簡(jiǎn)答題: 1.變量和標(biāo)號(hào)有什么屬性? 標(biāo)號(hào)和變量擁有2類三種屬性。第1類屬性是地址屬性,其中包含了兩種屬性:即段地址屬性和偏移地址屬性。這類兩種屬性指示出相應(yīng)的變量或者標(biāo)號(hào)對(duì)應(yīng)存儲(chǔ)單元的段地址和
13、偏移地址。第2類是類型屬性。這類屬性表明了變量和標(biāo)號(hào)的類型,對(duì)于變量,其類型可以是字節(jié)變量,或是字變量,或者是雙字變量等等;對(duì)于標(biāo)號(hào),其類型可以是近或者是遠(yuǎn),分別表示段內(nèi)和段間。 2.宏指令與子程序有什么不同之處? 宏指令實(shí)際上就代表了它對(duì)應(yīng)的一組指令。對(duì)程序中出現(xiàn)的宏指令進(jìn)行匯編時(shí),這條宏指令被它對(duì)應(yīng)的一組指令所代替。如果程序中多次使用宏指令,就等于多次重復(fù)拷貝了這個(gè)指令組,占用的內(nèi)存隨之增加。調(diào)用子程序通過(guò)執(zhí)行CALL指令實(shí)現(xiàn),存在“主程序”與“子程序”之間的兩次控制轉(zhuǎn)移。使用宏指令不存在控制轉(zhuǎn)移的過(guò)程。使用子程序和宏指令都可以提高編程效率
14、。子程序占用固定大小的存儲(chǔ)空間,被主程序調(diào)用時(shí),空間不會(huì)隨調(diào)用次數(shù)而增加。但是,宏指令占用存儲(chǔ)空間會(huì)隨著使用次數(shù)的增加而增加。3. 求出以下各十六進(jìn)制數(shù)與十六進(jìn)制數(shù)62A0之和,并根據(jù)結(jié)果設(shè)置標(biāo)志位SF、ZF、CF和OF的值。 (1)4321 (2)9D60 (3) 1234 (4) CFA0 答: (1) A5C1H SF=1 ZF=0 CF=0 OF=1 (2) 0000H
15、SF=0 ZF=1 CF=1 OF=0 (3) 74D4H SF=0 ZF=0 CF=0 OF=0 (4) 3240H SF=0 ZF=0 CF=1 OF=0 4.在80X86系列計(jì)算機(jī)中,I/O設(shè)備有哪些數(shù)據(jù)傳送方式? 有程序直接控制I/O 方式(查詢方式)、中斷方式和DMA方式(直接存儲(chǔ)器存取方式/成組傳送方式)三種。 5. 簡(jiǎn)述CPU的組成部分及各部分的主要作
16、用。 CPU由ALU、控制器和寄存器組成。ALU用來(lái)進(jìn)行算術(shù)邏輯運(yùn)算;控制器負(fù)責(zé)對(duì)全機(jī)的控制工作;寄存器用來(lái)存放計(jì)算過(guò)程中所需要的或所得到的各種信息。 6.指出下列指令源操作數(shù)的尋址方式 MOV AX,ARRAYSI 寄存器相對(duì)尋址 MOV AX,ES:BX 寄存器間接尋址 MOV AX,BX &
17、#160; 寄存器尋址 MOV AX,BX+DI 基址變址尋址 MOV AX,ARRAY 直接尋址 7.常用DOS功能調(diào)用中,1號(hào) 2號(hào) 9號(hào) A號(hào)功能調(diào)用完成的操作分別是什么? 1號(hào):鍵盤(pán)輸入并回顯 2號(hào):顯示輸出 9號(hào):顯示字符串 &
18、#160;A號(hào):鍵盤(pán)輸入到緩沖區(qū) 8. 請(qǐng)簡(jiǎn)述匯編語(yǔ)言的上機(jī)過(guò)程 1- 用文本編輯軟件編輯源程序,以.asm擴(kuò)展名保存文件 2- 用匯編程序?qū)υ闯绦虮M興匯編得到目標(biāo)程序,擴(kuò)展名為.obj 3- 用鏈接程序?qū)δ繕?biāo)程序進(jìn)行鏈接得到可執(zhí)行程序。擴(kuò)展名為.EXE或.COM。 4- 運(yùn)行調(diào)試 9.匯編程序的功能是什么? 檢查源程序,給出出錯(cuò)信息 產(chǎn)生目標(biāo)文件.obj和列表文件.lst
19、 展開(kāi)宏指令 10.機(jī)器語(yǔ)言的定義:用二進(jìn)制代碼組成的計(jì)算機(jī)能直接識(shí)別的語(yǔ)言。 匯編語(yǔ)言的定義:用機(jī)器指令的助記符以及偽指令,宏指令標(biāo)識(shí)的一種面向機(jī)器的語(yǔ)言, 用該語(yǔ)言編寫(xiě)的,程序需要經(jīng)過(guò)匯編程序的翻譯,成為計(jì)算機(jī)能直接識(shí)別并執(zhí)行的程序。 11常用的DOS功能調(diào)用中,1號(hào)、2號(hào)、9號(hào)、A號(hào)功能調(diào)用完成的操作分別是什么?1號(hào):鍵盤(pán)輸入并回顯;2號(hào):顯示輸出;9號(hào):顯示字符串;A號(hào):鍵盤(pán)輸入到緩沖區(qū) 12. 編程的三種基本結(jié)構(gòu)有哪些?順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu) 13. 某
20、外設(shè)能否得到CPU的中斷服務(wù)取決于什么控制條件?從外設(shè)發(fā)出中斷請(qǐng)求到CPU響應(yīng)中斷,有兩個(gè)控制條件是起決定性作用的:(1) 該外設(shè)的中斷請(qǐng)求是否屏蔽,這個(gè)條件由8259A的中斷屏蔽寄存器控制;(2) CPU是否允許響應(yīng)中斷,這由標(biāo)志寄存器(FLAG)中的中斷允許位IF控制。程序分析: 1. MOV AX,DX NOT AX ADD AX,DX INC AX
21、160;試回答:(AX)= 0,(ZF)=1。 2. BUFDW 0000H LEABX,BUF STC RCRWORDPTRBX,1 (帶進(jìn)位右移,把最低位給CF,CF再給最高位) MOVCL,3 SARWORDPTRBX,CL 問(wèn):該程序段執(zhí)行后,存儲(chǔ)單元BUF的內(nèi)容為?。1000H 3. DA1 DB 01234 DA2 DB
22、0; 5 DUP(0) MOV SI,0 MOV CX,5 LOP: MOV AL,DA1SI ADD
23、60; AL,11H OR AL,01H MOV DA2SI,AL INC SI
24、160; LOOP LOP 程序段執(zhí)行后,DA2各字節(jié)中的數(shù)據(jù)。41H,43H,43H,45H,45H 4. AT DB 0AH,0BH,0CH,0DH,0EH,0FH,00H MOV BX,0 LOP:MOV DL,ATBX
25、0; CMP DL,0 JZ DONE ADD DL,37H MOV AH,2 INT 21H
26、0; INC BX JMP LOP DONE:上述程序段執(zhí)行后在屏幕上顯示的內(nèi)容依次是:ABCDEF執(zhí)行后BX=6 5. MOV BX,1 XOR AX,AX=0 MOV CX,5NEXT:ADD AX,BX
27、; INC BX LOOP NEXT上述程序段執(zhí)行后AX=15H;BX=06H;CX=0 6.下列程序完成的是在3個(gè)數(shù)中找出最小的數(shù)放于AL中,請(qǐng)?jiān)诔绦蛑械目崭裉幪钊胍粭l適當(dāng)?shù)闹噶钍蛊渫暾?#160; MOV AL,X
28、 MOV BL,Y MOV CL,Z
29、 CMP AL,BL
30、160; JLE NEXT1 XCHG AL,BL &
31、#160; NEXT1: CMP AL,CL JLE NEXT2
32、 XCHG AL,CL NEXT2: RET 7.a、b 是雙精度數(shù),分別存于 X,X2 及 Y,Y2 中,試編寫(xiě)一個(gè)指令序列,完成如下功能:當(dāng) a > b 時(shí)轉(zhuǎn) L1 ,否則轉(zhuǎn) L2 MOV
33、; AX,X MOV DX,X2 CMP DX,Y2 JG L1 JL L2 CMP
34、AX,Y JA L1(無(wú)符號(hào)大于跳轉(zhuǎn)) L2: L1: 8.測(cè)試AL寄存器的X和Y位,若同時(shí)為0,程序轉(zhuǎn)向某語(yǔ)句標(biāo)號(hào),執(zhí)行AX加(或減)BX;否則將AL清零,同時(shí)清CF和OF標(biāo)志。
35、160; TEST AL,XXXX,XXXXB JZ (語(yǔ)句標(biāo)號(hào)1) 將AL清零,同時(shí)清CF和OF(可以考慮用SUB或XOR等指令,另外,用MOV指令可行否?)
36、0; JMP 語(yǔ)句標(biāo)號(hào)2根據(jù)題意指示確定語(yǔ)句標(biāo)號(hào)1: ADD AX,BX (SUB AX,BX)定義一個(gè)語(yǔ)句標(biāo)號(hào)2: 答: 假如 X=0,Y=1 TEST AL,03H JZ MY1 X
37、OR AL,AL JMP MY2 MY1:ADD AX,BX(或者SUB AX,BX)MY2:9. 已知(AX)=0FF70H,(CF)=1MOV BX,100XOR BH,0FFHSBB AX,BX執(zhí)行上述指令序列后,(AX)=000CH,(CF)=0。10. 有兩個(gè)16位數(shù)1000H和ABCDH分別存放在內(nèi)存10000H和10004H單元中,試用圖表示他們?cè)趦?nèi)存中的存放情況。11.從鍵盤(pán)逐一輸入字符,并從顯示器輸出,當(dāng)輸入到字符$時(shí),則程序退出返回。請(qǐng)?jiān)谙铝谐绦蛑械目崭裉幪钊脒m當(dāng)指令使其完整。NEXT:
38、MOV AH,1INT 21HCMP AL,$JZ EXITMOV DL,ALMOV AH,2INT 21HJMP NEXTEXIT:RET12.分析下面程序,回答指定問(wèn)題:MOV AX,DXNOT AXADD AX,DXINC AX試回答:(AX)= 0(2分),(ZF)= 1(3分)。13.依據(jù)下面程序段:ADD AL,BLJO L1JC L2CMP AH,BHJG L3JB L4JMP L5給定AX、BX值如下,說(shuō)明程序轉(zhuǎn)向。AX BX 轉(zhuǎn)向1 14C8 808DL12 D082 9F70L33 427B 60DC L24 3F23 50D0 L45 0042 FF3DL314.下列程序
39、完成的是將首地址為A的字?jǐn)?shù)組從小到大排序。請(qǐng)?jiān)诔绦蛑械目崭裉幪钊脒m當(dāng)?shù)闹噶钍蛊渫暾?。MOV CX,5DEC CXLOOP1:MOV DI,CXMOV BX,0LOOP2:MOV AX,ABXCMP AX,ABX+2JLE CONTINUEXCHG AX,ABX+2MOV ABX,AXCONTINUE:ADD BX,2LOOP LOOP2MOV CX,DILOOP LOOP115.下列程序結(jié)構(gòu)以過(guò)程的形式表示,請(qǐng)?jiān)诳崭裉幪钊脒m當(dāng)?shù)闹噶睢ODESEGMENTMAINPROCFARASSUME CS:CODE,.START:PUSH DSMOV AX,0PUSH AX處理過(guò)程RETMAINENDP
40、CODEENDSENDSTART16.試編寫(xiě)一個(gè)程序求出雙字長(zhǎng)數(shù)的絕對(duì)值。雙字長(zhǎng)數(shù)在A和A2單元中,結(jié)果存放在B和B2單元中。MOV AX,AMOV DX,A+2TEST DX,8000HJZ STORENOT DXNOT AXADD AX,1ADC DX,0STORE:MOV B,AXMOV B+2,DX17.編寫(xiě)程序段,把字符串STRING中的&用空格代替STRING DB The date is FEB&03LES DI,STRINGMOV CX,18CLDMOV AL,&REPNZ SCACBCMP CX,0JZ NEXTMOV AL,20HSUB DI,1MO
41、V DI,ALNEXT:18.在DA1數(shù)據(jù)區(qū)中有50個(gè)字節(jié)數(shù)據(jù),請(qǐng)編寫(xiě)一段匯編程序段將每個(gè)數(shù)據(jù)的低4位變反,而高4位不變,并依次存入DA2數(shù)據(jù)區(qū)中。MOV CX,50LEA SI,DA1LEA DI,DA2K1:MOV AL,SIXOR AL,00001111BMOV DI,ALINC SIINC DIDEC CXJNE K119.試分析下面的程序段完成什么功能?MOV CL,04SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL把(DX)(AX)中的雙字左移四位(乘以16)。編程題:1.假設(shè)程序中的數(shù)據(jù)定義如下: BUF1 DB&
42、#160; 100 DUP ('a') BUF2 DW 1275H,567,0C5H BUF3 DB 20 DUP (?) BUF4 DB 7,4,6,9,8 1)用一條指令將BUF1的偏移地址送入BX. 2)將BUF2的第三字節(jié)數(shù)據(jù)送入CL 3)用一組指令寫(xiě)出BUF2的第二個(gè)數(shù)據(jù)567和BUF4的第三個(gè)數(shù)據(jù)6相加,結(jié)果(和)送入BUF3
43、; 4)用偽指令寫(xiě)出BUF1和BUF2二者的總長(zhǎng)度(字節(jié)數(shù)) 5)將0A6H送入BUF3的第10個(gè)字節(jié)單元中 答:1. LEA BX,BUF1 2. LEA BX,BUF2 MOV BYTE PTR CL,BUF2+2 3. MOV AL,BUF4+2
44、 MOV AH,0 ADD AX,BUF2+2 MOV BUF3,AX 4.L1_2 EQU BUF3-BUF1 5
45、.MOV BYTE PTR BUF3+9,0A6H 2.將首地址為BUF的數(shù)組中的每個(gè)元素賦值為20H。DATA SEGMENT BUF DB 100 DUP(?)DATA ENDSCODE
46、60; SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA
47、160; MOV DS,AX MOV BX,OFFSET BUF MOV CX,64H LP: MOV BYTE PTRBX ,20H &
48、#160; INC BX LOOP LP
49、60; MOV AH,4CH INT 21HCODE ENDS END START 3.統(tǒng)計(jì)AX中1的個(gè)數(shù)。 XOR
50、; DL,DL A: CMP AX,0 JZ BYE SHL AX,1 &
51、#160;JNC B INC DL B: JMP A BYE: 答: CODE SEGMENT ASSUME CS:CODE START: MOV AX,7234H MOV BL,0 MOV CX,16 LOOP1:
52、 TEST AX,8000H JZ LOOP2 INC BL LOOP2: SHL AX,1 LOOP LOOP1 MOV DL,BL ADD DL,30H MOV AH,02H INT 21H MOV AH,4CH INT 21H CODE ENDS END START 4.比較AX,BX,CX中帶符號(hào)數(shù)的大小,將最大的數(shù)放在AX中,試編寫(xiě)此程序段。 CMP AX,BX JNL NEXT
53、60; XCHG AX,BXNEXT:CMP AX,CX JNL DONE XCHG AX,CXDONE:.附: DATA SEGMENT X DB
54、0; 7 Y DB 9 Z DB 5
55、 W DB ? DATA ENDS PROGRAM SEGMENT ASSUME CS:PROG
56、RAM,DS:DATA MAIN PROC FAR PUSH DS XO
57、R AX,AX PUSH AX MOV AX,DATA
58、60; MOV DS,AX MOV DL,X
59、160; CMP DL,Y JAE COMPAREXZ MOV
60、; DL,Y CMP DL,Z JAE DISP
61、 MOV DL,Z JMP DISP COMPAREXZ: CMP
62、60; DL,Z JAE DISP MOV DL,Z
63、0; DISP: ADD DL,30H MOV AH,2
64、160; INT 21H RET MAIN ENDP PROGRAM ENDS
65、60; END MAIN 5. 設(shè)AX、BX、CX中的數(shù)是帶符號(hào)數(shù),下列程序求AX、BX、CX中的最小值,結(jié)果在AX中CMP AX,BXJLE NEXT (JLE ;有符號(hào)小于等于則跳轉(zhuǎn))XCHG AX,BXNEXT:
66、; CMP CX,AXJGE EXITXCHG AX,CXEXIT:附: DATA SEGMENT X DB 7
67、0; Y DB 9 Z DB 5 W DB
68、60; ? DATA ENDS PROGRAM SEGMENT ASSUME CS:PROGRAM,DS:DATA MAIN
69、0; PROC FAR PUSH DS XOR AX,AX &
70、#160; PUSH AX MOV AX,DATA
71、; MOV DS,AX MOV DL,X CMP DL,Y &
72、#160; JLE COMPAREXZ MOV DL,Y
73、160; CMP DL,Z JLE DISP MOV
74、0; DL,Z JMP DISP COMPAREXZ: CMP DL,Z
75、 JLE DISP MOV DL,Z DISP:
76、 ADD DL,30H MOV AH,2
77、0; INT 21H RET MAIN ENDP PROGRAM ENDS
78、; END MAIN 6.兩字符串比較,相同顯示Match,否則顯示No MatchSTART:MOV AX,DATAMOV DS,AXMOV ES,AXLEA SI,其中一個(gè)字符串的首地址LEA DI,另一字符串的首地址CLDMOV CX,字符串的長(zhǎng)度REPZ CMPSBJZ MATCHLEA DX,“No Match”字符串的首地址
79、JMP SHORT DISPMATCH:LEA DX,“Match”字符串的首地址DISP: MOV AH,09INT 21H 附:DATA SEGMENT STRING1 DB 'MOVE THE CURSOR BACKWARD.' STRING2 DB
80、60; 'MOVE THE CURSOR BACKWARD.' MESS1 DB 'MATCH.',13,10,'$' MESS2 DB 'NO MATCH!',1
81、3,10,'$' DATA ENDS PROG SEGMENT ASSUME CS:PROG,DS:DATA,ES:DATA START:&
82、#160; MOV AX,DATA MOV DS,AX MOV ES,A
83、X LEA SI,STRING1 LEA DI,STRING2
84、; CLD MOV CX,25 REPZ1: CMPSB JZ
85、; MATCH LEA DX,MESS2 JMP SHORT
86、 DISP MATCH: LEA DX,MESS1 DISP: MOV AH,09 INT
87、60; 21H MOV AH,4CH INT 21H
88、0; PROG ENDS END START 7.有數(shù)組 x(x1,x2,x10) 和 y(y1,y2,y10),試編寫(xiě)一程序段,計(jì)算 z(z1,z2,z10),其中有: 例如如果:以1表示-以0表示+則邏輯尺則為:0000,0001,1000,1001B即0189Hz2 = x2(或) y2;
89、160; z3 = x3(或) y3; z4 = x4(或) y4; z5 = x5(或)y5; z6 = x6(或)y6;
90、 z7 = x7(或)y7; z8 = x8(或) y8; z9 = x9(或)y9; z10= x10(或)y10。 解題方法:定義一邏輯尺logic_rule。
91、 mov bx, 0 mov cx, 10 mov dx, logic_rulenext: mov ax, xbx shr dx, 1
92、; jc subtract add ax, ybx jmp short result subtract: sub ax, ybxresult: mov zbx
93、, ax add bx, 2 loop next 附:datarea segment x dw x1,x2,x3,x4,x5,x6,x7,x8,x9,x10
94、 y dw y1,y2,y3,y4,y5,y6,y7,y8,y9,y10 z dw z1,z2,z3,z4,z5,z6,z7,z8,z9,z10 logic_rule dw 00dchdatarea endsprognam segment main proc farassume cs:prognam,ds:datarea start:push dssub ax,axpush axm
95、ov ax,datareamov ds,axmov bx,0mov cx,10mov dx,logic_rulenext: mov ax,xbxshr dx,1jc subtractadd ax,ybxjmp short resultsubtract: sub ax,ybxresult:mov zbx,axadd bx,2loop nextmain endp prognam ends end start8.計(jì)算S12×33×4N×(N1),直到N×(N1)項(xiàng)剛
96、大于200為止(MUL乘法指令,字節(jié)操作數(shù):AX=AL*SRC根據(jù) INTEL 匯編指令集: MOV DX,1 MOV BL,2REPEAT: MOV AL,BL
97、60; INC BL MUL BL ADD DX,AX CMP AX,200
98、0; JNA REPEAT(JNA:jump if not above,如果不大于等于200,則跳轉(zhuǎn),JB則是小于,缺少等于這層含義) 9.顯示字符串 MOV DX,OFFSET 字符串的首地址 MOV AH,09H INT 21H附: DATA SEGMENT STRING1 DB 'big snail1$' DATA ENDS
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 木工包清工合同
- 高層建筑裝修安全合同范例
- 2025年度包裝咨詢行業(yè)集體勞動(dòng)合同(含員工培訓(xùn))
- 二零二五年度辦公室智能化改造勞動(dòng)合同模板
- 房屋買賣委托代理合同年
- 電子支付領(lǐng)域的風(fēng)險(xiǎn)控制與安全管理
- 農(nóng)業(yè)產(chǎn)業(yè)鏈智能化改造與升級(jí)指南
- 合同轉(zhuǎn)包協(xié)議書(shū)
- 商品房買賣合同發(fā)布
- 勞務(wù)承包合同書(shū)樣本
- 2016-2023年婁底職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 貴陽(yáng)市2024年高三年級(jí)適應(yīng)性考試(一)一模英語(yǔ)試卷(含答案)
- 地理標(biāo)志專題通用課件
- 魚(yú)類和淡水生態(tài)系統(tǒng)
- 全國(guó)大學(xué)高考百科匯編之《哈爾濱工業(yè)大學(xué)》簡(jiǎn)介
- 《小英雄雨來(lái)》讀書(shū)分享會(huì)
- 學(xué)校安全教育教你如何遠(yuǎn)離危險(xiǎn)
- 【人教版】九年級(jí)化學(xué)上冊(cè)全冊(cè)單元測(cè)試卷【1-7單元合集】
- 中國(guó)傳統(tǒng)文化課件6八卦五行
- 口腔科導(dǎo)診分診技巧(PPT課件)
- 圓筒混料機(jī)-設(shè)計(jì)說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論