微型計算機原理實驗_第1頁
微型計算機原理實驗_第2頁
微型計算機原理實驗_第3頁
微型計算機原理實驗_第4頁
微型計算機原理實驗_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、實驗一:輸出字符'A'的源程序如下: PROG SEGMENT ASSUME CS:PROG START: MOV DL,'A' MOV AH , 2 INT 21H MOV AH,4CH INT 21H PROG ENDS END START 實驗二:1 .把BX中的二進制數(shù)轉(zhuǎn)換成十進制數(shù),在屏幕上顯示出來,只考慮無符號數(shù)。程序 如下:CODE SEGMENT ASSUME CS:CODE START: MOV BX,0FFFH MOV CX,10000 CALL DEC_DIV MOV CX, 1000 CALL DEC_DIV MOV CX,100 CAL

2、L DEC_DIV MOV CX,10 CALL DEC_DIV MOV CX,1 CALL DEC_DIV MOV AH,4CH INT 21HDEC_DIV PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADDDL,30HMOV AH,2 INT 21H RETDEC_DIV ENDP CODE ENDSEND START2 .把BX中的帶符號數(shù)轉(zhuǎn)換成十進制數(shù),在屏幕上顯示出來。程序如下: CODE SEGMENT ASSUME CS:CODESTART: MOV BX,8001H MOV AX,8000H AND AX,B

3、X JNZ MINUS JMP DISPMINUS: MOV DL,'-' MOV AH,2 INT 21H NEG BX JMP DISP DISP: MOV CX,10000 CALL DEC_DIV MOV CX, 1000 CALL DEC_DIV MOV CX,100 CALL DEC_DIV MOV CX,10 CALL DEC_DIV MOV CX,1 CALL DEC_DIV MOV AH,4CH INT 21H DEC_DIV PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADD DL,30H

4、MOV AH,2 INT 21H RETDEC_DIV ENDP CODE ENDS END START 3.求一個數(shù)據(jù)塊(由10個單字節(jié)的無符號數(shù)組成)中的最大元素,并將結(jié)果在屏幕 上顯示出來,程序如下: DATA SEGMENT BLOCK DB1,0,5,7,10,30,100,127,90,80RESULT DB?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN PROC FARMOV AX,DATA MOV DS,AX MOV CX,9 LEA SI,BLOCK MOV AL,SI X1: INC SI CMP AL,SI JAE

5、X2 MOV AL,SI X2: LOOP X1MOV RESULT,AL MOV AH ,0 MOV BX,AX CALL XIANSHI MOV AH,4CH INT 21H BEGIN ENDP XIANSHI PROC NEAR MOV AL,80H AND AL,BL JNZ MINUS JMP DISP MINUS: MOV DL,'-'MOV AH,2 INT 21H NEG BL JMP DISP DISP: MOV CX,100 CALL DEC_DIV MOV CX,10 CALL DEC_DIV MOV CX,1 CALL DEC_DIV MOV AH,4

6、CH INT 21H XIANSHI ENDP DEC_DIV PROC NEARMOV AX,BXMOV DL,0 DIV CL MOV BL,AH MOV BH,0MOV DL,ALADD DL,30HMOV AH,2 INT 21H RETDEC_DIV ENDP CODE ENDS END BEGIN4 .求一個數(shù)據(jù)塊(由20個單字節(jié)的帶符號數(shù)組成)中的正數(shù)和(0字)和負數(shù)和(0 字),并在屏幕上用十進制的形式顯示出兩個和。程序如下:DATA SEGMENTBLOCK DW -100,100,200,-200,5,6,7,8,9,10DW 11,12,13,14,15,50,-50,1

7、50,-150,-200POSIT DW ?NEGAT DW ?ST1 DB 'The sum of all the positive numbers:$'ST2 DB 'The sum of the negative numbers:$'DATA ENDSCODE SEGMENT ASSUME CS:CODE ,DS:DATA START PROC MOV AX,DATA MOV DS,AX MOV BX,OFFSET BLOCK MOV SI,0 MOV DI,0 MOV CX,20 X1: MOV AX,BX CMP AX,0 JGE X3 ADD DI,

8、AX JMP X2 X3: ADDSI,AXX2: ADDBX,2LOOP X1 MOV POSIT,SI MOV NEGAT,DI MOV BX,SI MOV DX,OFFSET ST1 MOV AH,9 INT 21H CALL XIANSHI MOV DL,0DH MOV AH,2 INT 21HMOV DL,0AH MOV AH,2 INT 21H MOV BX,NEGAT NEG BX AND BX,7FFFH MOV DX,OFFSET ST2 MOV AH,9 INT 21H MOV DL,'-' MOV AH,2 INT 21H CALL XIANSHI MOV

