組成實驗報告_第1頁
組成實驗報告_第2頁
組成實驗報告_第3頁
組成實驗報告_第4頁
組成實驗報告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、上海理工大學(xué)光電信息與計算機工程學(xué)院計算機組成實驗報告專業(yè)計算機科學(xué)與技術(shù)姓名陳曉陽學(xué)號1512480225年級2015級指導(dǎo)教師鄔春學(xué)成 績:教師簽字:目錄實驗一 匯編實驗一4實驗二 匯編實驗二7實驗三 匯編實驗三12實驗一 匯編實驗一一、實驗?zāi)康?)掌握匯編的基本語法二、實驗環(huán)境microsoftwindows7masmv2.2三、實驗內(nèi)容編程計算表達(dá)式 x=a x b + c - d/(e+f)其中x、a、b、c、d、e、f均為雙字節(jié)整數(shù)。地址分別為x、a1、b1、c1、d1、e1、f1四、實驗代碼及截圖1)data segment ;input data segment code he

2、re a1 db 2 b1 db 1 c1 db 3 d1 db 4 e1 db 1 f1 db 4 x1 db ?data endsstack segment ;input stack segment code herestack endscode segment assume cs:code,ds:data,ss:stackstart: mov ax,data mov ds,ax ;input code segment code here mov al,a1 mul bl add al,c1 sub al,d1 mov bl,e1 add bl,f1 div bl mov x1,al mo

3、v ah,4ch int 21hcode endsend start1)實驗二 匯編實驗二一、 實驗?zāi)康膶W(xué)習(xí)間接尋址、數(shù)組和轉(zhuǎn)移指令的用法二、實驗環(huán)境microsoftwindows7masmv2.2三、實驗內(nèi)容1)一個由3個元素組成的整數(shù)數(shù)組,已經(jīng)存放在主存的連續(xù)存儲單元中,數(shù)組的起始地址為as。設(shè)as10h,20h,30h。編程實現(xiàn):將數(shù)組as中的元素向右循環(huán)移動一個位置,例如移位后變成30h,10h,20h。編程實現(xiàn):將as中最大元素和最小元素分別存于max和min中。2)將字符串source中的內(nèi)容復(fù)制到target中,并顯示輸出。四、實驗代碼及截圖1)data segment as

4、dw 10h,20h,30h ;input data segment code here max dw 0 min dw 0;數(shù)據(jù)初始data endsstack segment ;input stack segment code herestack endscode segment assume cs:code,ds:data,ss:stackstart:mov ax,data mov ds,ax;將data給ds mov cx,0;cx賦初始值0 mov si,offset as;將data偏移地址存到simov ax,si;data內(nèi)容給ax add si,2;si加2 li:mov b

5、x,si mov si,ax mov ax,bx add si,2 add cx,1 cmp cx,2 jnz li sub si,6 mov si,ax;將30移位到第一位 mov ax,si mov min,ax mov max,ax;初始化min,max add si,2 mov bx,si cmp bx,ax jl l1;bx<ax執(zhí)行l(wèi)1,此時bx=10,ax=30,執(zhí)行l(wèi)1 mov max,bx;如果bx>=ax,把bx值存入max add si,2;si后移一個數(shù)據(jù) mov dx,si cmp bx,dx jg l4 mov max,dx;如果bx>dx則執(zhí)行l(wèi)

6、4,否則將dx存入max l1:add si,2 mov bx,si cmp bx,ax jl l2;bx<ax則執(zhí)行l(wèi)2否則將bx值存入max mov max,bx l4:cmp ax,dx jg l5 l5:mov min,dx ;將dx存入min l2:mov bx,si sub si,2 mov ax,si cmp bx,ax jg l3;bx大于ax則跳轉(zhuǎn)l3,否則將bx存入min mov min,bxl3:mov min,ax;此時ax為10,將其存入minmov ah,4ch int 21hcode endsend start2)data segment source db

