第一篇:第二次實驗報告
多元統(tǒng)計分析實驗報告
姓名及學號:數(shù)101 梁菊麗
201004404116
日期:2012/10/13
1、實驗內(nèi)容
有一份關于居民儲蓄調(diào)查的模擬數(shù)據(jù)存儲在Excel中,文件名為“居民儲蓄調(diào)查數(shù)據(jù).xls”。該數(shù)據(jù)的第一行是變量名。請將該份數(shù)據(jù)轉換成SPSS數(shù)據(jù)文件,并在SPSS中指定其變量名標簽和變量值標簽。
2、實驗目的
通過本實驗熟悉SPSS文件建立、數(shù)據(jù)預處理,特別是掌握在SPSS中讀取其他格式的數(shù)據(jù)文件的方法。并掌握在SPSS中指定變量名標簽和變量值標簽的方法。
3、實驗方案分析
原數(shù)據(jù)是存儲在Excel表格中,需要把數(shù)據(jù)轉換成SPSS數(shù)據(jù),SPSS能夠直接讀取其他格式的數(shù)據(jù)文件,并將其保存為SPSS格式的數(shù)據(jù)。在SPSS的Variable View 窗口中,根據(jù)已給出的文件名為“居民儲蓄調(diào)查數(shù)據(jù).xls”,實現(xiàn)對變量名標簽和變量值標簽的指定。.4、操作過程
A、在SPSS的Date View窗口中將Excel表格中的文件名為“居民儲蓄調(diào)查數(shù)據(jù).xls”轉換成SPSS數(shù)據(jù):
(1)選擇菜單File→Open→Data;
(2)選擇數(shù)據(jù)文件的類型為Excel格式,并輸入數(shù)據(jù)文件名“居民儲蓄調(diào)查數(shù)據(jù)1.xls”。
(3)選擇Open,出現(xiàn)
(4)選擇Continue。
B、在SPSS中指定其變量名標簽和變量值標簽:
(5)選擇Variable View窗口,在Lable欄中,每一格分別輸入“居民儲蓄調(diào)查數(shù)據(jù)1.xls”中給出的15道題目,在Values欄的每一格中,分別輸入“居民儲蓄調(diào)查數(shù)據(jù)1.xls”中的15道題目的選項。操作得到的圖表如下:
(6)選擇Add,在Value中輸入2,在Label中輸入“存錢合算”(7)再選擇Add,最后選擇OK。
其它剩下的題目與選項與此指定方法相同。
5、實驗結果
(。。給出實驗得到的重要結果)
6、討論
(。。對上述得到的結果做出說明與討論)
7、結論
(。。根據(jù)以上的討論給出恰當?shù)慕Y論)
第二篇:第二次實驗報告
長春理工大學
匯編語言
實驗 報告
實驗題目:
用 用 G DEBUG 程序調(diào)試程序功能段
實驗時間:
2016
年
月
日
實驗地點:
東三教 912
班
級:
1405111
學
號:
140511114
姓
名:
王國偉
一..實驗目的 1.繼續(xù)學習使用 DEBUG 程序的各種命令。
2.利用 DEBUG 學習了解計算機取指令、執(zhí)行指令的工作過程。
3.掌握 8086/8088 基本指令的使用方法和功能。
二..實驗準備
1.G DEBUG 命令
1)G 命令
格式:G[=起始地址] [斷點地址]
功能:從起始地址開始執(zhí)行到斷點地址,如不設斷點地址,則程序一直執(zhí)行到終止指令才停止
2)P P 命令
功能:執(zhí)行匯編程序,單步跟蹤
與 與 T T 命令不同的是:
P 命令不會跟蹤進入子程序或軟中斷。其使用方式與 T T 相同
3)N N 命令
功能:指定文件名。為讀/寫文件做準備
4)W W 命令
功能:向磁盤寫內(nèi)容
5)L L 命令
功能:從磁盤將文件或扇區(qū)內(nèi)容讀入內(nèi)存
注意:使用該命令前,必須用 N N 命令設定文件名
三..實驗任務
1.按照下列給定步驟完成求累加和程序: :
程序 :
MOV BX,1000
MOV CX,10
MOV AL,0
LOP: ADD AL,[BX]
INC BX
J: LOOP LOP
INT3
步驟: :
1)用 A 命令將程序鍵入到 100H 開始的內(nèi)存中,在鍵入時記下標號LOP 和 J 的實際地址,在鍵入 LOOP 指令時 LOP 用實際地址值代替。
LOP:0B50:0108 J:0B50:010B
2)用命令 N AA 將此程序命名為文件 AA(文件名可任取)。
3)用 R 命令將 BX:CX 改為程序長度值(即最后一條指令后面的地址減去開始地址),用 R 命令把 BX 設為:0000H,CX 設為文件長度。
4)用命令 W 100 將此程序存到 AA 命名的磁盤文件中。
5)用命令 Q 退出 DEBUG。
6)用命令 DEBUG AA 再次調(diào)入 DEBUG 和文件 AA,可用 U 命令檢查調(diào)入程序。
若調(diào)入 DEBUG 時忘了加 AA 文件名,可用 N 命令和 L 命令將文件調(diào)入。
7)用 E 命令在內(nèi)存地址 1000H 處鍵入 16 個數(shù)字
8)用命令 G=100 J(J 用實際地址代替),使程序運行并停在斷點 J上,檢查
AX,BX 的值是否符合你的預計值。
9)用 T 命令運行一步,觀察程序方向(IP 值)和 CX 值是否與你的估計一樣, 若不一樣,檢查程序是否有錯。
10)重復 G J 與 T,再檢查 AX 是否正確。
(J 為斷點地址)
11)用 G 命令使程序運行到結束,檢查 AX 值是否正確 2.用命令 A A 匯編下列指令,判斷指令正誤并說明原因。
i.LEA DI,[AX]
錯誤,因為 lea 指令傳送的必須為變量名,標號或地址表達式
ii.MOV DS,2010
錯誤,不能將立即數(shù)放入數(shù)據(jù)段中
iii.PUSH AL
錯誤,push 一次壓入 16 位數(shù)據(jù),al 只有八位
iv.OUT 900,AL
錯誤,因為當端口地址大于 FFH 的時候應該將端口地址送到dx 中,al 只能
操作八位數(shù)
v.MOV [BX],0
錯誤,因為沒有標明是字節(jié)傳送還是字傳送
3.利用 T T,P P,G G 命令,執(zhí)行下列指令段,注意它們的不同之處
MOV DI,300
MOV SI,400
MOV CX,3
CLD
REP MOVSB
INT 3
如果用 G 命令直接中斷,并且顯示寄存器標志和下一條要執(zhí)行的命令。
T 是執(zhí)行一個指令,通常采用跟蹤一條指令,但用戶也可以用指令條數(shù)設定一次跟蹤多條指令,每執(zhí)行一條指令之后,顯示所有寄存器的內(nèi)容和標志狀態(tài)以及下一條指令在內(nèi)存中的保存情況。
P 其實也是執(zhí)行一條指令,但區(qū)別是在執(zhí)行 INT 的時候會把這個 INT 整個的執(zhí)行完畢,而不是跳轉到這個中斷程序去跟蹤執(zhí)行使用 P 命令執(zhí)行程序,該程序不間斷運行,直到循環(huán)、重復字符串指令、軟件中斷或者完成了指定地址的子例程為止,或者直到執(zhí)行了指定數(shù)量的機器指令為止。若被執(zhí)行的指令不是循環(huán)、重復的字符串指令、軟件中斷或子程序,則P 命令與 T(跟蹤)命令的作用相同。
4.程序: :
MOV
DI,1000
MOV CX,8
MOV SI,2000
CLC
LOP:
MOV AL,[SI]
ADC [DI],AL
INC SI
INC DI
LOOP LOP
INT
步驟: :
1)用 A 命令鍵入此程序
2)用 E 命令在 1000H 開始處鍵入一個 8 字節(jié)被加數(shù),在 2000H開始處鍵入一個 8 字節(jié)加數(shù),均為低字節(jié)在前面。
3)用 G 命令運行此程序,并用 D 命令檢查其結果(存放在哪里?),是否正確?
4)將 INT 20H 指令改為 INT 3,有何區(qū)別?若這條指令不加,行不行?試
試。
INT 20H 程序終止
INT3 為斷點
5)請說明這個程序完成的功能是什么?
將0b50:1000與0b50:2000對應的地址內(nèi)的數(shù)相加并存入[di]
四.實驗小結
在寫入程序時,應當先讀懂程序,大致上了解一下該程序段所執(zhí)行的功能或者流程,以便后面進行查看時判斷程序的正誤.讀程序的過程中就需要熟練的運用尋址方式來讀懂程序,最先開始就因為尋址方式而讀不懂程序.學會了 G 命令的使用,同時了解了 T.G.P 命令它們之間的不同.了解到了 INT 的部分指令的功能,如 INT20H INT3 等等.
第三篇:軟件工程第二次實驗報告
江 西 理 工 大 學
軟件工程 實驗報告
實驗名稱 實驗2 編寫軟件可行性分析報告 實驗日期 2014-04-03 專業(yè)班級 計算機111班 桌號
實 驗 人
學號
同組人
一、實驗目的和要求
對一個軟件系統(tǒng)進行可行性分析,將可行性分析過程的結果進行分析匯總,編寫一份描述計劃任務的可行性分析報告。
二、實驗內(nèi)容和步驟
(1)系統(tǒng)概述。對當前系統(tǒng)及存在問題的簡單描述、新系統(tǒng)特點及開發(fā)要點,新系統(tǒng)及其各個子系統(tǒng)的功能與特性、新系統(tǒng)與當前系統(tǒng)的比較等。
(2)可行性分析??尚行苑治鍪菆蟾娴闹黧w。論述新系統(tǒng)在經(jīng)濟上、技術上、運行上、管理及法律上的可行性,以及對新系統(tǒng)的主客觀條件的分析。
(3)初步開發(fā)方案及開發(fā)計劃。在可行性分析的基礎上,提出初步開發(fā)建議方案和計劃。
(4)結論意見。綜合上訴分析,說明新系統(tǒng)是否可行,給出具體結論。
三、結果分析 1 引言
1.1 編寫目的:
可行性研究的目的是為了對問題進行研究,以最小的代價在最短的時間內(nèi) 確定問題是否可解
經(jīng)過對此項目進行詳細調(diào)查研究,初擬系統(tǒng)實現(xiàn)報告,對軟件開發(fā)中將要
面臨的問題及其解決方案進行初步設計及合理安排。明確開發(fā)風險及其所帶來的 經(jīng)濟效益。本報告經(jīng)審核后,交軟件經(jīng)理審查。1.2項目背景:
開發(fā)軟件名稱:機票預訂系統(tǒng)。
項目任務提出者:中國民航及中國國際旅游開發(fā)公司。項目開發(fā)者:浙江大學IMK 開發(fā)小組。用戶:中國民航及中國國際旅游開發(fā)公司。
第2 頁 / 共4頁
實現(xiàn)軟件單位:中國國際旅游開發(fā)公司及浙江大學 項目與其他軟件,系統(tǒng)的關系:
本項目采用客戶機/服務器原理,客戶端的程序是建立在Windows NT 系統(tǒng)上以MicrosoftVisual C++為開發(fā)軟件的應用程序,服務器端采用Linux 為操作系統(tǒng)的工作站,是采用Oracle8 的為開發(fā)軟件的數(shù)據(jù)庫服務程序。1.3 參考資料: 《軟件工程導論》,張海藩,清華大學出版社。《實用軟件工程》,鄭人杰等,清華大學出版社。2 可行性研究的前提 2.1要求
主要功能:為游客提供機票預定服務,方便旅游局的售票工作,提高旅游局的服 務質量和服務效率
性能要求:機場提供的信息必須及時的反映在旅游局的工作平臺上。售票系統(tǒng)的 定單必須無差錯的存儲在機場的主服務器上。對服務器上的數(shù)據(jù)必須進行及時正確的刷新。
輸出要求:數(shù)據(jù)完整,詳實。輸出要求:簡捷,快速,實時。
安全與保密要求:服務器的管理員享有對機場航班信息庫及機票信息庫和定票信 息庫的管理與修改。售票員只享有對訂票信息庫的部分修改(寫入與讀出)。完成期限:預計六個月。2.2目標:
系統(tǒng)實現(xiàn)后,大大提高旅游局的機票預定服務效率。降低售票服務中的錯誤發(fā)生率,減少信息交流的煩瑣過程及其帶來的開銷。2.3條件,假定和限制 建議軟件壽命:5 年。
經(jīng)費來源:中國國際旅游開發(fā)公司。
硬件條件:服務器sun 工作站,終端為pc 機。運行環(huán)境:Linux 數(shù)據(jù)庫:Oracle8
2.4決定可行性的主要因素
成本/效益分析結果,效益〉成本。
技術可行,現(xiàn)有技術可完全承擔開發(fā)任務。操作可行,軟件能被原有工作人員快速接受。3 技術可行性分析 系統(tǒng)簡要描述:
在旅游局中的終端是安裝了Windows NT 的PC 機,主要目的是向機場的服務器傳 遞數(shù)據(jù)。當顧客在旅游局進行咨詢時,終端向服務器發(fā)出查詢請求,服務器根據(jù)航班信息庫的實時數(shù)據(jù),向終端發(fā)送數(shù)據(jù),顯示在終端的屏幕上。當顧客向售票員定票時,終
第3頁 / 共4頁第4頁/ 共4頁
端向服務器發(fā)出詳盡的一份定單,服務器核對后,存入定票信息庫,并修改機票信息庫。當顧客再次來取票時,終端向服務器發(fā)出查詢定票請求,服務器接收后,查詢定票信息庫,核對后,傳送機票確認表單,終端打印出機票。4 經(jīng)濟可行性分析 4.1支出 基礎投資:
終端PC 機20臺:8000*20 = 16 萬 網(wǎng)絡設備:10 萬 輔助配置:10 萬 共計:36 萬
其他一次性投資: 系統(tǒng)管理員事務 航班信息的更新
服務器終端顯示數(shù)據(jù)產(chǎn)生報表 售票員查詢請求 數(shù)據(jù)庫產(chǎn)生報表 客戶機終端顯示數(shù)據(jù) 售票員表單申請產(chǎn)生報表 客戶機終端顯示數(shù)據(jù)
售票員機票核對事務在客戶端打印機票和帳單產(chǎn)生報表及帳單 Oracle 8.0 : 20 萬 Windows NT: 10 萬 操作員培訓費:5 萬 共計:35 萬 經(jīng)常性支出:
人工費用: 6(月)*20(人)*5000(圓)=60 萬 其他不可知額外支出: 20 萬 共計: 80 萬
支出共計: 151 萬 4.2效益 一次性收益 0 元
經(jīng)常性收益
(按銀行利率:1%);
減少員工20 人(1000 圓/人)五年收益:
1000*(1.1+(1.1)2+(1.1)3+(1.1)4+(1.1)5)*20*12*5=120 萬 工作效率提高收益(工作效率提高30%):
30*(1.1+(1.1)2+(1.1)3+(1.1)4+(1.1)5)*(30%)*5 = 45 萬 經(jīng)常性收益共計: 160 萬
不可定量收益
因服務質量提高增加旅客量10%:
1000 萬*10%*(90%+(90%)2+(90%)3+(90%)4+(90%)5)=360 萬 收益共計: 520 萬 4.3收益/投資比
520 萬/151 萬= 344% 4.4投資回收周期 2-3 年
4.5敏感性分析
設計系統(tǒng)周期為五年, 估計最長可達10 年 處理速度: 一般查詢速度<4 秒 關鍵數(shù)據(jù)查詢速度: <2 秒 5 用戶使用可行性
使用本軟件人員要求有一定計算機基礎的人員,系統(tǒng)管理員要求由計算機的專業(yè)知 識,所有人員都要經(jīng)過本公司培訓.管理人員也需經(jīng)一般培訓.經(jīng)過培訓人員將會熟練使用本軟件.兩名系統(tǒng)管理員,一名審計員將進行專業(yè)培訓,他們將熟練管理本系統(tǒng).6 其他可供選擇的方案
客戶端與服務器端聯(lián)系在一起,在旅游局中只設立終端,在機場設立服務器,數(shù)據(jù)輸入由終端輸入,所有數(shù)據(jù)都由服務器處理,只在終端上顯示數(shù)據(jù)結果。此設計簡化了數(shù)據(jù)處理,但加重了服務器的數(shù)據(jù)處理。而使用客戶端/服務器機理,簡化數(shù)據(jù)流量,加快數(shù)據(jù)處理。7 結論意見
由于投資效益比遠大于100%, 技術、經(jīng)濟、操作都有可行性,可以進行開發(fā)。
四、實驗心得
此次文檔的編寫在整個軟件開發(fā)的過程中,起到了很重要的作用。它讓我們知道在以后的軟件開發(fā)過程中應該注意的問題,并且應該做出相應的措施來解決軟件開發(fā)過程中出現(xiàn)的各種問題。
第四篇:西安交通大學匯編第二次上機實驗報告
提交上機結果的模板文件 第 2 次線上上機 班級 學號 姓名
1、循環(huán)程序設計-1(1)匯編、連接后的截圖
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:masm xun 得到 xun.obj,xun.crf,xun.lst 文件,通過 link xun 得到 xun.map 文件,顯示編譯成功。
(2).lst 文件的截圖,TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:通過 masm 對程序進行編譯時生成.lst 文件,通過 notepad++打開.lst 文件,并進行截圖(3)反匯編的截圖
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:在 debug 環(huán)境下執(zhí)行 u 指令,顯示出反匯編代碼。
(4)在完成 DS 賦值后,立即顯示各個寄存器的值
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:按單步 t 之后,下方出現(xiàn) MOV DS,AX,即下一條即將執(zhí)行的指令為 MOV DS,AX,再按一次 t,此時 DS 被賦值,此時執(zhí)行的 r 指令顯示的就是 DS 賦值后各個寄存器的值。
(5)在進行計算前,顯示數(shù)組 M 開始的 n+2 個字的內(nèi)存值的截圖(只能顯示這n+2 個字的內(nèi)存值,多顯示、少顯示均扣分)
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:在 debug 環(huán)境下,執(zhí)行 d 指令顯示內(nèi)存,由于不能顯示其他字的內(nèi)存值,所以只能
一行一行截圖,可以看到,此時內(nèi)存值與程序初始定義值相同。
(6)執(zhí)行完計算后,立即顯示各個寄存器的值
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:先執(zhí)行 g 指令到執(zhí)行回到 dos 系統(tǒng)指令,此時顯然已經(jīng)執(zhí)行完運算,此時執(zhí)行 r 指令就獲得執(zhí)行完運算后各個寄存器的值。
(7)執(zhí)行完計算后,顯示數(shù)組 M 開始的 n+2 個字的內(nèi)存值的截圖(只能顯示這n+2 個字的內(nèi)存值,多顯示、少顯示均扣分)
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:執(zhí)行 d 指令顯示出內(nèi)存值,由于要求是不能顯示其他字的值,所以只能一行一行截圖,可以看到此時內(nèi)存值與期望結果相同。
(8)源代碼
TODO:你的源代碼(必選)
;empty asm file
title I love asm
data segment n
dw 0010h
M
dw
0021h,0084h,0041h,0010h,0027h,0018h,0044h,0011H,0002h,0028h,0024h,0020h,0022h,0014h,0030h,0040h
DATA1 DW ?
ADDRR DW ?
data ends
code segment
assume cs:code, ds:data
main
proc
;assign the data segment base address to DS
mov
ax, data
mov
ds, ax
;TODO...;| add your code between arrows |
;v----------------------------v
MOV CX, n
;循環(huán)計數(shù)器
LEA DI, M
MOV AX,[DI]
;取第一個數(shù)
MOV ADDRR, DI
;記下絕對值最大的數(shù)的地址
CMP AX,0
;此數(shù)是正數(shù)嗎?
JNS ZHEN
;是正數(shù),即為絕對值,轉去判斷下一個數(shù)
NEG AX
;不是正數(shù),變?yōu)槠浣^對值
ZHEN:MOV BX,[DI]
CMP BX,0
;此數(shù)是正數(shù)嗎?
JNS COMP
;是正數(shù),即為絕對值,轉去比較絕對值大小
NEG BX
;不是正數(shù),變?yōu)槠浣^對值
COMP: CMP AX, BX
;判斷絕對值大小
JAE ADDRESS
MOV AX, BX
;(AX)<(BX),使(AX)中為絕對值最大的數(shù)
MOV ADDRR, DI
;記下絕對值最大的數(shù)的地址
ADDRESS:ADD DI, 2
LOOP ZHEN
MOV
DATA1, AX
;記下此數(shù)
;^----------------------------^
;|
The END
|
;method 2: return to dos
mov
ax, 4c00h
int
21h
main
endp code ends end main
2、循環(huán)程序設計-2 (1)匯編、連接后的截圖
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:masm xun 得到 xunhuan.obj,xunhuan.crf,xunhuan.lst 文件,通過 link xunhaun 得到xunhaun.map 文件,顯示編譯成功。
(2).lst 文件的截圖
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:通過 masm 編譯 jishu,獲得 jishu.lst 文件,要 notepad++打開并進行截圖。
(3)反匯編的截圖
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:在 debug 環(huán)境下執(zhí)行 u 指令顯示出反匯編代碼。
(4)在進行計算前,顯示數(shù)組 A 中 15 個整數(shù)的內(nèi)存值的截圖(只能顯示這 15個整數(shù)的內(nèi)存值,多顯示、少顯示均扣分)
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:執(zhí)行 d 指令顯示出內(nèi)存值,由于不能顯示其他數(shù)內(nèi)存值,所以一行一行進行截圖,可以看到,此時內(nèi)存值與程序初始定義相同。
(5)在進行計算前,顯示數(shù)組 B 中 20 個整數(shù)的內(nèi)存值的截圖(只能顯示這 20個整數(shù)的內(nèi)存值,多顯示、少顯示均扣分)
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:執(zhí)行 d 指令顯示出內(nèi)存值,由于不能顯示其他整數(shù)內(nèi)存值,所以一行一行進行截圖,可以看到,此時數(shù)組 B 中的內(nèi)存值與程序初始定義相同。
(6)在進行計算前,顯示數(shù)組 C 中 15 個整數(shù)的內(nèi)存值的截圖(只能顯示這 15個整數(shù)的內(nèi)存值,多顯示、少顯示均扣分)
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:執(zhí)行 d 指令顯示出內(nèi)存值,由于不能顯示其他整數(shù)內(nèi)存值,所以一行一行進行截圖,可以看出,此時內(nèi)存值與程序初始定義相同。
(7)執(zhí)行完計算后,立即顯示各個寄存器的值
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:先用 g 指令跳到返回 dos 調(diào)用指令,此時已經(jīng)執(zhí)行完計算,再執(zhí)行 r 指令,顯示的就是執(zhí)行完運算的各個寄存器的值。
(8)執(zhí)行完計算后,顯示數(shù)組 A 中 15 個整數(shù)的內(nèi)存值的截圖(只能顯示這 15個整數(shù)的內(nèi)存值,多顯示、少顯示均扣分)
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:執(zhí)行 d 指令顯示出內(nèi)存值,由于要求是不能顯示其他字的值,所以只能一行一行截圖,可以看到此時內(nèi)存值與期望結果相同。
(9)執(zhí)行完計算后,顯示數(shù)組 B 中 20 個整數(shù)的內(nèi)存值的截圖(只能顯示這 20個整數(shù)的內(nèi)存值,多顯示、少顯示均扣分)
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:執(zhí)行 d 指令顯示出內(nèi)存值,由于要求是不能顯示其他字的值,所以只能一行一行截圖,可以看到此時內(nèi)存值與期望結果相同。
(10)執(zhí)行完計算后,顯示數(shù)組 C 中 15 個整數(shù)的內(nèi)存值的截圖(只能顯示這 15個整數(shù)的內(nèi)存值,多顯示、少顯示均扣分)
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:執(zhí)行 d 指令顯示出內(nèi)存值,由于要求是不能顯示其他字的值,所以只能一行一行截圖,可以看到此時內(nèi)存值與期望結果相同。
(11)源代碼
TODO:你的源代碼(必選)
;empty asm file
title I love asm
data segment
A
dw
0027h,0018h,0021h,0028h,0024h,0020h,0022h,0014h,0011h,0010h,0012h,0017h,0084h,0081h,0080H
B
dw
0018h,0021h,0028h,0024h,0020h,0022h,0044H,0041h,0011h,0010h,0012h,0017h,0084h,0081h,0080h,0040h,0042h,0047h,0002h,0007h
C1
DWDUP(?)data ends
code segment
assume cs:code, ds:data
main
proc
;assign the data segment base address to DS
mov
ax, data
mov
ds, ax
;TODO...;| add your code between arrows |
;v----------------------------v
mov si,0
MOV DI,0
mov bx,A
jiao:MOV CX,B[SI]
;想法是 di 指 A 中的元素,di 遞增,拿 A 中的一個元素每次與 B 中的所有元素作比較
CMP A[DI],CX
;直到遇到相同為止,如果沒有遇到相同,有設置對 si 值比較指令,b 中所有元素相同時
JZ JI
;會跳轉到 JI
INC SI
INC SI
CMP SI,42
JZ JI
JMP jiao
JI:mov ax,B[SI]
mov C1[DI],AX
MOV SI,0
INC DI
INC DI
CMP DI,32
JZ EXIT
JMP jiao
;^----------------------------^
;|
The END
|
;method 2: return to dos
EXIT: mov
ax, 4c00h
int
21h
main
endp code ends end main
3、分支程序設計 (1)匯編、連接后的截圖
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:masm xun 得到 jishu.obj,jishu.crf,jishu.lst 文件,通過 link xun 得到 jishu.map 文件,顯示編譯成功。
(2).lst 文件的截圖
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:通過 masm 形成 jishu.lst 文件,通過 notepad++打開,并進行截圖。
(3)反匯編的截圖
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:在 debug 環(huán)境下執(zhí)行 u 指令,顯示出反匯編代碼。
(4)在完成 DS 賦值后,立即顯示各個寄存器的值
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:第一步 t 指令執(zhí)行底下為 MOV DS,AX,說明接下來執(zhí)行的指令是 MOV DS,AX,所以再執(zhí)行一次 t 指令,然后用 r 指令顯示寄存器當前的值。
(5)在進行計算前,顯示在數(shù)據(jù)段中定義的學號字符串的內(nèi)存值的截圖(只能顯示完整的學號字符串,多顯示、少顯示均扣分)
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:執(zhí)行 d 指令顯示出內(nèi)存值,由于不能顯示其他內(nèi)存值,所以一行一行進行截圖,可以看出,此時內(nèi)存值與程序初始定義相同。
(6)在進行計算前,顯示在數(shù)據(jù)段中定義的 COUNT 數(shù)組的內(nèi)存值的截圖(只能顯示完整的 COUNT 數(shù)組內(nèi)容,多顯示、少顯示均扣分)
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:執(zhí)行 d 指令顯示出內(nèi)存值,由于不能顯示其他內(nèi)存值,所以一行一行進行截圖,可以看出,此時內(nèi)存值與程序初始定義相同。
(7)執(zhí)行完計算后,立即顯示各個寄存器的值
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:通過執(zhí)行 g 指令跳到調(diào)用 dos 系統(tǒng)的指令,此時已經(jīng)執(zhí)行完運算,再執(zhí)行 r 指令,顯示出的就是執(zhí)行完計算后各個寄存器的值。
(8)執(zhí)行完計算后,顯示在數(shù)據(jù)段中定義的學號字符串的內(nèi)存值的截圖(只能顯示完整的學號字符串,多顯示、少顯示均扣分)
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:執(zhí)行 d 指令顯示出內(nèi)存值,由于不能顯示其他內(nèi)存值,所以一行一行進行截圖,可以看出,此時內(nèi)存值與程序期望相同。
(9)執(zhí)行完計算后,顯示在數(shù)據(jù)段中定義的 COUNT 數(shù)組的內(nèi)存值的截圖(只能顯示完整的 COUNT 數(shù)組內(nèi)容,多顯示、少顯示均扣分)
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
說明:說明:執(zhí)行 d 指令顯示出內(nèi)存值,由于不能顯示其他內(nèi)存值,所以一行一行進行截圖。學號為 2184411027,0-9 個數(shù)分別為 1,3,2,0,2,0,0,1,1,0,結果正確。
(10)程序在 DOSBox 下直接運行的截圖
TODO:你的截圖(必選)
TODO:你的文字解釋說明(可選)
(11)源代碼
TODO:你的源代碼(必選)
;empty asm file
title I love asm
data segment
A
dw
0027h,0018h,0021h,0028h,0024h,0020h,0022h,0014h,0011h,0010h,0012h,0017h,0084h,0081h,0080H
B
dw
0018h,0021h,0028h,0024h,0020h,0022h,0044H,0041h,0011h,0010h,0012h,0017h,0084h,0081h,0080h,0040h,0042h,0047h,0002h,0007h
C1
DWDUP(?)data ends
code segment
assume cs:code, ds:data
main
proc
;assign the data segment base address to DS
mov
ax, data
mov
ds, ax
;TODO...;| add your code between arrows |
;v----------------------------v
mov si,0
MOV DI,0
mov bx,A
jiao:MOV CX,B[SI]
;想法是 di 指 A 中的元素,di 遞增,拿 A 中的一個元素每次與B 中的所有元素作比較
CMP A[DI],CX
;直到遇到相同為止,如果沒有遇到相同,有設置對 si 值比較指令,b 中所有元素相同時
JZ JI
;會跳轉到 JI
INC SI
INC SI
CMP SI,42
JZ JI
JMP jiao
JI:mov ax,B[SI]
mov C1[DI],AX
MOV SI,0
INC DI
INC DI
CMP DI,32
JZ EXIT
JMP jiao
;^----------------------------^
;|
The END
|
;method 2: return to dos
EXIT: mov
ax, 4c00h
int
21h
main
endp code ends end main
第五篇:西安交通大學第二次匯編上機實驗報告
80x86 匯編語言程序設計課內(nèi)實驗報告 班級
實驗時間 5.31 姓名
學號
實驗內(nèi)容概述 主要對第五章所學的循環(huán)了分支結構進行了實踐。
第一題循環(huán)結構比大小,把最大值的最大值的相對位置存儲在數(shù)組之后的兩位 第二題循環(huán)結構找兩數(shù)組之間的相同數(shù)字 第三題分支結構對數(shù)組里出現(xiàn)的元素進行計數(shù) 實驗步驟
一(1)對數(shù)據(jù)求源碼(負數(shù)取反后加一)(2)取每個數(shù)的絕對值(3)從前向后兩兩比較,如果當前數(shù)字比 max 的記錄值大,那么更新當前數(shù)字的 max,并存儲當前位置 pos 二(1)根據(jù)數(shù)組 a 的長度設置外循環(huán)次數(shù)(2)根據(jù)數(shù)組 b 的長度設置外循環(huán)次數(shù)(3)外循環(huán)遍歷 a 的每一個元素,將 a 中每一個元素與 b 中元素比較,如果相同,則終止當前內(nèi)循環(huán),將該值存儲在 c 數(shù)組中 三(1)定義一個分支結構,先判斷當前值,如果相等,則跳轉至對應子程序:使存儲該數(shù)字出現(xiàn)次數(shù)的位置上加一(2)程序運行結束時,在 dos 窗口輸出每個元素出現(xiàn)的次數(shù),實驗中遇到的問題及其解決方法 1、mov 指令用錯 當時報錯后,查找了 mov 指令的課本內(nèi)容,想起來存儲單元之間不能直接賦值,已解決 2、邏輯正確,數(shù)據(jù)錯誤 當時確認邏輯無誤之后,我的內(nèi)心非常糾結,甚至出現(xiàn)了想要重裝軟件的想法,后來利用 u 和 t 指令,一步步找錯,發(fā)現(xiàn)是比例因子出現(xiàn)錯誤,將 inc cx改為 add cx,2 后解決 實驗結果
結果均正確
2020
年月
日
建議 無 備注 無