9、 AH,4CH INT 21H START ENDP XIANSHI PROC NEAR MOV CX,100 CALL DEC_DIV MOV CX,10 CALL DEC_DIV MOV CX,1 CALL DEC_DIV RET XIANSHI ENDP DEC_DIV PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADD DL,30H MOV AH,2 INT 21H RET DEC_DIV ENDP CODE ENDS END START5 .將寄存器BX中的二進制數(shù)轉(zhuǎn)換成十六進制數(shù)并在屏幕上顯示出來 程序如下: CO

10、DE SEGMENT ASSUME CS:CODEBINHEX PROC FAR MOV CH,4 MOV BX,1000ROTATE: MOV CL,4 ROL BX,CL MOV DL,BL AND DL,0FH ADDDL,30HCMP DL,3AH JL OUTPUT ADD DL,7OUTPUT: MOV AH,2INT 21H DEC CH JNE ROTATE MOV DL,'H' MOV AH,2 INT 21H MOV AH,4CH INT 21H BINHEX ENDP CODE ENDSEND BINHEX實驗三:1.從鍵盤上輸入一個十進制數(shù)(065535

11、),轉(zhuǎn)換成二進制數(shù)并放入寄存器 BX中,其程序框圖如下:程序如下: CODE SEGMENT ASSUME CS:CODE START PROC CALL DECBIN CALL XIANSHI MOV AH,4CH INT 21HSTART ENDP DECBIN PROC NEAR MOV CX,10 MOV BX,0 LOP1: MOV AH,1 INT 21H CMP AL,30H JL EXIT CMP AL,39H JG EXIT SUB AL,30H MOV AH,00H XCHG AX,BX MUL CX ADD BX,AX JMP LOP1 EXIT: RET DECBIN

12、ENDP XIANSHI PROC NEAR LP1: MOV CX,10000 CALL DEC_DIV MOV CX,1000 CALL DEC_DIV MOV CX,100 CALL DEC_DIV MOV CX,10 CALL DEC_DIV MOV CX,1 CALL DEC_DIV RET XIANSHI ENDP DEC_DIV PROC NEARMOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADDDL,30HMOV AH,2 INT 21H RET DEC_DIV ENDP CODE ENDS END START 2.從鍵盤上輸入0

13、65535范圍的一個十進制數(shù),在屏幕上顯示出相應(yīng)的十 六進制數(shù)。程序如下: CODE SEGMENT ASSUME CS:CODE START PROC CALL DECBIN MOV CH,4 CALL ROTATE MOV AH,4CH INT 21H START ENDP DECBIN PROC NEAR MOV CX,10 MOV BX,0 LOP1: MOV AH,1 INT 21H CMP AL,30H JL EXIT CMP AL,39H JG EXIT SUB AL,30H MOV AH,00H XCHG AX,BX MUL CX ADD BX,AX JMP LOP1 EXIT

14、: RET DECBIN ENDP ROTATE PROC LOP2: MOV CL,4 ROL BX,CL MOV DL,BLAND DL,0FH ADDDL,30HCMP DL,3AH JL OUTPUT ADD DL,7 OUTPUT: MOV AH,2 INT 21H DEC CH JNE LOP2 MOV DL,'H' MOV AH,2 INT 21H MOV AH,4CH INT 21H ROTATE ENDP CODE ENDS END START 實驗四:1 .在內(nèi)存中存有一字符串,以 0為結(jié)尾,程序開始輸出HELLO然 后等待從鍵盤輸入一字符,再改字符串中尋找

15、該字符,若找到,輸出yes' 若找不到,輸出no',然后再輸入下一字符。程序如下:DATA SEGMENTSTR1 DB'HELLO',0DH,0AH,'$'STR2 DB20H,'YES',0DH,0AH,$STR3 DB20H,'NO',0DH,0AH,'$'STR4 DB '1 2 3 0 4 5 A B a=! ?',00HDATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATASTART PROC FARMOV AX,DATAMOV DS,A

16、XMOV DX,OFFSET STR1MOV AH,9INT 21HLOOP1: MOV AH,1INT 21HMOV BX,OFFSET STR4GON: MOV AH,BXCMP AH,0JZ NOINC BXCMP AH,ALJNZ GONMOV DX,OFFSET STR2GO: MOV AH,9INT 21HJMP LOOP1NO: MOV DX,OFFSET STR3JMP GOSTART ENDPCODE ENDSEND START2 .實驗內(nèi)容1的程序是個無限循環(huán)程序,若按'ESC鍵,讓程序退 出循環(huán),是系統(tǒng)返回 DOS已知ESC鍵的鍵值是1BH按照上面要求對 實驗內(nèi)容1的程序進行修改,然后重新匯編、鏈接和運行。程序如下:DATA SEGMENTSTR1 DB'HELLO',0DH,0AH,$STR2 DB20H,'YES',0DH,0AH,$STR3 DB20H,'NO',0DH,0AH,$STR4 DB '1 2 3 0 4 5 A B a=! ?',00HDATA ENDSCODE SEGMENTASSUME CS:CODE,D

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論