微機原理與接口技術實驗教案_第1頁
微機原理與接口技術實驗教案_第2頁
微機原理與接口技術實驗教案_第3頁
微機原理與接口技術實驗教案_第4頁
微機原理與接口技術實驗教案_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、微機原理與接口技術實驗講義物理與電子工程學院羅長更顯示程序實驗3數據傳送實驗5運算類程序實驗6分支程序設計實驗17循環程序設計實驗20綜合程序設計實驗22顯示程序實驗實驗目的(1) 掌握在PC機上以十六進制形式顯示數據的方法。(2) 掌握部分DOS功能調用使用方法。(3) 熟悉Tdpit集成環境和調試器的使用。實驗內容及說明     一般來說,有很多程序需要顯示輸出提示運行的狀況和結果,有的還需要將數據區中的內容顯示在屏幕上。本實驗要求將指定數據區的數據以十六進制數形式顯示在屏幕上,并通過DOS功能調用完成一些提示信息的顯示。實驗中可使用DOS功能調用(INT 2

2、1H)。 (1) 顯示單個字符輸出 入口:AH=02H 調用參數:DL=輸出字符 (2) 顯示字符串 入口:AH=09H 調用參數:DS:DX=串地址,$為結束字符 (3) 鍵盤輸入并回顯 入口:AH=01H 返回參數:AL=輸出字符 (4) 返回DOS系統 入口:AH=4CH 調用參數:AL=返回碼 實驗步驟 (1) 運行Tdpit軟件,選擇文件菜單,點擊新建,進入一個源文件編輯界面。根據實驗內容的描述編寫實驗程序,本實驗顯示部分參考實驗流程如圖1所示。 (2) 使用編譯菜單中的編譯和鏈接對實驗程序進行匯編、連接。 (3) 使用編譯菜單中的運行,運行程序,觀察運行結果。 (4) 使用編譯菜單

3、中的調試,調試程序,觀察調試過程中,數據傳輸指令執行后,各寄存器及數據區的內容。 (5) 更改數據區中的數據,檢查程序的正確性。 參考程序清單 DATASEGMENT MESDB'Show a as hex:',0AH,0DH,'$' SDDB'a' DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATA START:MOV AX,DATA MOVDS,AX MOVDX,OFFSET MES;顯示提示信息 MOVAH,09HINT 21H  MOVDI,OFFSET SD MOVAL,DS:DI ANDAL

4、,0F0H;取高4位 SHRAL,4 圖1  CMPAL,0AH;是否是A以上的數 JBC2ADDAL,07HC2:ADDAL,30HMOVDL,AL;顯示字符 MOVAH,02H INT21H MOVAL,DS:DI ANDAL,0FH;取低4位 CMPAL,0AH JBC3 ADD AL,07H C3:ADDAL,30H MOVDL,AL;顯示字符 MOVAH,02H INT21H MOVAX,4C00H;返回DOS INT21H CODEENDS ENDSTART 數據傳送實驗  實驗目的 (1) 熟悉Tdpit集成環境和調試器的使用。 (2) 掌握與數據有關的不同尋

5、址方式。   實驗內容 本實驗要求將數據段中的一個字符串傳送到附加段中,并輸出附加段中的目標字符串到屏幕上。實驗步驟 (1) 運行Tdpit軟件,選擇文件菜單,點擊新建進行實驗程序的編寫。 (2) 使用編譯菜單中的編譯和連接對實驗程序進行匯編、連接。 (3) 使用編譯菜單中的運行,運行程序,觀察運行結果。 (4) 使用編譯菜單中的調試,調試程序,觀察調試過程中,數據傳輸指令執行后,各寄存器及數據區的內容。 (5) 更改數據區中的數據,考察程序的正確性。 參考程序:DDATASEGMENT;定義源數據段 MSRDB "HELLO,WORLD!$" LENEQU $-

