2020年匯編實驗報告_第1頁
2020年匯編實驗報告_第2頁
2020年匯編實驗報告_第3頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗三 算術運算與代碼轉換程序設計一、實驗目的1)掌握算術運算程序的設計方法。2)掌握代碼轉換程序的設計方法。3)進一步掌握各種程序結構。4)熟練掌握和使用用 DEBUG 調試程序。二、實驗內容1)編制兩個多字節(jié)整數加法和減法程序,并將結果按十六進制形式顯示在 屏幕上。2)編制程序實現二進制定點數與十進制數的 ASCII 碼串之間轉換,并將結 果顯示在屏幕上。3)編寫程序計算從鍵盤輸入兩個不超過四位的十進制數的和、差、積、商, 并以十進制形式輸出。4)寫程序把從鍵盤輸入的四位十六進制數轉換為壓縮的BCD 碼,并顯示輸出。5)編寫一通用過程用來將十進制數 (從鍵盤輸入)轉換為 P(從鍵盤輸入)進

2、制 數。三、實驗設備PC機一臺四、實驗步驟1)按程序流程圖編制實驗程序。2)輸入源程序。3)匯編、連接程序,執(zhí)行程序,檢查結果。4) 程序的執(zhí)行可用 DEBUG 的 G 命令,也可用 T 命令單步跟蹤執(zhí)行。5) 用 D 命令檢查執(zhí)行結果。六、源程序實驗一DATA SEGMENTNUM1 DB 22H,33H,44H,55H,66H,77HNUM1L DB 6HNUM2 DB 22H,22H,22H,22HNUM2L DB 4HOUTCOME1 DB 10H DUP(0)OUTCOME2 DB 10H DUP(0)N DB 0HDATA ENDSSTACK1 SEGMENT PARA STACK

3、DW 20H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:STACK1START:MOV AX,DATAMOV DS,AXMOV CH,0MOV SI,OFFSET NUM1MOV DI,OFFSET NUM2MOV AH,NUM1LMOV AL,NUM2LCMP AH,ALJAE CHAXCHG SI,DIXCHG AH,ALCHA:SUB AH,ALMOV CL,ALCLCMOV BX,OFFSET OUTCOME1LOP1:MOV AL,DIPUSH CXMOV CL,SIADC CL,ALMOV BX,CLINC BX

4、INC SIINC DIPOP CXLOOP LOP1MOV CL,AHJCXZ LOP3LOP2:PUSH CXMOV CL, BYTE PTR SIADC CL,0MOV BX,CLPOP CXINC BXINC SILOOP LOP2LOP3:MOV CH,0MOV SI,OFFSET NUM1MOV DI,OFFSET NUM2MOV AH,NUM1LMOV AL,NUM2LCMP AH,ALJAE CHA1XCHG SI,DIXCHG AH,ALCHA1:SUB AH,ALMOV CL,ALCLCMOV BX,OFFSET OUTCOME2LOP11:MOV AL,DIPUSH CX

5、MOV CL,SISBB CL,ALMOV BX,CLINC BXINC SIINC DIPOP CXLOOP LOP11MOV CL,AHJCXZ LOP7LOP21:PUSH CXMOV CL, BYTE PTR SISBB CL,0MOV BX,CLPOP CXINC BXINC SILOOP LOP21LOP7:MOV DI,OFFSET OUTCOME1ADD DI,10HMOV CX,11HLOP4: MOV DL,DIDEC DICMP N,0HJNE LOP5CMP DL,0HJE LOP9LOP5:PUSH DXPUSH CXMOV CL,4HSHR DL,CLPOP CXC

6、MP DL,9HJBE LOP6ADD DL,7HLOP6:ADD DL,30HMOV AH,2INT 21HMOV N,1HPOP DXAND DX,0FHCMP DL,9HJBE LOP8ADD DL,7HLOP8:ADD DL,30HMOV AH,2INT 21HMOV DL,'H'MOV AH,2INT 21HLOP9:LOOP LOP4MOV N,0MOV DI,OFFSET OUTCOME2ADD DI,10HMOV CX,11HLOP14: MOV DL,DIDEC DICMP N,0HJNE LOP15CMP DL,0HJE LOP19LOP15:PUSH DX

