微機(jī)原理第八章微型計(jì)算機(jī)的程序設(shè)計(jì)_第1頁(yè)
微機(jī)原理第八章微型計(jì)算機(jī)的程序設(shè)計(jì)_第2頁(yè)
微機(jī)原理第八章微型計(jì)算機(jī)的程序設(shè)計(jì)_第3頁(yè)
微機(jī)原理第八章微型計(jì)算機(jī)的程序設(shè)計(jì)_第4頁(yè)
微機(jī)原理第八章微型計(jì)算機(jī)的程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩86頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1第八章第八章 微型計(jì)算機(jī)的程序設(shè)計(jì)微型計(jì)算機(jī)的程序設(shè)計(jì)w順序結(jié)構(gòu)程序順序結(jié)構(gòu)程序w分支結(jié)構(gòu)程序分支結(jié)構(gòu)程序w循環(huán)結(jié)構(gòu)程序循環(huán)結(jié)構(gòu)程序w子程序結(jié)構(gòu)子程序結(jié)構(gòu)2重點(diǎn)重點(diǎn): :w程序設(shè)計(jì)方法程序設(shè)計(jì)方法w順序結(jié)構(gòu)程序順序結(jié)構(gòu)程序w分支結(jié)構(gòu)程序分支結(jié)構(gòu)程序w循環(huán)結(jié)構(gòu)程序循環(huán)結(jié)構(gòu)程序w子程序結(jié)構(gòu)子程序結(jié)構(gòu)38.1 8.1 程序設(shè)計(jì)步驟程序設(shè)計(jì)步驟w1.1.分析問題分析問題w2.2.建立數(shù)學(xué)模型建立數(shù)學(xué)模型w3.3.確定算法確定算法w4.4.繪制程序流程圖繪制程序流程圖w5.5.內(nèi)存分配內(nèi)存分配w6.6.編制程序編制程序w7.7.程序調(diào)試程序調(diào)試4wdata segmentw a1 db hellon!

2、,0dh,0ah,$wdata endswStack1 segment para stackw.wStack1 endswcode segmentw assume cs:code,ds:data, ss:stack1w start:mov ax,dataw mov ds,axw mov ah,4chw int 21hwcode endsw end start數(shù)據(jù)段數(shù)據(jù)段堆棧段堆棧段代碼段代碼段58-1 8-1 順序程序設(shè)計(jì)順序程序設(shè)計(jì)補(bǔ)充:二進(jìn)制編碼的十進(jìn)制數(shù)二進(jìn)制編碼的十進(jìn)制數(shù) 就是BCD碼(Binary Coded Decimal)。壓縮BCD碼 是用4位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù)。一個(gè)字節(jié)

3、表示兩位十進(jìn)制數(shù)。如:1001 0110B 表示 96 D非壓縮BCD碼 是用一個(gè)字節(jié)表示一位十進(jìn)制數(shù)。高4位總是0。如: 0000 1001B 表示 9D 兩種BCD碼的編碼對(duì)照表6兩種兩種BCDBCD碼的編碼對(duì)照表碼的編碼對(duì)照表十進(jìn)制數(shù) 壓縮 BCD 碼 非壓縮 BCD 碼 0 0000 0000 0000 1 0001 0000 0001 2 0010 0000 0010 3 0011 0000 0011 9 1001 0000 1001 10 0001 0000 0000 0001 0000 0000 11 0001 0001 0000 0001 0000 0001 12 0001 0

4、010 0000 0001 0000 0010 71. BCD數(shù)加法調(diào)整指令DAA和AAA(P196)wDAA-兩個(gè)壓縮BCD數(shù)相加調(diào)整指令:w(AL&0FH)9或者AF=1,則AL加6;w(AL&0F0H)90H或CF=1,則AL加60H;w如:MOV AX,3456HADD AL,AH; AL=8AHDAA ;AL=90H8wAAA-兩個(gè)非壓縮BCD數(shù)相加調(diào)整指令w若(AL&0FH)9或AF=1,則(AL+6)&0FH送AL,AH加1且CF置1;w否則:(AL&0F0H)送AL,AH不變且CF保持0不變;w如:MOV AX,0806H ADD AL,AH ; AL=0EH, AH=08H(

5、沒變) MOV AH,0 AAA ;屬于第1種情況,故AL為(AL+6)&0F=14H&0FH=04H; AH=01H9w【例【例8.1】的的程序段為程序段為: stack segment stack stack dw 32 dup(0) stack stack ends data segment W1 DW 8931H W2 DW 5678H SUM DB3 DUP(0) data ends codesegmentbegin proc farassume ss: stack, cs: code, ds:datapush dssub ax, axpush ax10mov ax, datamov