7、 'hello world$'data endsdata1 segmenttarget db 30 dup(?)data1 endsstack segment ;input stack segment code herestack endscode segment assume cs:code,ds:data,ss:stackstart:mov ax,datamov ds,ax;data存入dsmov ax,data1mov es,ax;data1存入eslea si,source;source地址存到silea di,target;target地址存到dimov cx,2st

8、d;df=1rep movsb;將si中字符串復(fù)制到di中l(wèi)ea dx,targetmov ah,9int 21h;輸出復(fù)制得到的字符串mov ah,4chint 21hcode endsend start1)2)實驗三 匯編實驗三一、實驗?zāi)康?)學(xué)習(xí)邏輯運算指令和移位指令的用法二、實驗環(huán)境microsoftwindows7masmv2.2三、實驗內(nèi)容1)將一個指定字符串進(jìn)行異或加密,每個單字符的密鑰(0-255)保存在數(shù)組key中。程序運行過程:顯示明文,顯示所產(chǎn)生的密文,顯示解密后的明文。例如key = 125,248,16,8,262)將一個指定字符串進(jìn)行循環(huán)移位加密。每個單字符的密鑰(

9、-77)保存在數(shù)組key中。程序運行過程:顯示明文,顯示所產(chǎn)生的密文,顯示解密后的明文.例如key = -2,2,1,0,-1,其中負(fù)數(shù)表示循環(huán)左移,正數(shù)表示循環(huán)右移,0不變,數(shù)字表示移動的位數(shù)四、實驗代碼及截圖1)data segmentstring db 'hello$'明文key db 125,248,16,8,26;密鑰msg1 db ' ming wen:$'msg2 db ' mi wen:$'data endsstack segment ;input stack segment code herestack endscode seg

10、ment assume cs:code,ds:data,ss:stackstart: mov ax,data mov ds,ax lea dx,msg1 mov ah,09h int 21h lea dx,string mov ah,09h int 21h;輸出加密前明文 mov cx,5 loop1:mov bx,cx mov al,stringbx-1 xor al,keybx-1 mov stringbx-1,al loop loop1;明文加密 lea dx,msg2 mov ah,09h int 21h lea dx,string mov ah,09h int 21h;輸出加密后的密

11、文 mov cx,5 loop2:mov bx,cx mov al,stringbx-1 xor al,keybx-1 mov stringbx-1,al loop loop2;解密密文 lea dx,msg1 mov ah,09h int 21h lea dx,string mov ah,09h int 21h;輸出解密的明文 mov ah,4ch int 21hcode endsend start2)data segmentstring db 'hello$'待加密明文key db -2,2,1,0,-1;密鑰msg1 db ' ming wen:$'msg

12、2 db ' mi wen:$'data endsstack segment ;input stack segment code herestack endscode segment assume cs:code,ds:data,ss:stackstart: mov ax,data mov ds,ax lea dx,msg1 mov ah,09h int 21h lea dx,string mov ah,09h int 21h;輸出加密前的明文 mov cx,5 mov al,0 loop1:mov bx,cx push cx;對cx壓棧 mov cl,keybx-1 cmp

13、cl,al jl t1;若密鑰小于0則跳轉(zhuǎn)到tl rol stringbx-1,cl;密鑰不小于0則左循環(huán)移位 jmp s1;跳至sl t1:neg cl;若密鑰小于0,則取補,變?yōu)檎龜?shù)進(jìn)行操作 ror stringbx-1,cl;右循環(huán)移位 s1:pop cx;彈棧 loop loop1 lea dx,msg2 mov ah,09h int 21h lea dx,string mov ah,09h int 21h;輸出加密后的密文 mov cx,5 mov al,0 loop2:mov bx,cx push cx;壓棧 mov cl,keybx-1 cmp cl,al;比較密鑰與0的大小 jg t2;若密鑰大于0則執(zhí)行t2 neg cl;密鑰不大于0則對cl取補

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論