7、PUSH CXMOV CL,4HSHR DL,CLPOP CXCMP DL,9HJBE LOP16ADD DL,7HLOP16:ADD DL,30HMOV AH,2INT 21HMOV N,1HPOP DXAND DX,0FHCMP DL,9HJBE LOP18ADD DL,7HLOP18:ADD DL,30HMOV AH,2INT 21HMOV DL,'H'MOV AH,2INT 21HLOP19:LOOP LOP14MOV AH,4CHINT 21HCODE ENDSEND START實驗 2DATA SEGMENTTISHI1 DB 'Please enter t

8、he first number:','$'TISHI2 DB 'Please enter the second number:','$' JIA DB '+','$'JIAN DB '-','$'CHENG DB '*','$'CHU DB '/','$'DENG DB '=','$'YU DB '','$'A DB 10B DW 10C DW 10

9、000F DW 0HNUM1 DW 0HNUM2 DW 0HN DB 0HN1 DB 4HDATA ENDSSTACK1 SEGMENT STACKDW 30H DUP(0)STACK1 ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET TISHI1MOV AH,09HINT 21HLOOP2:MOV AX,NUM1MUL BMOV BX,AXMOV AH,1INT 21HCMP AL,0DHJE LOP1MOV NUM1,BXMOV AH,0SUB AL,30HADD NUM1,AX

10、輸出換行和回車JMP LOOP2LOP1:MOV DL,0AHMOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HMOV DX,OFFSET TISHI2MOV AH,09HINT 21HLOOP1:MOV AX,NUM2MUL BMOV BX,AXMOV AH,1INT 21HCMP AL,0DHJE LOP3MOV NUM2,BXMOV AH,0 SUB AL,30H ADD NUM2,AX JMP LOOP1LOP3:MOV DL,0AH 輸出換行和回車 MOV AH,2INT 21H MOV DL,0DH MOV AH,2INT 21H MOV N,0MOV

11、 DX,NUM1 MOV F,DXLOP6:MOV DX,0H MOV AX,F DIV B PUSH DX INC N CMP AX,0H JE LOP7 MOV F,AX JMP LOP6 LOP7:MOV CL,N MOV CH,0LOP16:POP DX ADD DX,30H MOV AH,2 INT 21H LOOP LOP16MOV DX,NUM2 MOV F,DX MOV N,0MOV DX,OFFSET JIA MOV AH,09H INT 21H LOOOP6:MOV DX,0HMOV AX,F DIV B PUSH DX INC NCMP AX,0H JE LOOOP7 M

12、OV F,AX JMP LOOOP6 LOOOP7:MOV CL,NMOV CH,0 LOOOP16:POP DXADD DX,30H MOV AH,2 INT 21HLOOP LOOOP16 MOV DX,OFFSET DENG MOV AH,09H INT 21HMOV N,0 LOOP3:MOV AX,NUM1ADD AX,NUM2 MOV F,AXLOOP4:MOV DX,0H MOV AX,F DIV B PUSH DXINC N CMP AX,0HJE LOOP5 MOV F,AXJMP LOOP4 LOOP5:MOV CL,NMOV CH,0 LOOP0:POP DXADD DX

13、,30H MOV AH,2 INT 21HLOOP LOOP0MOV DL,0AH 輸出換行和回車 MOV AH,2INT 21HMOV DL,0DHMOV AH,2 INT 21HMOV N,0MOV DX,NUM1MOV F,DX LOP61:MOV DX,0HMOV AX,F DIV B PUSH DX INC NCMP AX,0HJE LOP71MOV F,AXJMP LOP61LOP71:MOV CL,NMOV CH,0LOP161:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOP161MOV DX,NUM2MOV F,DXMOV N,0MOV DX,O

14、FFSET JIANMOV AH,09H INT 21H LOOOP61:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOOP71MOV F,AXJMP LOOOP61 LOOOP71:MOV CL,NMOV CH,0LOOOP161:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOOP161MOV DX,OFFSET DENGMOV AH,09HINT 21HMOV N,0MOV N,0MOV AX,NUM1SUB AX,NUM2MOV F,AXAND AX,10000000BCMP AX,10000000BJN

