東南大學信息學院微機試驗報告三_第1頁
東南大學信息學院微機試驗報告三_第2頁
東南大學信息學院微機試驗報告三_第3頁
東南大學信息學院微機試驗報告三_第4頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、CX寄存SUM為實驗三 簡單編程練習姓名: 學號:1. 在一個數(shù)據(jù)塊中找出最大數(shù)。假設有數(shù)據(jù) 22、46、32、72、84、 16,且為不帶符號的正整數(shù),數(shù)據(jù)塊的長度放在 器中,找出的最大數(shù)存放在以MAXF為符號的單元中。程序:DATA SEGMENTNUM DB 22, 46, 32, 72, 84, 16MAXN DB ?DATA ENDSMAIN SEGMENTASSUME CS: MAIN, DS: DATASTART:MOV AX, DATAMOV DS, AX; 將DATA地址傳送到 DS中MOV CX, 5; 將長度5傳送到CX中MOV AL, 00;將 AL 置 0LEA BX

2、, NUM; 將NUM的偏移地址傳送到 BX中AGAIN:MOV AL, BXCMP AL, BX+1JNBE NEXTMOV AL, SI+1MOV MAXN, AL;將NUM中的數(shù)進行比較,并將較大的數(shù)傳送到MAXN中NEXT:INC BXMOV MAXN, ALLOOP AGAIN; 重復進行 AGAIN選出最大數(shù)MAIN ENDSEND START結(jié)果: DS:0006=54H2. 求無符號字節(jié)數(shù)據(jù)之和,和數(shù)為8 位二進制數(shù)。假設有數(shù)據(jù)38、55、26、12、23,數(shù)據(jù)塊的長度存放在 CX寄存器中,和數(shù)存放在以 符號的單元中。程序:DATA SEGMENTNUM DB 38, 55,

3、26, 12, 23SUM DB ?DATA ENDSMAIN SEGMENTASSUME CS: MAIN, DS: DATA START: MOV AX, DATAMOV DS, AX;將DATA地址傳送到DS中SUB AX, AX;將 AX置零MOV CX, 4;將數(shù)據(jù)塊長度傳送到 CX中MOV AL, BXLEA BX, NUM; 將NUM勺偏移地址傳送到 BX中 AGAIN: MOV AH, BX+1ADC AL, AHINC BXLOOP AGAINMOV SUM, AL;將數(shù)據(jù)塊中的數(shù)據(jù)進行相加,并將得到結(jié)果傳送到SUM中MAIN ENDSEND START結(jié)果: DS:0005

4、=9AH3. 求無符號字節(jié)數(shù)據(jù)之和,和數(shù)為16 位二進制數(shù)。假設有數(shù)據(jù)58、25、45、73、64、43,數(shù)據(jù)塊的長度存放在 CX寄存器中,和數(shù)存放在以SUM 為符號的單元中。程序:DATA SEGMENTNUM DB 58, 25, 45, 73, 64, 43SUM DW ?DATA ENDSMAIN SEGMENTASSUME CS: MAIN, DS: DATASTART: MOV AX, DATAMOV DS, AX; 將DATA地址傳送到DS中SUB AX, AX; 將 AX置零MOV CX, 4;將數(shù)據(jù)塊長度傳送到 CX中MOV AL, BXLEA BX, NUM; 將NUM的偏

5、移地址傳送到 BX中AGAIN: MOV AH, BX+1ADC AL, AHINC BXLOOP AGAINMOV SUM, AL;將數(shù)據(jù)塊中的數(shù)據(jù)進行相加,并將得到結(jié)果傳送到SUM中MAIN ENDSEND START結(jié)果: DS:0006=0134H4. 求兩個十進制數(shù)相乘的積(56093*5= ?),被乘數(shù)和乘數(shù)均以非組合BCD碼表示,并存放在內(nèi)存中,乘積存放在以 SUM為符號的單兀中。程序:DATA SEGMENTNUM1 DB 03, 09, 00, 06, 05NUM2 DB 05SUM DB 6 DUP(00)DATA ENDSMAIN SEGMENTASSUME CS: MA

6、IN, DS: DATASTART: MOV AX, DATAMOV DS, AX; 將DATA地址傳送到DS中SUB AX, AX; 將 AX置零LEA SI, NUM2; 將NUM2勺偏移地址傳送到 SI中MOV DL, SI; 將SI傳送到DL中LEA SI, NUM1; 將NUM1的偏移地址傳送到 SI中LEA DI, SUM; 將SUM的偏移地址傳送到 DI中MOV CX, 5;將數(shù)據(jù)塊長度傳送到 CX中AGAIN: MOV AL, SIMUL DLINC SIAAMADD AL, DIAAAMOV DI, ALINC DIMOV DI, AHLOOP AGAINMOV SUM, A

7、L;將數(shù)據(jù)塊中的數(shù)據(jù)進行相乘,并將得到結(jié)果傳送到SUM中MAIN ENDSEND START結(jié)果: DS:0006-DS:000B 中的內(nèi)容分別為: 05, 06, 04, 00, 08, 02 即 56093*5=2804655. 試分別用數(shù)據(jù)傳送指令和串傳送指令編寫程序,將以STR1為首地址的字節(jié)存儲單元中的數(shù)據(jù) 30H、31H、32H、33H、34H、35H、36H、37H、38H、39H、40H、41H、42H、43H、44H 45H, 傳送到以STR2為首地址的字節(jié)存儲單元中。程序:數(shù)據(jù)傳送:DATA SEGMENTSTR1DB 30H, 31H, 32H, 33H, 34HDB 3

8、5H, 36H, 37H, 38H, 39HDB 40H, 41H, 42H, 43H, 44H, 45HCOUNT EQU $-STR1STR2 DB COUNT DUP(0)DATA ENDSCODE SEGMENTASSUME DS: DATA, CS: CODESTART: MOV AX, DATAMOV DS, AX;將DATA地址傳送到DS中LEA SI, STR1;將STR1的偏移地址傳送到 SI中LEA DI, STR2;將STR2的偏移地址傳送到 DI中MOV CX, COU NT將數(shù)據(jù)塊長度傳送到 CX中NEXT:MOV AL, SIMOV DI, ALINC SIINC

9、DILOOP NEXT將STR1中的數(shù)據(jù)傳送到 STR2中CODE ENDSEND START串傳送:DATA SEGMENTSTR1DB 30H, 31H, 32H, 33H, 34HDB 35H, 36H, 37H, 38H, 39HDB 40H, 41H, 42H, 43H, 44H, 45HCOUNT EQU $-STR1STR2 DB COUNT DUP(O)DATA ENDSCODE SEGMENTASSUME DS: DATA, CS: CODE, ES: DATASTART: MOV AX, DATAMOV DS, AX;將DATA地址傳送到DS中MOV ES, AX;將DATA地址傳送到 ES中LEA SI, STR1;將STR1的偏移地址傳送到 SI中LEA DI, STR2;將STR2的偏移地址傳送到 DI中MOV CX, COU NT將數(shù)據(jù)塊長度傳送到 CX中CLDREP MOVSB將 STR1中的數(shù)據(jù)傳送到 STR2中CODE ENDSEND START問題:1. 數(shù)據(jù)傳送指令和串傳送指令兩種傳送各有何特點?答: MOVF能直接由存儲器到存儲器傳送, 必

溫馨提示

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

評論

0/150

提交評論