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

正文內容

[]8086微機原理及接口技術實驗教程-在線瀏覽

2025-07-18 22:05本頁面
  

【正文】 編程及調試方法。3. 學習使用軟件監(jiān)視變量的方法。 實驗內容及步驟80X86指令系統(tǒng)提供了實現(xiàn)加、減、乘、除運算的基本指令。+、-+、-、247。實驗程序參考如下。由于低16運算后可能向高位產生進位,因此高16位運算時使用ADC指令,這樣在低16位相加運算有進位時,高位相加會加上CF中的1。設置全局變量DATA SEGMENTXL DW ? 。X高位YL DW ? 。Y高位ZL DW ? 。Z高位DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV AX, XL ADD AX, YL 。低位和存到Z的低位 MOV AX, XH ADC AX, YH 。存高位結果 JMP START 。(2)程序裝載完成后,點擊‘變量區(qū)’標簽將觀察窗切換到變量監(jiān)視窗口。(4)在JMP START語句行設置斷點,然后運行程序。(6)修改XH,XL,YH和YL的值,再次運行程序,觀察實驗結果,反復測試幾組數(shù)據(jù),驗證程序的功能。②. 多字節(jié)加法程序設計,參考原程序,編寫個兩個64位數(shù)的減法程序,結果保存到具體內存單元,調試并記錄。實驗程序參考例程。定義全局變量DATA SEGMENTX DW ?Y DW ?Z DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV AH, 00H SAHF MOV CX, 0002H MOV SI, OFFSET X MOV DI, OFFSET ZA1: MOV AL, [SI]SBB AL, [SI+02H] DAS PUSHF AND AL, 0FH POPF MOV [DI], AL INC DI INC SI LOOP A1 JMP START 。CODE ENDS END START實驗步驟(1)輸入程序,編譯、鏈接無誤后裝入系統(tǒng)。(3)在JMP START語句行設置斷點,然后運行程序。(5)重新修改X與Y的值,運行程序,觀察結果,反復測試幾次,驗證程序正確性。實驗程序參考例程。被乘數(shù)DATA2 DB ? 。計算結果DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX CALL INIT 。得到乘數(shù) 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 AAM 。程序終止。===錯誤處理===ERROR: MOV SI,OFFSET RESULT 。(2)查看寄存器窗口獲得CS的值,使用U命令可得到數(shù)據(jù)段段地址DS,然后通過E命令為被乘數(shù)及乘數(shù)賦值,如被乘數(shù):01 02 03 04 05,乘數(shù):01,方法同實驗內容1。(4)通過D命令查看計算結果,應為:00 01 02 03 04 05;當在為被乘數(shù)和乘數(shù)賦值時,如果一個數(shù)的低4位大于9,則查看計算結果將全部顯示為E。 分支程序設計實驗 實驗目的1. 掌握分支程序的結構。 實驗設備PC機一臺,TDPITE實驗裝置一套。設計思想:程序要求把內存中一數(shù)據(jù)區(qū)(稱為源數(shù)據(jù)塊)傳送到另一存儲區(qū)(成為目的數(shù)據(jù)塊)。 (a) (b) (c) 源數(shù)據(jù)塊與目的數(shù)據(jù)塊在存儲中的位置情況對于兩個數(shù)據(jù)塊分離的情況,(a),數(shù)據(jù)的傳送從數(shù)據(jù)塊的首地址開始,或從數(shù)據(jù)塊的末地址開始均可。當源數(shù)據(jù)塊首地址>目的塊首地址時,從數(shù)據(jù)塊首地址開始傳送數(shù)據(jù),(c)所示。 程序流程圖實驗程序清單(例程文件名為:)SSTACK SEGMENT STACK DW 64 DUP(?)SSTACK ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV CX, 0010H MOV SI, 3100H MOV DI, 3200H CMP SI, DI JA A2 ADD SI, CX ADD DI, CX DEC SI DEC DIA1: MOV AL, [SI] MOV [DI], AL DEC SI DEC DI DEC CX JNE A1 JMP A3A2: MOV AL, [SI] MOV [DI], AL INC SI INC DI DEC CX JNE A2A3: MOV AX,4C00H INT 21H 。2. 用E命令在以SI為起始地址的單元中填入16個數(shù)。4. 通過D命令查看DI為起始地址的單元中的數(shù)據(jù)是否與SI單元中數(shù)據(jù)相同。思考題:將源數(shù)據(jù)首址改為3100H,目的數(shù)據(jù)地址改為310A,再加以驗證(注意單步調試);將源數(shù)據(jù)首址改為310AH,目的數(shù)據(jù)地址改為3100,再加以驗證(注意單步調試)。2. 掌握循環(huán)結構程序設計的方法以及調試方法。 實驗內容及步驟1. 計算S=1+23+34+45+…+N(N+1),直到N(N+1)項大于200為止。實驗程序清單(例程文件名為:)SSTACK SEGMENT STACK DW 64 DUP(?)SSTACK ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DX,0001H MOV BL,02HA1: MOV AL,BL INC BL MUL BL ADD DX,AX 。判斷N(N+1)與200的大小 JNA A1 MOV AX,4C00H INT 21H 。 程序流程圖(2)運行程序,待程序運行停止。(4)可以改變N(N+1)的條件來驗證程序功能是否正確,但要注意,結果若大于0FFFFH將產生數(shù)據(jù)溢出。為統(tǒng)計數(shù)據(jù)區(qū)內負數(shù)的個數(shù),需要逐個判斷區(qū)內的每一個數(shù)據(jù),然后將所有數(shù)據(jù)中凡是符號位為1的數(shù)據(jù)的個數(shù)累加起來,即得到區(qū)內所包含負數(shù)的個數(shù)。實驗程序清單(例程文件名為:)SSTACK SEGMENT STACK DW 64 DUP(?)SSTACK ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DI, 3000H 。取數(shù)據(jù)個數(shù) XOR CH, CH MOV BL, CH INC DI 。檢查數(shù)據(jù)首位是否為1 JE A2 INC BL 。保存結果 MOV AX,4C00H INT 21H 。(2)編譯、鏈接無誤后裝入系統(tǒng)。(5)查看3007內存單元或寄存器BL中的內容,結果應為03。 排序程序設計實驗 實驗目的1. 掌握分支、循環(huán)、子程序調用等基本的程序結構。 實驗設備PC機一臺,TDPITE實驗裝置一套。設計思想:(1)從最后一個數(shù)(或第一個數(shù))開始,依次把相鄰的兩個數(shù)進行比較,即第N個數(shù)與第N-1個數(shù)比較,第N-1個數(shù)與第N-2個數(shù)比較等等;若第N-1個數(shù)大于第N個數(shù),則兩者交換,否則不交換,直到N個數(shù)的相鄰兩個數(shù)都比較完為止。(2)對剩下的N-1個數(shù)重復(1)這一步,找到N-1個數(shù)中的最小數(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 。(2)編譯、鏈接無誤后裝入系統(tǒng)。(4)先運行程序,待程序運行停止。(6)可以反復測試幾組數(shù)據(jù),觀察結果,驗證程序的正確性。2. 學生成績名次表將分數(shù)在1~100之間的10個成績存入首地址為3000H的單元中,3000H+I表示學號為I的學生成績。實驗程序清單(例程文件名為:)SSTACK SEGMENT STACK DW 64 DUP(?)SSTACK ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV AX,0000H MOV DS,AX MOV ES,AX MOV SI,3000H 。共10個成績 MOV DI,3100H 。調用子程序 MOV AL,0AH SUB AL,CL INC AL MOV BX,DX MOV [BX+DI],AL LOOP A1 MOV AX,4C00H INT 21H 。===掃描成績表,得到最高成績者的學號===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)繪制流程圖,并編寫實驗程序。(3)將10個成績存入首地址為3000H的內存單元中。(5)檢查3100H起始的內存單元中的名次表是否正確。2. 掌握子程序、子程序的嵌套、遞歸子程序的結構。 實驗設備PC機一臺,TDPITE實驗裝置一套。利用子程序的方法編程求出該序列中的最大值和最小值。 數(shù)據(jù)區(qū)首址 MOV CX, 0008H CALL BRANCH 。 子程序,返回參數(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ù)程序流程圖編寫實驗程序。(3)鍵入E3000命令,輸入8個字節(jié)的數(shù)據(jù),如:D9 07 8B C5 EB 04 9D F9。(5)點擊停止按鈕,停止程序運行,觀察寄存器窗口中AX的值,AX應為F9 04,其中AH中為最大值,AL中為最小值。程序說明:該程序使用BH和BL暫存現(xiàn)行的最大值和最小值,開始時初始化成首字節(jié)的內容,然后進入循環(huán)操作,從字節(jié)序列中逐個取出一個字節(jié)的內容與BH和BL相比較,若取出的字節(jié)內容比BH的內容大或比BL的內容小,則修改之。2. 求N!利用子程序的嵌套和子程序的遞歸調用,實現(xiàn)N!的運算。因每次遞歸調用時參數(shù)都送入堆棧,當N為0而程序開始返回時,應按嵌套的方式逐層取出相應的調用參數(shù)。實驗程序清單(例程文件名為:)SSTACK SEGMENT STACK DW 64 DUP(?)SSTACK ENDSPUBLIC N, RESULT 。N的范圍在1~8之間RESULT DW ? 。在此處設置斷點,觀察變量。遞歸調用 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 。(2)經(jīng)編譯、鏈接無誤后裝入系統(tǒng)。(4)在JMP START語句行設置斷點,然后運行程序。(6)改變變量N的值,然后再次運行程序,當程序停止在斷點行后觀察實驗結果。 實驗設備PC機一臺,TDPITE實驗裝置一套。通過查表的方法實現(xiàn)十六
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1