15、E LOOP6NEG FLOOP6:MOV DX,0MOV AX,F DIV B PUSH DX INC NCMP AX,0HJE LOOP7MOV F,AX JMP LOOP6LOOP7:MOV CL,NMOV CH,0 LOOP16:POP DXADD DX,30H MOV AH,2 INT 21HLOOP LOOP16MOV DL,0AH 輸出換行和回車MOV AH,2 INT 21HMOV DL,0DHMOV AH,2 INT 21HMOV N,0MOV DX,NUM1MOV F,DX LOP62:MOV DX,0HMOV AX,F DIV B PUSH DX INC NCMP AX,

16、0HJE LOP72MOV F,AX JMP LOP62LOP72:MOV CL,NMOV CH,0 LOP162:POP DXADD DX,30H MOV AH,2 INT 21HLOOP LOP162MOV DX,NUM2MOV F,DXMOV N,0MOV DX,OFFSET CHENGMOV AH,09HINT 21HLOOOP62:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOOP72MOV F,AXJMP LOOOP62 LOOOP72:MOV CL,NMOV CH,0LOOOP162:POP DXADD DX,30HMOV AH

17、,2INT 21HLOOP LOOOP162MOV DX,OFFSET DENGMOV AH,09HINT 21HMOV N,0MOV AX,NUM1MUL NUM2DIV CPUSH DXMOV F,AXMOV N,0LOOP8:MOV DX,0MOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOP9MOV F,AXJMP LOOP8LOOP9:MOV CL,NMOV CH,0LOOP17:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP17MOV N,0 POP FLOOP10:MOV DX,0H MOV AX,F DIV B P

18、USH DX INC NCMP AX,0H JE LOOP11 MOV F,AX JMP LOOP10 LOOP11:MOV AL,NCMP AL,4HJE LOOP20MOV AL,4H SUB AL,N MOV CL,ALMOV CH,0LOOP19:MOV DX,'0' MOV AH,2 INT 21H LOOP LOOP19LOOP20:MOV CL,N MOV CH,0LOOP18:POP DX ADD DX,30H MOV AH,2 INT 21H LOOP LOOP18MOV DL,0AH 輸出換行和回車 MOV AH,2INT 21H MOV DL,0DH MO

19、V AH,2INT 21H MOV N,0MOV DX,NUM1 MOV F,DXLOP64:MOV DX,0H MOV AX,F DIV B PUSH DX INC N CMP AX,0HJE LOP74MOV F,AXJMP LOP64LOP74:MOV CL,NMOV CH,0LOP164:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOP164MOV DX,NUM2MOV F,DXMOV N,0MOV DX,OFFSET chuMOV AH,09HINT 21HLOOOP64:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,

20、0HJE LOOOP74MOV F,AXJMP LOOOP64 LOOOP74:MOV CL,NMOV CH,0LOOOP164:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOOP164MOV DX,OFFSET DENGMOV AH,09HINT 21HMOV N,0MOV AX,NUM1MOV DX,0DIV NUM2PUSH DXMOV F,AXMOV N,0LOOP15:MOV DX,0MOV AX,FDIV B PUSH DX INC N CMP AX,0H JE LOOP12 MOV F,AX JMP LOOP15LOOP12:MOV CL,N MO

21、V CH,0LOOP21:POP DX ADD DX,30H MOV AH,2 INT 21H LOOP LOOP21MOV DX,OFFSET YU MOV AH,09H INT 21H POP F MOV N,0LOOP13:MOV DX,0 MOV AX,F DIV B PUSH DX INC NCMP AX,0H JE LOOP14 MOV F,AX JMP LOOP13 LOOP14:MOV CL,NMOV CH,0HLOOP22:POP DX ADD DX,30H MOV AH,2 INT 21H LOOP LOOP22 MOV AH,4CH INT 21H CODES ENDS

