|
匯編作業:
編程要求及提示:
[1] 參加排序的數據及個數由學生自己定義。
[2] 要將排序前的數組和排序后的數組在屏幕上顯示出來。
[3] 實驗步驟
a. 用全屏幕編輯軟件建立源程序。
b.用masm.exe匯編程序對源程序進行匯編,形成目標程序。
c. 用link.exe連接程序對目標程序進行連接形成可執行文件。
d. 用DEBUG對連接通過的可執行程序進行調試。
- DATA SEGMENT
- NUM DW 0008H
- VAR1 DW 100AH,0A010H,010CH,02ACH,04BCH,0934H,0003H,3465H
- BUF DB 100 DUP(?)
- STRING1 DB 'Original array:',0DH,0AH,'
- STRING2 DB 'The sorted array:',0DH,0AH,'
- DATA ENDS
- STACK SEGMENT STACK 'STACK'
- DW 100 DUP(?)
- TOP LABEL WORD
- STACK ENDS
- CODE SEGMENT
- ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
- START:
- MOV AX,DATA
- MOV DS,AX
- MOV ES,AX
- MOV AX,STACK
- MOV SS,AX
- LEA DX,STRING1 ;顯示人機交互提示
- MOV AH,09H
- INT 21H
- MOV CX,NUM
- LEA SI,VAR1
- L1:
- MOV AX,[SI]
- INC SI
- INC SI
- CALL DISPAX ;顯示未排序之前的數組
- CALL DISPCR ;回車換行
- LOOP L1
- CALL DISPCR
- MOV CX,NUM
- DEC CX
- LEA SI,VAR1
- ADD SI,CX
- ADD SI,CX ;SI指向最后一個數據
- LP1:
- PUSH CX
- PUSH SI
- LP2:
- MOV AX,[SI] ;排序
- CMP AX,[SI-2]
- JBE NOXCHG
- XCHG AX,[SI-2] ;交換操作
- MOV [SI],AX
- NOXCHG:
- DEC SI ;不需交換時繼續比較
- DEC SI
- LOOP LP2
- POP SI
- POP CX
- LOOP LP1
- LEA DX,STRING2 ;顯示輸出提示
- MOV AH,09H
- INT 21H
- MOV CX,NUM ;顯示排好序后數據
- LEA SI,VAR1
- L2:
- MOV AX,[SI]
- INC SI
- INC SI
- CALL DISPAX
- CALL DISPCR
- LOOP L2
- MOV AH,4CH
- INT 21H
- DISPAL PROC NEAR
- ;功能:顯示AL內容子程序
- ;入口參數:AL
- ;出口參數:無
- PUSH AX
- PUSH CX
- PUSH DX
- PUSH AX
- MOV CL,4 ;處理高位十六進制數
- SHR AL,CL
- CALL TRANS16TOACSII
- MOV AH,02H
- MOV DL,AL
- INT 21H ;顯示一位字符
- POP AX
- AND AX,0FH ;處理低位十六進制數
- CALL TRANS16TOACSII
- MOV AH,02H
- MOV DL,AL
- INT 21H
- POP DX
- POP CX
- POP AX
- RET
- DISPAL ENDP
- TRANS16TOACSII PROC NEAR
- ;功能:十六進制數轉換為ASCII碼
- ;入口參數:AL
- ;出口參數:無
- CMP AL,10
- JNGE TRAN1
- ADD AL,7
- TRAN1:
- ADD AL,30H
- RET
- TRANS16TOACSII ENDP
- DISPAX PROC
- ;功能:AX內容子程序
- ;入口參數:AX
- ;出口參數:無
- XCHG AL,AH
- CALL DISPAL
- XCHG AH,AL
- CALL DISPAL
- RET
- DISPAX ENDP
- DISPCR PROC NEAR
- ;功能:回車換行子程序
- ;入口參數:AX
- ;出口參數:無
- PUSH AX
- PUSH DX
- MOV AH,2
- MOV DL,0AH
- INT 21H
- MOV AH,2
- MOV DL,0DH
- INT 21H
- POP DX
- POP AX
- RET
- DISPCR ENDP
- CODE ENDS
- END START
復制代碼
|
-
匯編2.png
(7.46 KB, 下載次數: 128)
下載附件
2017-12-19 08:48 上傳
-
-
sort.doc
2017-12-19 08:50 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
33.5 KB, 下載次數: 6, 下載積分: 黑幣 -5
-
-
sort.zip
2017-12-19 08:50 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
1016 Bytes, 下載次數: 4, 下載積分: 黑幣 -5
|