6、 ds, axMOV AL, BYTE PTR W1 ;AL=31H (+78H)ADD AL, BYTE PTR W2 ;AL=A9H, CF=0,AF=0DAA;BCD數(shù)加法調(diào)整指令數(shù)加法調(diào)整指令; AL=09H, CF=1MOV SUM, ALMOV AL, BYTE PTR W1+1 ; AL=89H (+56H)ADC AL, BYTE PTR W2+1 ;AL=E0H,CF=0,AF=1DAA ; AL=46H, CF=1MOV SUM+1, ALMOV SUM+2, 0 ;處理向萬位的進(jìn)位處理向萬位的進(jìn)位RCL SUM+2, 1 ;也可用指令;也可用指令A(yù)DC SUM+2, 0r

7、etbegin endpcode endsend begin11例8.2 非壓縮BCD數(shù)W1與W2(均為字變量)相加,將其和送到SUM字節(jié)變量中。 data segment W1 DW 0809H ;即即89D W2 DW 0607H ;即即67D SUM DB3 DUP(0) ;一個(gè)字節(jié)放一個(gè)字節(jié)放1位位BCD碼,用來放加完后的值碼,用來放加完后的值156 data ends12MOV AX, W1 ;AX=0809H,W2為為0607HADD AL, BYTE PTR W2 ;AL=H, CF=0,AF=1AAA; 屬于第一種情況,故屬于第一種情況,故; AL為(為(AL+06H)&0FH

8、=10H+06H )&0FH; =16H&0FH=06H=AL; ;AH加加1且且CF置置CF=1,所以,所以AH=08H+1=09H,則,則AX=0906HMOV SUM, AL ;(SUM)=06HMOV AL,AH; AL=09HADD AL, BYTE PTR W2+1 ; AL=09H+06H=0FH,屬于第,屬于第1種情況種情況MOV AH, 0AAA ; AL=05H, AH=01H;第一種情況處理:;第一種情況處理:AL=(AL+06H)&0FH, 因因0FH+06H=15H,故,故AL=05H,AH=AH+1=0+1=01H,所以,所以AX=0105HMOV WORD PTR

