freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[]8086微機原理及接口技術(shù)實驗教程(編輯修改稿)

2025-06-27 22:05 本頁面
 

【文章內(nèi)容簡介】 (3)運算結(jié)果存儲在寄存器DX中,查看結(jié)果是否正確。(4)可以改變N(N+1)的條件來驗證程序功能是否正確,但要注意,結(jié)果若大于0FFFFH將產(chǎn)生數(shù)據(jù)溢出。2. 求某數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個數(shù)設(shè)數(shù)據(jù)區(qū)的第一單元存放區(qū)內(nèi)單元數(shù)據(jù)的個數(shù),從第二單元開始存放數(shù)據(jù),在區(qū)內(nèi)最后一個單元存放結(jié)果。為統(tǒng)計數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個數(shù),需要逐個判斷區(qū)內(nèi)的每一個數(shù)據(jù),然后將所有數(shù)據(jù)中凡是符號位為1的數(shù)據(jù)的個數(shù)累加起來,即得到區(qū)內(nèi)所包含負(fù)數(shù)的個數(shù)。實驗程序清單(例程文件名為:)SSTACK SEGMENT STACK DW 64 DUP(?)SSTACK ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DI, 3000H 。數(shù)據(jù)區(qū)首地址 MOV CL, [DI] 。取數(shù)據(jù)個數(shù) XOR CH, CH MOV BL, CH INC DI 。指向第一個數(shù)據(jù)A1: MOV AL, [DI] TEST AL, 80H 。檢查數(shù)據(jù)首位是否為1 JE A2 INC BL 。負(fù)數(shù)個數(shù)加1A2: INC DI LOOP A1 MOV [DI], BL 。保存結(jié)果 MOV AX,4C00H INT 21H 。程序終止CODE ENDS END START實驗步驟(1)按實驗流程編寫實驗程序。(2)編譯、鏈接無誤后裝入系統(tǒng)。(3)鍵入E3000,輸入數(shù)據(jù)如下: 3000=06 (數(shù)據(jù)個數(shù)) 3001=12 3002=88 3003=82 3004=90 3005=22 3006=33 程序流程圖(4)先運行程序,待程序運行停止。(5)查看3007內(nèi)存單元或寄存器BL中的內(nèi)容,結(jié)果應(yīng)為03。(6)可以進行反復(fù)測試來驗證程序的正確性。 排序程序設(shè)計實驗 實驗?zāi)康?. 掌握分支、循環(huán)、子程序調(diào)用等基本的程序結(jié)構(gòu)。2. 學(xué)習(xí)綜合程序的設(shè)計、編制及調(diào)試。 實驗設(shè)備PC機一臺,TDPITE實驗裝置一套。 實驗內(nèi)容及步驟1. 氣泡排序法在數(shù)據(jù)區(qū)中存放著一組數(shù),數(shù)據(jù)的個數(shù)就是數(shù)據(jù)緩沖區(qū)的長度,要求采用氣泡法對該數(shù)據(jù)區(qū)中的數(shù)據(jù)按遞增關(guān)系排序。設(shè)計思想:(1)從最后一個數(shù)(或第一個數(shù))開始,依次把相鄰的兩個數(shù)進行比較,即第N個數(shù)與第N-1個數(shù)比較,第N-1個數(shù)與第N-2個數(shù)比較等等;若第N-1個數(shù)大于第N個數(shù),則兩者交換,否則不交換,直到N個數(shù)的相鄰兩個數(shù)都比較完為止。此時,N個數(shù)中的最小數(shù)將被排在N個數(shù)的最前列。(2)對剩下的N-1個數(shù)重復(fù)(1)這一步,找到N-1個數(shù)中的最小數(shù)。(3)再重復(fù)(2),直到N個數(shù)全部排列好為止。實驗程序清單(例程文件名為:)SSTACK SEGMENT STACK DW 64 DUP(?)SSTACK ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV CX, 000AH MOV SI, 300AH MOV BL, 0FFHA1: CMP BL, 0FFH JNZ A4 MOV BL, 00H DEC CX JZ A4 PUSH SI PUSH CXA2: DEC SI MOV AL, [SI] DEC SI CMP AL, [SI] JA A3 XCHG AL, [SI] MOV [SI+01H], AL MOV BL, 0FFHA3: INC SI LOOP A2 POP CX POP SI JMP A1A4: MOV AX,4C00H INT 21H 。程序終止CODE ENDS END START實驗步驟(1)分析參考程序,繪制流程圖并編寫實驗程序。(2)編譯、鏈接無誤后裝入系統(tǒng)。(3)鍵入E3000命令修改3000H~3009H單元中的數(shù),任意存入10個無符號數(shù)。(4)先運行程序,待程序運行停止。(5)通過鍵入D3000命令查看程序運行的結(jié)果。(6)可以反復(fù)測試幾組數(shù)據(jù),觀察結(jié)果,驗證程序的正確性。思考題:兩個循環(huán)是如何循環(huán)的,如果想減少判斷次數(shù),比如說幾次交換后就不再有數(shù)據(jù)交換了,如何修改程序來減少程序執(zhí)行時間;編一程序把3000H3009H中內(nèi)容按從大到小排列;如果是有符號數(shù)怎么改寫程序。2. 學(xué)生成績名次表將分?jǐn)?shù)在1~100之間的10個成績存入首地址為3000H的單元中,3000H+I表示學(xué)號為I的學(xué)生成績。編寫程序,將排出的名次表放在3100H開始的數(shù)據(jù)區(qū),3100H+I中存放的為學(xué)號為I的學(xué)生名次。實驗程序清單(例程文件名為:)SSTACK SEGMENT STACK DW 64 DUP(?)SSTACK ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV AX,0000H MOV DS,AX MOV ES,AX MOV SI,3000H 。存放學(xué)生成績 MOV CX,000AH 。共10個成績 MOV DI,3100H 。名次表首地址A1: CALL BRANCH 。調(diào)用子程序 MOV AL,0AH SUB AL,CL INC AL MOV BX,DX MOV [BX+DI],AL LOOP A1 MOV AX,4C00H INT 21H 。程序終止。===掃描成績表,得到最高成績者的學(xué)號===BRANCH: PUSH CX MOV CX,000AH MOV AL,00H MOV BX,3000H MOV SI,BXA2: CMP AL,[SI] JAE A3 MOV AL,[SI] MOV DX,SI SUB DX,BXA3: INC SI LOOP A2 ADD BX,DX MOV AL,00H MOV [BX],AL POP CX RET CODE ENDS END START實驗步驟(1)繪制流程圖,并編寫實驗程序。(2)編譯、鏈接無誤后裝入系統(tǒng)。(3)將10個成績存入首地址為3000H的內(nèi)存單元中。(4)調(diào)試并運行程序。(5)檢查3100H起始的內(nèi)存單元中的名次表是否正確。 子程序設(shè)計實驗 實驗?zāi)康?. 學(xué)習(xí)子程序的定義和調(diào)用方法。2. 掌握子程序、子程序的嵌套、遞歸子程序的結(jié)構(gòu)。3. 掌握子程序的程序設(shè)計及調(diào)試方法。 實驗設(shè)備PC機一臺,TDPITE實驗裝置一套。 實驗內(nèi)容及步驟1. 求無符號字節(jié)序列中的最大值和最小值設(shè)有一字節(jié)序列,其存儲首地址為3000H,字節(jié)數(shù)為08H。利用子程序的方法編程求出該序列中的最大值和最小值。 程序流程圖實驗程序清單(例程文件名為:)SSTACK SEGMENT STACK DW 64 DUP(?)SSTACK ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV AX, 0000H MOV DS, AX MOV SI, 3000H 。 數(shù)據(jù)區(qū)首址 MOV CX, 0008H CALL BRANCH 。 調(diào)用子程序HERE: JMP HEREBRANCH PROC NEAR 。 子程序,返回參數(shù)在AX中 JCXZ A4 PUSH SI PUSH CX PUSH BX MOV BH, [SI] MOV BL, BH CLDA1: LODSB CMP AL, BH JBE A2 MOV BH, AL JMP A3A2: CMP AL, BL JAE A3 MOV BL, ALA3: LOOP A1 MOV AX, BX POP BX POP CX POP SIA4: RETBRANCH ENDPCODE ENDS END START實驗步驟(1)根據(jù)程序流程圖編寫實驗程序。(2)經(jīng)編譯、鏈接無誤后裝入系統(tǒng)。(3)鍵入E3000命令,輸入8個字節(jié)的數(shù)據(jù),如:D9 07 8B C5 EB 04 9D F9。(4)運行實驗程序。(5)點擊停止按鈕,停止程序運行,觀察寄存器窗口中AX的值,AX應(yīng)為F9 04,其中AH中為最大值,AL中為最小值。(6)反復(fù)測試幾組數(shù)據(jù),檢驗程序的正確性。程序說明:該程序使用BH和BL暫存現(xiàn)行的最大值和最小值,開始時初始化成首字節(jié)的內(nèi)容,然后進入循環(huán)操作,從字節(jié)序列中逐個取出一個字節(jié)的內(nèi)容與BH和BL相比較,若取出的字節(jié)內(nèi)容比BH的內(nèi)容大或比BL的內(nèi)容小,則修改之。當(dāng)循環(huán)操作結(jié)束時,將BH送AH,將BL送AL,作為返回值,同時恢復(fù)BX原先的內(nèi)容。2. 求N!利用子程序的嵌套和子程序的遞歸調(diào)用,實現(xiàn)N!的運算。根據(jù)階乘運算法則,可以得:N?。絅(N-1)?。絅(N-1)(N-2)?。健??。?由此可知,欲求N的階乘,可以用一遞歸子程序來實現(xiàn),每次遞歸調(diào)用時應(yīng)將調(diào)用參數(shù)減1,即求(N-1)的階乘,并且當(dāng)調(diào)用參數(shù)為0時應(yīng)停止遞歸調(diào)用,且有0?。?,最后將每次調(diào)用的參數(shù)相乘得到最后結(jié)果。因每次遞歸調(diào)用時參數(shù)都送入堆棧,當(dāng)N為0而程序開始返回時,應(yīng)按嵌套的方式逐層取出相應(yīng)的調(diào)用參數(shù)。定義兩個變量N及RESULT,RESULT中存放N!的計算結(jié)果,N在00H~08H之間取值。實驗程序清單(例程文件名為:)SSTACK SEGMENT STACK DW 64 DUP(?)SSTACK ENDSPUBLIC N, RESULT 。設(shè)置全局變量DATA SEGMENTN DB ? 。N的范圍在1~8之間RESULT DW ? 。N!的結(jié)果存于該變量中DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV AX, OFFSET RESULT PUSH AX MOV AL, N MOV AH, 00H PUSH AX MOV DI, 0000H CALL branch JMP START 。在此處設(shè)置斷點,觀察變量。===子程序===branch: PUSH BP MOV BP,SP PUSH BX PUSH AX MOV BX,[BP+DI+06H] MOV AX,[BP+DI+04H] CMP AX,0000H JZ A1 PUSH BX DEC AX PUSH AX CALL branch 。遞歸調(diào)用 MOV BX,[BP+DI+06H] MOV AX,[BX] PUSH BX MOV BX,[BP+DI+04H] MUL BX POP BX JMP A2A1: MOV AX, 0001HA2: MOV RESULT, AX 。結(jié)果存入RESULT中 POP AX POP BX POP BP RET 0004HCODE ENDS END START實驗步驟(1)依據(jù)設(shè)計思想繪制程序流程圖,編寫實驗程序。(2)經(jīng)編譯、鏈接無誤后裝入系統(tǒng)。(3)將變量N及RESULT加入變量監(jiān)視窗口,并修改N值,N在00~08H之間取值。(4)在JMP START語句行設(shè)置斷點,然后運行程序。(5)當(dāng)程序遇到斷點后停止運行,此時觀察變量窗口中RESULT的值是否正確,驗證程序的正確性。(6)改變變量N的值,然后再次運行程序,當(dāng)程序停止在斷點行后觀察實驗結(jié)果。 階乘表N012345678RESULT112618H78H02D0H13B0H9D80H 查表程序設(shè)計實驗 實驗?zāi)康膶W(xué)習(xí)查表程序的設(shè)計方法。 實驗設(shè)備PC機一臺,TDPITE實驗裝置一套。 實驗內(nèi)容所謂查表,就是根據(jù)某個值,在數(shù)據(jù)表格中尋找與之對應(yīng)的一個數(shù)據(jù),在很多情況下,通過查表比通過計算要使程序更簡單,更容易編制。通過查表的方法實現(xiàn)十六進制數(shù)轉(zhuǎn)換為ASCII碼。,0~9的ASCII碼為30H~39H,而A~F的ASCII碼為41H~46H,這樣就可以將0~9與A~F對應(yīng)的ASCII碼保存在一個數(shù)據(jù)表格中。當(dāng)給定一個需要轉(zhuǎn)換的十六進制數(shù)時,就可以快速的在表格中找出相應(yīng)的ASCII碼值。實驗程序清單(例程文件名為:)SSTACK SEGMENT STACK DW 32 DUP(?)SSTACK ENDSPUBLIC ASCH, ASCL, HEX 。定義全局變量DATA SEGMENT 。十六進制數(shù)0~9,A,B,C,D,E,F對應(yīng)ASC碼表TAB DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H DB 41H,42H,43H,44H,45H,46HHEX DB ? 。待轉(zhuǎn)換的十六進制數(shù)AS
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1