6、 MSR DDATAENDS   EXDASEGMENT;定義附加數據段 MSDDB LEN DUP(?) EXDAENDS   MYSTACK SEGMENT STACK;定義堆棧段 DW 20 DUP(?) MYSTACK ENDS CODESEGMENT;定義代碼段 ASSUME CS:CODE,DS:DDATA,ES:EXDA START:MOV AX,DDATA MOV DS,AX;裝載數據段寄存器 MOV AX,EXDA MOV ES,AX;裝載附加數據段寄存器 MOV SI,OFFSET MSR;設置SI MOV DI,OFFSET MSD;設置DI MOV

7、CX,LEN NEXT:MOV AL,SI;開始傳輸數據 MOV ES:DI,AL INC SI INC DIDEC CX JNZ NEXT PUSH ESPOP DS;將附加段寄存器指向的段值賦給數據段寄存器 MOV DX,OFFSET MSDMOV AH,9 INT 21H MOV AX,4C00H;利用DOS功能調用返回DOS狀態 INT 21H CODEENDS END START 將程序主體部分的寄存器間接尋址方式改為相對尋址方式,則如下所示: MOV BX,0 MOV CX,LEN NEXT:MOV AL,MSRBX MOV ES:MSDBX,AL INC BX LOOP NEXT

8、 運算類程序實驗實驗目的 (1) 掌握運算類指令編程及調試方法。 (2) 掌握運算類指令對各狀態標志位的影響及測試方法。   實驗內容及說明     80x86指令系統提供了實現加、減、乘、除運算的基本指令,可對表1所示的數據類型進行算術運算。 表11二進制雙精度加法運算     本實驗要求計算X+Y=Z,將結果Z輸出到屏幕,其中X=001565A0H,Y=0021B79EH。 實驗利用累加器AX,先求低十六位和,并存入低址存儲單元,后求高16位和,再存入高址存儲單元。由于低位和可能向高位有進位,因而高位字相加語句需用ADC

9、指令,則低位相加有進位時,CF=1,高位字相加時,同時加上CF中的1。在80386以上微機中可以直接使用32位寄存器和32位加法指令完成本實驗的功能。   2十進制數的BCD碼減法運算     本實驗要求計算X-Y=Z,其中,X、Y、Z為BCD碼,其中X=0400H,Y=0102H。 3乘法運算     本實驗要求實現十進制數的乘法,被乘數和乘數均以BCD碼形式存放于內存中,被乘數為54320H,乘數為3H,運算結束后,將乘積在屏幕上顯示。   4用減奇數開平方運算     80x86

10、指令系統中有乘除法指令但沒有開平方指令,因此,開平方運算是通過程序來實現的。用減奇數法可求得近似平方根,獲得平方根的整數部分。我們知道,N個自然數中的奇數之和等于N2,即: 1+3+5=9=32 1+3+5+7=16=42 1+3+5+7+9+11+13+15=64=82     若要做S的開方運算,那麼就可以從S中逐次減去自然數中的奇數1,3,5,7,一直進行到相減數為0或不夠減下一個自然數的奇數為止,然后統計減去自然數的奇數個數,它就是S的近似平方根。 本實驗要求利用減奇法計算0040H的開平方值,并將運算結果顯示在屏幕上。 實驗步驟 (1) 運行Tdpit軟

11、件,選擇文件菜單進行實驗程序的編寫。 (2) 使用編譯菜單中的編譯和連接對實驗程序進行匯編、連接。 (3) 使用編譯菜單中的運行,運行程序,觀察運行結果。 (4) 使用編譯菜單中的調試,調試程序,觀察調試過程中,數據傳輸指令執行后,各寄存器及數據區的內容。 (5) 更改數據區中的數據,考察程序的正確性。 參考程序兩個字節數據相加STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES1DB'The result is:$'X DB 03HY DB 05HDATAENDSCODE SEGMENTASSUME CS:C