9、 SUM+1, AX;(;(SUM+1)=05,(,(SUM+2)=01此句也可表達(dá)為此句也可表達(dá)為MOV SUM, ALMOV SUM, AL;見見P151P151132. BCD數(shù)減法調(diào)整指令DAS和DAA(自看,P198)wDAS-兩個(gè)壓縮BCD數(shù)相減調(diào)整指令:w(AL&0FH)9,則AL減6;w(AL&0F0H)90H,則AL減60H;w如:MOV AX,5634HSUB AL,AH; AL=DEH, 有借位DAS ;AL=78H,保持借位即134-56AAS-兩個(gè)非壓縮BCD數(shù)相減調(diào)整指令143. 非壓縮BCD數(shù)乘除法調(diào)整指令A(yù)AM和AAD(P199,自看)15順序程序設(shè)計(jì)舉例:例7

10、.7 鏡子程序,P183-184 data segment OBUF DB 0DH, 0AH, $ IBUF DB 0FFH, 0, 255 DUP(0) data ends16MOV DX , OFFSET OBUF ;MOV DX , OFFSET OBUF ;顯示提示符顯示提示符“”并回車換行并回車換行MOV AH , O9MOV AH , O9INT 21HINT 21HMOV DX , OFFSET IBUF ;MOV DX , OFFSET IBUF ;輸入并顯示字符串輸入并顯示字符串MOV AH , 10MOV AH , 10INT 21HINT 21HMOV BL, IBUF+

11、1MOV BL, IBUF+1MOV BH, 0MOV BH, 0MOV IBUFBX+2, $MOV IBUFBX+2, $MOV DL, 0AH ; MOV DL, 0AH ; 換行換行MOV AH, 2MOV AH, 2INT 21HINT 21HMOV DX , OFFSET IBUF+2 ; MOV DX , OFFSET IBUF+2 ; 再顯示輸入的字符串再顯示輸入的字符串MOV AH, 9MOV AH, 9INT 21HINT 21H178.2 分支程序設(shè)計(jì)w特點(diǎn):利用改變標(biāo)志位的指令和轉(zhuǎn)移指令來實(shí)現(xiàn)。1.無條件轉(zhuǎn)移指令:JMP (見P207)2.條件轉(zhuǎn)移指令:Jcond sh

12、ort-label(偏移地址送到IP)特點(diǎn):滿足條件,則實(shí)現(xiàn)段內(nèi)轉(zhuǎn)移;80386開始才可以轉(zhuǎn)移到代碼段的任何位置。1819202122232425268.3 循環(huán)程序設(shè)計(jì)27288.3.2 重復(fù)控制指令1.LOOP short-label2.LOOPZ short-label 或或 LOOPE short-label3.LOOPNZ short-label 或或LOOPNE short-label4.JCXZ short-label5.JECXZ short-label共同點(diǎn):均受共同點(diǎn):均受CX或或EXC的值控制,詳見的值控制,詳見P214-215298.3.3 單重循環(huán)設(shè)計(jì)舉例w例8.11

13、 計(jì)算Z=X+Y,其中X和Y是雙字變量w分析:雙字變量是4個(gè)字節(jié),則和可能占5個(gè)字節(jié)303132333435363738作業(yè)8.4 編寫求兩個(gè)4位非壓縮BCD數(shù)之和,將和送顯示器顯示的程序。(P261)w分析:分析:兩加數(shù)各要4個(gè)字節(jié)單元,可以為DD類型;考慮到進(jìn)位,和要5個(gè)字節(jié)單元,另外,輸出到顯示器的結(jié)束符號(hào)$需要一個(gè)單元存放,故共需6個(gè)字節(jié)。因此,數(shù)據(jù)段定義為:data segment W1 DD 01020304HW2 DD 05060708HSUM DB 5 DUP(0) DB $data ends39代碼段中的核心語(yǔ)句MOV CX, 4MOV SI, 0MOV DI, 4; 要在要

14、在SUM+4中放個(gè)位,中放個(gè)位,SUM+0中放最高位的進(jìn)位。中放最高位的進(jìn)位。XOR AX, AX; 清清CFA1: MOV AL, BYTE PTR W1SI; ADC AL, BYTE PTR W2SIAAAMOV SUMDI, ALINC SIDEC DILOOP A1MOV SUMDI, 0RCL SUMDI; 以上是得到加的結(jié)果,放在以上是得到加的結(jié)果,放在SUM中。下面是輸出到顯示器的程序語(yǔ)句中。下面是輸出到顯示器的程序語(yǔ)句MOV DX, OFFSET SUMMOV AH, 09INT 21H 40作業(yè)8.5 編寫求兩個(gè)4位壓縮BCD數(shù)之和,將和送顯示器顯示的程序。(P261)w分

15、析:分析:兩個(gè)加數(shù)各要2個(gè)字節(jié)單元,可以為DW類型;考慮到進(jìn)位,和要3個(gè)字節(jié)單元,另外,輸出到顯示器的結(jié)束符號(hào)$需要一個(gè)單元存放,故共需4個(gè)字節(jié)。因此,數(shù)據(jù)段定義為:data segment W1 DW 1234HW2 DW 5678HSUM DB 3 DUP(0) DB $data ends41代碼段中的核心語(yǔ)句MOV CX, 2MOV SI, 0MOV DI, 2; 要在要在SUM+2中放個(gè)位,中放個(gè)位,SUM+0中放最高位的進(jìn)位。中放最高位的進(jìn)位。XOR AX, AX; 清清CFA1: MOV AL, BYTE PTR W1SI; ADC AL, BYTE PTR W2SIDAAMOV

16、SUMDI, ALINC SIDEC DILOOP A1MOV SUMDI, 0RCL SUMDI; 以上是得到加的結(jié)果,放在以上是得到加的結(jié)果,放在SUM中。下面是輸出到顯示器的程序語(yǔ)句中。下面是輸出到顯示器的程序語(yǔ)句MOV DX, OFFSET SUMMOV AH, 09INT 21H 42作業(yè)8.17 編寫求輸入算式加數(shù)1+加數(shù)2的和并送顯。(加數(shù)及其和均為4位(即指壓縮)BCD數(shù),P262)w分析:要求先有屏幕顯示輸出加數(shù)1+加數(shù)2:,然后從鍵盤輸入兩個(gè)4個(gè)字節(jié)的BCD數(shù),加完后送顯。w用到的變量:W1和W2因?yàn)閺逆I盤輸入,均不確定是幾位十進(jìn)制,故需確定其最大位數(shù)不超過要用wW1 43

17、例6.2w將內(nèi)存(將內(nèi)存(10050)單元的內(nèi)容拆成兩段,每段)單元的內(nèi)容拆成兩段,每段4位,并將它位,并將它們分別們分別 存入內(nèi)存(存入內(nèi)存(10051)和()和(10052)單元。即()單元。即(10050)單元中的低單元中的低4位放入(位放入(10051)單元中的低)單元中的低4位,位, 而而(10050)單元中的高)單元中的高4位放入(位放入(10052)單元中的低)單元中的低4位。位。44開始開始初始化初始化用間址方法取數(shù)到用間址方法取數(shù)到ALAL用用ANDAND指令將該數(shù)指令將該數(shù)“與與”O(jiān)FHOFH取得取得低低4 4位,存入內(nèi)存(位,存入內(nèi)存(1005110051)單元)單元再取

18、出原始數(shù)到再取出原始數(shù)到ALAL邏輯右移得高邏輯右移得高4 4位,存入內(nèi)存(位,存入內(nèi)存(1005210052)單元)單元暫停暫停45程序段如下:wMOV AX, 1000HwMOV DS, AX ;給段寄存器DS賦值wMOV SI, 50HwMOV AL,SI ;把物理地址為10000H+0050H=10050Hw ; 中的存儲(chǔ)內(nèi)容給ALwAND AL, 0FH ;把AL中的前4位清0,取得低4位值wMOV SI+1, AL;把得到的低4位放到(10051H)單元wMOV AL, SI ;再取出需拆字節(jié)放到AL中wMOV CL, 4wSHR AL, CL ;邏輯右移4次,前4位補(bǔ)0;wMOV

19、 SI+2, AL ;放入(10052)單元AND AL, F0HMOVE SI+2, AL466-36-3、分枝結(jié)構(gòu)程序、分枝結(jié)構(gòu)程序兩分支結(jié)構(gòu)47多分支結(jié)構(gòu) 48例6.3 求AX累加器和BX寄存器中兩個(gè)無符號(hào)數(shù)之差的絕對(duì)值,結(jié)果放在內(nèi)存(2800)單元中。w分析:不知AX與BX中數(shù)的大小,故需先判斷誰(shuí)大,然后用大的減小的才可求得絕對(duì)值,w 其流程圖如圖6-549開始開始初始化,清初始化,清CFCFAX-BX AXAX-BX AXAX AX 內(nèi)存(內(nèi)存(28002800和(和(2801)2801)單元單元暫停暫停AX-BX0AX-BX0AX-BX AXAX-BX AXBX BX 內(nèi)存(內(nèi)存(

20、28002800和(和(2801)2801)單元單元否否是是50相應(yīng)程序段如下 (p141)w CLCw SUB AX,BXw JC AA ;進(jìn)位位為1,就轉(zhuǎn)移到AAw MOV DI, 2800Hw MOV DI, AXw HLTwAA: SUB BX, AXw MOV DI, 2800Hw MOV DI, BXw HLT51例6.4 從外設(shè)71號(hào)中取一個(gè)數(shù)M,判斷其值是否在10和20之間,即10M20.如果M20H,則送0FFH給外設(shè)73H;如果M10,則送00H給外設(shè)73H; 如果10M1,并且放在內(nèi)存(,并且放在內(nèi)存(2001)單元中,而數(shù)據(jù)塊本)單元中,而數(shù)據(jù)塊本身是從(身是從(200

21、2)單元開始存放的,最后,把找出的)單元開始存放的,最后,把找出的最大值放到(最大值放到(2000)單元中。假設(shè)這段數(shù)據(jù)塊中的)單元中。假設(shè)這段數(shù)據(jù)塊中的數(shù)都是無符號(hào)的數(shù)都是無符號(hào)的8位數(shù)。位數(shù)。w(1)分析題目:此題必定是個(gè)循環(huán)程序,而且在處理部分應(yīng)包括判)分析題目:此題必定是個(gè)循環(huán)程序,而且在處理部分應(yīng)包括判斷分支環(huán)節(jié)。斷分支環(huán)節(jié)。 (2)根據(jù)指令系統(tǒng),我們可以采用尋找最大值的計(jì)算方法。)根據(jù)指令系統(tǒng),我們可以采用尋找最大值的計(jì)算方法。74 首先,我們用首先,我們用00值放在值放在AL累加器中作為最大值;累加器中作為最大值;然后,用數(shù)據(jù)塊的第一個(gè)數(shù)和然后,用數(shù)據(jù)塊的第一個(gè)數(shù)和AL中的數(shù)做比

22、較,如果中的數(shù)做比較,如果比比00大,則用這個(gè)數(shù)取代大,則用這個(gè)數(shù)取代00,放入,放入AL中;接著取出第中;接著取出第二個(gè)數(shù)與二個(gè)數(shù)與AL中的數(shù)做比較,如果比它大,取而代之,中的數(shù)做比較,如果比它大,取而代之,否則不取代,如此往復(fù),直至最后一個(gè)數(shù)。這樣,最否則不取代,如此往復(fù),直至最后一個(gè)數(shù)。這樣,最后后AL累加器中必定存放著最大的數(shù)。這就是尋找最大累加器中必定存放著最大的數(shù)。這就是尋找最大值的方法,而數(shù)據(jù)塊的總長(zhǎng)度(數(shù)的個(gè)數(shù))就是循環(huán)值的方法,而數(shù)據(jù)塊的總長(zhǎng)度(數(shù)的個(gè)數(shù))就是循環(huán)次數(shù)。次數(shù)。 (3)繪制出此計(jì)算過程的程序流程如圖)繪制出此計(jì)算過程的程序流程如圖6-l5所示。所示。757677

23、改為子程序時(shí)的程序段wMAX: PUSHFw PUSH AXw PUSH CXw PUSH SIwSTART: MOV SI, 2001Hw MOV CL, SIw INC SIw MOV AL, 00w MOV CH, 00HwLP: CLCw CMP AL, SIw JC BBw JMP AAwBB: MOV AL, SIwAA: INC SIw LOOP LPw MOV 2000H, AL w HLTw POP SIw POP CXw POP AXw POPFw RETSUB1 PROC NEAR/FARSUB1 PROC NEAR/FARSUB1 ENDPSUB1 ENDP78791、

24、調(diào)用程序和子程序在同一代碼段、調(diào)用程序和子程序在同一代碼段 子程序的類型應(yīng)為子程序的類型應(yīng)為NEAR cod1 segment CALL SUB1 . SUB1 PROC NEAR . RET SUB1 ENDP cod1 ends紅色部分為子程序紅色部分為子程序子程序調(diào)用方式介紹:子程序調(diào)用方式介紹:802、調(diào)用程序和子程序、調(diào)用程序和子程序不在同一代碼段不在同一代碼段子程序的類型應(yīng)為子程序的類型應(yīng)為FAR。子程序子程序SUB1的類型是的類型是FAR,可段間調(diào)用可段間調(diào)用,也可段內(nèi)調(diào)用也可段內(nèi)調(diào)用.CODE2 SEGMENT . SUB1 PROC NEAR . RET SUB1 ENDP

25、. CALL SUB1 .CODE2 ENDSCODE1 SEGMENT CALL FAR PTR SUB1 . CODE1 ENDS81 CODE2 SEGMENT . SUB1 PROC NEAR . SUB1 ENDP . CALL SUB1 ;段內(nèi)調(diào)用段內(nèi)調(diào)用 . CODE2 ENDS 子程序子程序SUB1的類型是的類型是FAR,可段間調(diào)用可段間調(diào)用,也可也可段內(nèi)調(diào)用段內(nèi)調(diào)用.826.6 查表程序查表程序w要點(diǎn):要點(diǎn):w1)確定表格的起始地址(或稱基地址)給)確定表格的起始地址(或稱基地址)給BXw2)確定要查找對(duì)象在表中的序號(hào),(或稱索引值)給)確定要查找對(duì)象在表中的序號(hào),(或稱索引

26、值)給AL。w3)要用到換碼指令)要用到換碼指令XLAT,將累加器中的值變?yōu)閮?nèi)存表,將累加器中的值變?yōu)閮?nèi)存表格中的某一個(gè)值。格中的某一個(gè)值。w注:表格的起始地址為內(nèi)存物理地址中的偏移地址注:表格的起始地址為內(nèi)存物理地址中的偏移地址83例例6.9: 在在5.2節(jié)中表節(jié)中表5-2所列的十進(jìn)制的所列的十進(jìn)制的7段顯示碼段顯示碼實(shí)例,用程序來實(shí)現(xiàn),假設(shè)這段數(shù)據(jù)存放在實(shí)例,用程序來實(shí)現(xiàn),假設(shè)這段數(shù)據(jù)存放在2000H開始的內(nèi)存中,取出開始的內(nèi)存中,取出“5”所對(duì)應(yīng)的所對(duì)應(yīng)的7段碼。段碼。w程序段為:wSTART: MOV BX, 2000Hw MOV AL, 5w XLATw HLT84例例2 編一子程序