22、END START實驗五 輸入輸出程序設計一、實驗目的1)掌握輸入輸出程序的編寫方法。2)熟悉系統(tǒng)功能調用的方法。3)熟悉動畫程序的編寫方法。二、實驗內容1)在 CRT 上每隔一秒連續(xù)顯示字符 09。編程提示為了使輸出的字符之間有空格,在每一個循環(huán)中輸出一個0 9 的字符和一個空格。為了輸出 09,置寄存器 BL 初值為 0,每循環(huán)一次使其增量。為了保 證輸出是十進制,增量后用 DAA調整指令。由于輸出為一位十進制數, 用 AND 0FH 指令屏蔽高 4 位。2)用系統(tǒng)功能調用將 HELLO '由鍵盤輸入,再從屏幕輸出*HELLO* '。3)編制在屏幕上畫線的子程序,調用該子程

23、序畫一矩形。4)編制字母下落一行的子程序,調用該子程序使字母從屏幕頂部下落到底部。5)創(chuàng)建一磁盤文件,保存從鍵盤輸入的字符串。6)編寫程序用設置系統(tǒng)時間,首先從鍵盤以十進制數形式輸入時間,然后修改系統(tǒng)時 間,并重新以十進制形式顯示時間。7)編寫程序將屏幕分割成格狀,每一格涂上不同顏色,格數從鍵盤輸入。8)編寫程序在屏幕上顯示菜單,輸入相應菜單的序號后,選種該菜單項。三、實驗設備PC 機一臺 四、實驗步驟1) 按程序流程圖編制實驗程序2) 輸入源程序。3) 匯編、連接程序,執(zhí)行程序,檢查結果。4) 程序的執(zhí)行可用 DEBUG 的 G命令,也可用 T 命令單步跟蹤執(zhí)行。五、源程序實驗五EXAM5

24、1STACKSEGMENTSTACKDB 1024DUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,START:MOVBL,0LP:MOVDL,20HSS: STACKMOVAH ,2INT21HMOVAL,BLADDAL,0DAAANDAL,0FHMOVBL,ALPUSHBXORAL,30HMOVDL,ALMOVAH ,2INT21HMOVBX ,3E8HMOVCX,176HPUSHFPOPFLOOPLP1DECBXJNZLP2POPBXINCBLJMPLPENDSCODELP2:LP1:;延時 1msEND執(zhí)行程序 EXAM5START 1· EXE

25、,屏幕上依次循環(huán)顯示一個數字一個空格:01 2 3實驗五 EXAM5-2STACKSEGMENTSTACKDB 1024DUP(0)STACKENDSDATASEGMENTBUFFDB 6, 7DUP (?),DATAENDSINPUTMACROBUFEMOVDX , OFFSETMOVAH , 0AHINT 21HENDMBUFEPUTCHAR MACROCHAR$'MOVDL,CHARMOVINTAH,21H02HENDMCODE SEGMENTASSUMECS:CODE,DS:DATA , SS: STACKSTART : MOVAX , DATAMOVDS , AXINPUTB

26、UFF;讀取字符串 ? BUFFPUTCHAR0DHPUTCHAR0AH;光標另起一行MOVCX , 0003HNEXT : PUTCHAR2AHLOOPNEXTMOVCL , BUFF+1SUBCH , CHMOVBX , OFFSETBUFF+2BEGIN : MOVAL , BXPUTCHARALINCBXLOOPBEGINMOVCX , 0003HNEXT1 : PUTCHAR 2AHLOOP NEXT1MOVAH , 4CHINT21HCODE ENDSENDSTART執(zhí)行程序 EXAM5 2·EXE,輸入 HELLO 屏幕上顯示結果: * HELLO *實驗五 EXAM5

27、-5NAMEEXAM6SSTACKSEGMENT STACK 'stack 'DB 1024 DUP(?)SSTACKENDSDATASEGMENTASKNAMEDB 0DH, 0AH ,' Enter the 'DB 'dest file nam:e $'ASKCONTDB 0DH,0AH ,' Enter the stringDB 'as file conte:nt ' 0dh, 0ah,' $FILEBUFDB 62,63DUP(?)HAND D DW?MSGMERDB0DH,0AH,0AHDB'Directory full',0DH,0AH, &#

溫馨提示

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

評論

0/150

提交評論