12、ODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AH,00H MOV SI,OFFSET X MOV AL,SI ADD AL,SI+01H AND AL,0FH MOV BL,AL MOVDX,OFFSET MES1 MOVAH,09H INT21H MOVAX,BX CALLSHOW MOVAX,4C00H INT21H SHOWPROCNEAR MOVAL,BL ANDAL,0F0H;取高4位 SHRAL,4 CMPAL,0AH;是否是A以上的數 JBC2 ADDAL,07HC2: ADDAL,30H MOVDL,AL;show character

13、 MOVAH,02H INT21H MOVAL,BL ANDAL,0FH;取低4位 CMPAL,0AH JBC3 ADD AL,07HC3: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H RET ENDPCODE ENDS END START;A4-1.asm;二進制雙精度加法運算STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES1DB'The result is:$'XL DW 65A0HXH DW 0015HYL DW 0B79EHYH DW 002

14、1HDATAENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOVDX,OFFSET MES1 MOVAH,09H INT21H MOV AX,XL ADD AX,YL MOVBX,AX MOV AX,XH ADC AX,YH PUSHBX CALLSHWORD POPBX MOVAX,BX CALLSHWORD MOVAX,4C00H INT21HSHWORDPROCNEAR MOVBL,AH CALLSHOW MOVBL,AL CALLSHOW RET ENDPSHOWPROCNEAR PUSHAX PU

15、SHDX MOVAL,BL ANDAL,0F0H;取高4位 SHRAL,4 CMPAL,0AH;是否是A以上的數 JBC2 ADDAL,07HC2: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H MOVAL,BL ANDAL,0FH;取低4位 CMPAL,0AH JBC3 ADD AL,07HC3: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H POPDX POPAX RET ENDPCODE ENDS END START;A4-2.asm;十進制數的BCD碼減法運算STACK1 S

16、EGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES1DB'The result is:$'X DW 0400HY DW 0102HDATAENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AH,00H SAHF MOV SI,OFFSET X MOV AL,SI SBB AL,SI+02H DAS PUSHF AND AL,0FH POPF MOV BL,AL INC SI MOV AL,SI SBB AL,SI+02H DAS PU

17、SHF AND AL,0FH POPF MOV BH,AL MOVDX,OFFSET MES1 MOVAH,09H INT21H MOVAX,BX CALLSHWORD MOVAX,4C00H INT21HSHWORDPROCNEAR MOVBL,AH CALLSHOW MOVBL,AL CALLSHOW RET ENDPSHOWPROCNEAR PUSHAX PUSHDX MOVAL,BL ANDAL,0F0H;取高4位 SHRAL,4 CMPAL,0AH;是否是A以上的數 JBC2 ADDAL,07HC2: ADDAL,30H MOVDL,AL;show character MOVAH,0

18、2H INT21H MOVAL,BL ANDAL,0FH;取低4位 CMPAL,0AH JBC3 ADD AL,07HC3: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H POPDX POPAX RET ENDPCODE ENDS END START;A4-3.asm;乘法運算STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES1 DB 'The result is:$'ERRMES DB 'Error exist!$'DATA1 DB 0

19、0H,02H,03H,04H,05HDATA2 DB 03HRESULTDB 06H DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV SI,OFFSET DATA2 MOV BL,SI AND BL,0FH CMP BL,09H JNC ERROR MOV SI,OFFSET DATA1 MOV DI,OFFSET RESULT MOV CX,0005HA1: MOV AL,SI+04H AND AL,0FH CMP AL,09H JNC ERROR DEC SI MUL BL

20、AAM ADD AL,DI+05H AAA MOV DI+05H,AL DEC DI MOV DI+05H,AH LOOP A1 MOVDX,OFFSET MES1 MOVAH,09H INT21H MOV CX,06H MOV SI,OFFSET RESULTA2: CALLSHOW MOVDL,20H MOVAH,02H INT21H INCSI LOOPA2 MOVAX,4C00H INT21HERROR: MOVDX,OFFSET ERRMES MOVAH,09H INT21H MOVAX,4C00H INT21HSHOWPROCNEAR MOVAL,DS:SI ANDAL,0F0H;