27、利用編一子程序利用XLAT指令把十六進(jìn)制數(shù)轉(zhuǎn)換成指令把十六進(jìn)制數(shù)轉(zhuǎn)換成ASCII碼。假設(shè)碼。假設(shè)ASCII碼存放在以碼存放在以DAT1為首地址的數(shù)據(jù)區(qū)中,對(duì)為首地址的數(shù)據(jù)區(qū)中,對(duì)應(yīng)的十六進(jìn)制數(shù)放在以應(yīng)的十六進(jìn)制數(shù)放在以DAT2為首地址的數(shù)據(jù)區(qū)中,轉(zhuǎn)換結(jié)為首地址的數(shù)據(jù)區(qū)中,轉(zhuǎn)換結(jié)果送以果送以DAT3為首地址的數(shù)據(jù)區(qū)中。為首地址的數(shù)據(jù)區(qū)中。w分析:首地址即基址分析:首地址即基址DAT1送給送給BX,ASCII碼表總共有碼表總共有7FH(即(即128)個(gè)字符。所以索引值要從個(gè)字符。所以索引值要從0變到變到128(存放在(存放在DAT2為首地址的數(shù)據(jù)區(qū)為首地址的數(shù)據(jù)區(qū)中),需要用到循環(huán)將得到的值送到以

28、中),需要用到循環(huán)將得到的值送到以DAT3為首地址的數(shù)據(jù)區(qū)中。為首地址的數(shù)據(jù)區(qū)中。w查表核心程序語(yǔ)句為:查表核心程序語(yǔ)句為:w MOV BX, 2000H(表的首地址)(表的首地址)w MOV AL, 5(表中對(duì)應(yīng)的偏移量,即索引值)(表中對(duì)應(yīng)的偏移量,即索引值)w XLATw此程序段的結(jié)果是將查到的結(jié)果送到累加器此程序段的結(jié)果是將查到的結(jié)果送到累加器AX中中85wSUB1 PROC NEARwSTART: LEA SI, DAT2;或?yàn)镸OV SI, DAT2w LEA DI, DAT3; 或?yàn)?MOV DI, DAT3w MOV BX, DAT1w MOV CX, 16wLP1: MOV

