微機實驗報告5 迴圈程式設計實驗
阿新 • • 發佈:2018-11-23
桂 林 理 工 大 學
實 驗 報 告
班級 軟體工程16-1班 學號 3162052051116 姓名 張識虔 同組實驗者
實驗名稱 迴圈程式設計實驗 日期 2018年 11 月16 日
一、實驗目的:
掌握迴圈程式的設計方法。
二、實驗環境:
PC 微機一臺。
三、實驗內容:
本實驗要求通過求某資料區內負數的個數來表現迴圈程式的結構形式。要求 實驗程式在資料區中存放一組資料,為統計負數的個數,逐個判斷區內的資料, 然後將所有資料中凡是符號位為 1 的資料的個數累加起來,即得到區內所包含負
圖
圖 2-5-1 迴圈結構示意圖
實驗程式清單
STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT NUMB DB 12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01H MES1 DB 'The number of negative is:$' DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV DI,OFFSET NUMB XOR BH,BH MOV CX,10D A1: MOV AL,[DI] TEST AL,80H JE A2 INC BL A2: INC DI LOOP A1 MOV DX,OFFSET MES1 MOV AH,09H INT 21H MOV AL,BL AND AL,0F0H MOV CL,4 SHR AL,CL CMP AL,0AH JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AL,BL AND AL,0FH CMP AL,0AH JB C3 ADD AL,07H C3: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H WAIT1: MOV AH,1 INT 16H JZ WAIT1 MOV AX,4C00H INT 21H CODE ENDS END START
2.5.4 實驗步驟
(1) 根據實驗要求編寫程式。在資料段宣告 10 個數據:12H,88H,82H, 89H,33H,90H,01H,10H,0BDH,01H。
(2) 對實驗程式進行編譯、連結。
(3) 執行程式並觀察執行結果。
資料
(4) 更改資料區中的資料,反覆測試,驗證程式功能。
修改資料後
再修改一次
四、心得體會:
剛開始還不明白
NUMB DB 12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01H 這一串資料的意思 並且也分不清正負值 後來才直到 大於等於80H 就是負數 因為80H轉換成 2進位制就是 1000 0000 轉換成補碼 最高為為1 就是負數