21、取高4位 SHRAL,4 CMPAL,0AH;是否是A以上的數 JBC2 ADDAL,07HC2: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H MOVAL,DS:SI ANDAL,0FH;取低4位 CMPAL,0AH JBC3 ADD AL,07HC3: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H RET ENDPCODE ENDS ENDSTART;A4-4.asm;用減奇法開平方運算STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDD

22、ATASEGMENTMES1DB'The square root of $'MES2DB' is:$'NUMBDW0040HDDATAENDSCODE SEGMENT ASSUME CS: CODE,DS:DDATASTART: MOVAX,DDATA MOVDS,AX MOVDX,OFFSET MES1 MOVAH,09H INT21H MOVSI,OFFSET NUMB MOV AX,SI CALLSHWORD MOVDX,OFFSET MES2 MOVAH,09H INT21H MOVAX,SI MOV CL,00H MOV DX,0001HA1: SUB

23、 AX,DX JB A2 INC CL ADD DX,02H JMP A1A2: MOVBL,CL CALLSHOW MOVAX,4C00H INT21HSHWORDPROCNEAR MOVBL,AH CALLSHOW MOVBL,AL CALLSHOW RET ENDPSHOWPROCNEAR PUSHAX PUSHDX MOVAL,BL ANDAL,0F0H;取高4位 SHRAL,4 CMPAL,0AH;是否是A以上的數 JBC2 ADDAL,07HC2: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H MOVAL,BL ANDAL,0

24、FH;取低4位 CMPAL,0AH JBC3 ADD AL,07HC3: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H POPDX POPAX RET ENDPCODE ENDS END START 分支程序設計實驗實驗目的 掌握分支程序的設計方法。   實驗內容及說明     程序有順序、循環、分支和子程序四種結構形式,分支結構的示意圖如圖1所示。本實驗要求通過求無符號字節序列中的最大值和最小值來反映分支程序的結構形式。 圖1 圖2實驗可以使用BH,BL作為暫存現行的最大值和最小值,且在程序的初始

25、,將BH和BL初始化為首字節的內容,然后進入循環操作。在循環操作中,依次從字節序列中逐個取出一個字節的內容與BH,BL進行比較,若取出的字節內容比BH的內容大或比BL中的內容小,則修改之。當循環結束操作時,將BH,BL分別送屏幕顯示。參考實驗流程如圖2所示。實驗步驟 (1) 運行Tdpit軟件,選擇文件菜單編寫實驗程序;提供8字節的數據:0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H。 (2) 使用編譯菜單中的編譯和連接對實驗程序進行匯編、連接。 (3) 使用編譯菜單中的運行,運行程序,觀察運行結果。 (4) 更改數據區中的數據,考察程序的正確性。 參考程序;A5.as

26、m;分支程序設計實驗STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDDATASEGMENTMES1DB 'The least number is:$'MES2 DB 0AH,0DH,'The largest number is:$'NUMBDB 0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9HDDATAENDSCODE SEGMENTASSUME CS:CODE,DS:DDATASTART: MOVAX,DDATA MOVDS,AX MOV SI,OFFSET NUMB MOV CX,0008H

27、JCXZ A4 MOV BH,SI MOV BL,BHA1: LODSB;AL=DS:SI,SI=SI+1 CMP AL,BH JBE A2 MOV BH,AL JMP A3A2: CMP AL,BL JAE A3 MOV BL,ALA3: LOOP A1A4: MOVDX,OFFSET MES1;show mes1 MOVAH,09H INT 21H MOVAL,BL;show the least number ANDAL,0F0H;get the highest 4 bits SHRAL,4 CMPAL,0AH JBC2 ADDAL,07HC2: ADDAL,30H MOVDL,AL;sh

28、ow character MOVAH,02H INT21H MOVAL,BL ANDAL,0FH;get the lowest 4 bits CMPAL,0AH JBC3 ADD AL,07HC3: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H MOVDX,OFFSET MES2;show mes2 MOVAH,09H INT 21H MOVAL,BH;show the largest number ANDAL,0F0H;get the highest 4 bits SHRAL,4 CMPAL,0AH JBC22 ADDAL,07HC22