29、AL, SI; 或?yàn)?LODSB ,即從RAM AX/ALw XLATw MOV DI, AL; STOSB, 即從AX/AL RAMw INC SI ;若用了LODSB與STOSB,則不用此兩句,w INC DI ; 因?yàn)榇僮鲿r(shí)SI和DI作自動(dòng)增量修改w LOOP LP1w w RETwSUB1 ENDPw POP ALPOP ALP0P CXP0P CXPOP DIPOP DIPOP SIPOP SIPOP BXPOP BXPUSH BXPUSH BXPUSH SIPUSH SIPUSH DIPUSH DIPUSH CXPUSH CXPUSH ALPUSH AL861、 用串操作指令實(shí)現(xiàn)

30、用串操作指令實(shí)現(xiàn):先將先將100H個(gè)數(shù)從個(gè)數(shù)從2170H單元處搬到單元處搬到1000H1單元處單元處,然后從中檢索等于然后從中檢索等于AL中字符的單元中字符的單元,并將此單元換成空格字符并將此單元換成空格字符.2、從、從60H個(gè)元素中尋找一個(gè)最大的值個(gè)元素中尋找一個(gè)最大的值,并放到并放到AL中中. 假設(shè)這假設(shè)這60個(gè)元素防在個(gè)元素防在DATA1開始的單元中開始的單元中.3、在、在DS段有一個(gè)從段有一個(gè)從TABLE開始的由開始的由160個(gè)字符組成的鏈表個(gè)字符組成的鏈表,設(shè)計(jì)一個(gè)程序設(shè)計(jì)一個(gè)程序,實(shí)現(xiàn)對(duì)此表進(jìn)行搜索實(shí)現(xiàn)對(duì)此表進(jìn)行搜索,找到第一個(gè)非零元素后找到第一個(gè)非零元素后,將此單元和下一個(gè)單元將此單元和下一個(gè)單元清零清零.87 題題1: 用串操作指令實(shí)現(xiàn)用串操作指令實(shí)現(xiàn):先將先將10

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論