《實(shí)驗(yàn)2分支程序設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《實(shí)驗(yàn)2分支程序設(shè)計(jì)(4頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、實(shí)驗(yàn)2 分支程序設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康模?
熟悉運(yùn)算類指令對(duì)標(biāo)志位的狀態(tài)影響以及標(biāo)志位狀態(tài)的表示方法;掌握條件轉(zhuǎn)移、無條件轉(zhuǎn)移指令的使用方法。掌握分支程序設(shè)計(jì)、編寫、調(diào)試和運(yùn)行的方法。
二、實(shí)驗(yàn)要求:
1、上機(jī)前認(rèn)真分析題意,找出算法,畫出流程圖,依據(jù)流程圖,編好程序。
2、認(rèn)真調(diào)試程序,對(duì)程序可能存在的所有分支都要進(jìn)行運(yùn)行,只有這樣才能證明程序的正確性。
三、實(shí)驗(yàn)內(nèi)容
1.判斷X單元數(shù)據(jù)的奇偶性,若為奇數(shù),將Y單元設(shè)置為0FFH,若為偶數(shù),將Y單元清0。
程序:
DATA SEGMENT
X DB 52H
Y DB ?
DATA ENDS
COD
2、E SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AL,X
TEST AL,01H
JZ OUSHU
MOV Y,0FFH
JMP LB
OUSHU:MOV Y,00H
LB:MOV AH,4CH
INT 21H
CODE ENDS
END START
對(duì)程序進(jìn)行編譯,連接,運(yùn)行后,用DEBUG程序進(jìn)行調(diào)試。用反匯編U命令
可知內(nèi)
3、存首地址為:1415:0,再用命令D查看數(shù)據(jù)在內(nèi)存中的位置:52H
運(yùn)行命令G后,然后用D查看結(jié)果在內(nèi)存的位置,可以看到結(jié)果為00H
將偶數(shù)52H修改為奇數(shù)51H,在運(yùn)行程序進(jìn)行調(diào)試得到結(jié)果如圖:
如圖,結(jié)果符合題意。
2. 設(shè)計(jì)—個(gè)比較兩個(gè)8位無符號(hào)數(shù)的大小、并把較小的數(shù)存人MIN單元的程序。假設(shè)這兩個(gè)數(shù)分別存放在FIRST和SECOND單元中。
程序如下:
DATA SEGMENT
FIRST DB 66H
SECOND DB 27H
MIN DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:COD
4、E,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AL,FIRST
MOV AH,SECOND
CMP AL,AH
JA SHU1
MOV MIN,AL
JMP SHU2
SHU1:MOV MIN,AH
SHU2:MOV AH,4CH
INT 21H
CODE ENDS
END START
用U命令查看內(nèi)存首地址為:13E0:0,再用D查看數(shù)據(jù)在內(nèi)存中的位置:
運(yùn)行G命令后,用D命令查看內(nèi)存結(jié)果:
從上圖
5、看出結(jié)果符合。
3、設(shè)在內(nèi)存中連續(xù)存放了5個(gè)字型無符號(hào)數(shù),試編寫程序求出他們之和。
程序如下:
DATA SEGMENT
TAB DW 0011H,0022H,1111H,1122H,1122H
SUM DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA BX,TAB
MOV AX,[BX]
6、XOR BX,BX
MOV CX,5
LEA SI,TAB
AGAIN:MOV AX,[SI]
ADD BX,AX
LOOP AGAIN
MOV SUM,BX
MOV AH,4CH
INT 21H
CODE ENDS
END START
運(yùn)行進(jìn)行DEBUG以調(diào)試,輸入U(xiǎn)命令查看內(nèi)存首地址,及D命令:
再輸入G及D命令查看結(jié)果內(nèi)存
由圖上可看到結(jié)果,符合理論值。
四、問題解決及收獲體會(huì)
1 DW是對(duì)字節(jié)的定義,
2 使用條件轉(zhuǎn)移指令應(yīng)先判斷是否滿足對(duì)應(yīng)的測(cè)試條件
3在debug中的數(shù)據(jù)都是十六進(jìn)制的數(shù),低字節(jié)在前,高字節(jié)在后