29、: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H MOVAL,BH ANDAL,0FH;get the lowest 4 bits CMPAL,0AH JBC33 ADD AL,07HC33: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H MOVAX,4C00H;go back to dos INT21HCODE ENDS END START 循環程序設計實驗 實驗目的 掌握循環程序的設計方法。 實驗內容及說明 本實驗要求通過求某數據區內負數的個數來表現循環程序的結構形式。要求實驗程

30、序在數據區中存放一組數據,為統計負數的個數,逐個判斷區內的數據,然后將所有數據中凡是符號位為1的數據的個數累加起來,即得到區內所包含負數的個數。循環程序的結構示意如圖1所示。 實驗步驟 (1) 運行Tdpit軟件,選擇文件菜單編寫實驗程序。提供10字節的數據:12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01H。 (2) 使用編譯菜單中的編譯和連接對實驗程序進行匯編、連接。 (3) 使用編譯菜單中的運行,運行程序,觀察運行結果。 (4) 更改數據區中的數據,考察程序的正確性。 ;A6.asm;循環程序設計實驗STACK1 SEGMENT STACK DW 256 D

31、UP(?)STACK1 ENDSDDATASEGMENTNUMBDB12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01HMES1DB'The number of negative is:$'DDATAENDSCODE SEGMENTASSUME CS:CODE,DS:DDATASTART: MOVAX,DDATA MOVDS,AX MOVDI,OFFSET NUMB XORBH,BH MOVCX,10DA1: MOV AL,DI TEST AL,80H JE A2 INC BLA2: INC DI LOOP A1 MOVDX,OFFSET MES1

32、;show mes MOVAH,09H INT 21H MOVAL,BL ;show the number of negative ANDAL,0F0H ;get the highest 4 bits SHRAL,4 CMPAL,0AH JBC2 ADDAL,07HC2: ADDAL,30H MOVDL,AL ;show character MOVAH,02H INT21H MOVAL,BL ANDAL,0FH ;get the lowest 4 bits CMPAL,0AH JBC3 ADD AL,07HC3: ADDAL,30H MOVDL,AL ;show character MOVAH

33、,02H INT21H MOVAX,4C00H ;go back to dos INT21HCODE ENDS END START綜合程序設計實驗  實驗目的 (1) 掌握分支、循環、子程序調用的基本程序結構。 (2) 掌握32位寄存器、指令使用的基本方法。 (3) 學習綜合程序的設計、編制及調試。   實驗內容及步驟 1排序實驗     本實驗要求編寫一個程序,對存貯區中的一組雙字進行排序,并將排序結果顯示在屏幕上。在編寫過程中,應使用32位寄存器,并且采用基址+變址+偏移的尋址方式。在程序中使用80x86指令系統中有關32位的指令、尋址方式

34、及32位寄存器時需要在文件頭使用“.386”或“.386p”。 具體實驗步驟如下: (1) 運行Tddebug軟件,選擇Edit菜單編寫實驗程序。 (2) 使用Compile菜單中的Compile和Link對實驗程序進行匯編、連接。 (3) 使用Rmrun菜單中的Run,運行程序,觀察運行結果。 (4) 更改數據區中的數據,考察程序的正確性。   2用32位寄存器、指令、擴展尋址方式實現數碼轉換及顯示     本實驗要求將一組ASCII字符轉換成十六進制數碼,并在屏幕上顯示出來。要求使用32位寄存器、32位的指令和尋址方式。如將字符串“This is t

35、angdu speaking!”進行轉換,應轉換成:54H、68H、69H、73H、20H、69H、73H、20H、74H、61H、6EH、67H、64H、75H、20H、73H、70H、65H、61H、6BH 、69H、6EH、67H、21H。 具體實驗步驟如下。 (1) 運行Tdpit軟件,選擇文件菜單編寫實驗程序。 (2) 使用編譯菜單中的編譯和連接對實驗程序進行匯編、連接。 (3) 使用運行菜單中的運行,運行程序,觀察運行結果。 (4) 更改數據區中的數據,考察程序的正確性。 參考程序:一維字節數據排序STACK1 SEGMENT STACK USE16DB64DUP(?)STACK1

36、 ENDSDATASEGMENTUSE16MES1DB'The array is:$'MES2DB'After sort:$'DATA1DB15H,0D8H,02H,04H,09H,44H,03H,32HCOUNT=8DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART: MOV AX,DATA ;顯示未排序的數組 MOVDS,AX MOVDX,OFFSET MES1 MOVAH,09H INT 21H CALLKENTER CALLSAHEX CALLKENTER CALLBUBBLE;顯示排序后的數組 MOVDX,OFF

37、SET MES2 MOVAH,09H INT21H CALLKENTER CALLSAHEX CALLKENTER MOVAX,4C00H INT21HBUBBLEPROC XORSI,SI XORCX,CX MOVSI,OFFSET DATA1 MOVCX,COUNTL1: XORBX,BX XORAX,AXL2: CMPBX,CX JAELB MOVAL,SI+BX+1 MOV DL,SI+BX CMPSI+BX,AL JAELNS XCHGSI+BX,AL MOVSI+BX+1,ALLNS: INCBX JMPL2LB: LOOPL1 RETBUBBLEENDPSAHEXPROCNEAR

38、 XORSI,SI XORCX,CX MOVSI,OFFSET DATA1 MOVCX,COUNTC1: MOVBX,CX DECBX MOVAL,DS:SI+BX ANDAL,0F0H;取高4位 SHRAL,4 CMPAL,0AH;是否是A以上的數 JBC2 ADDAL,07HC2: ADDAL,30H MOVDL,AL MOVAH,02H INT21H;顯示字符 MOVAL,DS:SI+BX ANDAL,0FH;取低4位 CMPAL,0AH JBC3 ADD AL,07HC3: ADDAL,30H MOVDL,AL;顯示字符 MOVAH,02H INT21H TESTBX,00H JNZC

39、4 MOVDL,20H MOVAH,02H INT21HC4: LOOPC1 RETSAHEXENDPKENTERPROCNEAR MOVDL,0AH MOVAH,02H INT21H MOVDL,0DH MOVAH,02H INT21H RETKENTERENDPCODE ENDS ENDSTART;A8-1.asm;綜合程序設計實驗排序實驗.386pSTACK1 SEGMENT STACK USE16DB64DUP(?)STACK1 ENDSDATASEGMENTUSE16MES1DB'The array is:$'MES2DB'After sort:$'D

40、ATA1DD110015H,111101D8H,22110002H,111a0004H,1d110009H,111f044H,11d10203H,32HCOUNT=8DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATASTART: MOV AX,DATA ;顯示未排序的數組 MOVDS,AX MOVDX,OFFSET MES1 MOVAH,09H INT 21H CALLKENTER CALLSAHEX CALLKENTER CALLBUBBLE;顯示排序后的數組 MOVDX,OFFSET MES2 MOVAH,09H INT21H CALLKENTER

41、CALLSAHEX CALLKENTER MOVAX,4C00H INT21HBUBBLEPROC XORESI,ESI XORECX,ECX MOVSI,OFFSET DATA1 MOVCX,COUNTL1: XOREBX,EBXL2: CMPEBX,ECX JAELB MOVEAX,ESI+EBX*4+4 CMPESI+EBX*4,EAX JGELNS XCHGESI+EBX*4,EAX MOVESI+EBX*4+4,EAXLNS: INCEBX JMPL2LB: LOOPL1 RETBUBBLEENDPSAHEXPROCNEAR XORESI,ESI XORECX,ECX MOVSI,OFFSET DATA1 MOVCX,COUNT*4C1: MOVEBX,ECX DECEBX MOVAL,DS:ESI+EBX ANDAL,0F0H;取高4位 SHRAL,4 CMPAL,0AH;是否是A以上的數 JBC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論