- 0
- 0
- 约4.12千字
- 约 11页
- 2021-09-17 发布于四川
- 举报
|精.
|品.
|可.
|编.
|辑.
|学.
|习.
|资.
|料.
*
|
*
|
*
|
*
|
|欢.
|迎.
|下.
|载.
试验目的与要求
《汇编语言程序设计》报告某某学号
《汇编语言程序设计》报告
某某学号
时间指导老师
五
评
阅
五、 数据处理与输入输出
试验
全面把握输入和输出的中断功能调用〔键盘和显示器〕
把握子程序的定义和调用
学会编制良好风格的汇编语言程序要求:
在试验四的根底上,在屏幕上开设二个窗口〔如左右或上下〕
定义输入缓冲区〔最多输入 50 个字符〕
在第一个窗口输入〔要求有输入提示〕
后台程序完成试验四的工作
结果显示在其次个窗口〔要求有输出提示〕
全部程序必需以子程序方式表现〔除了初始化和程序结尾〕
必需在程序中做好子程序的功能说明以与参数说明
留意调试结果,并做好记录;
试验源代码
.model small
.386
.model small
.386
DATAS SEGMENT
STRING1 DBPlease input a string:$ STRING2 DBPlease input a character:$ SORT_STR DBSORTED STRING:$
FIRST_STR DBFIRST LOCATION:$ LAST_STR DBLAST LOCATION:$
SUM_STR DBSUM:$
BUFA DB 80, .,80 dup (.)
BUFB DB 80, .,80 dup (.)
CRLF DB
13,10, $
FLAG DB
0
FLOC DB
0
LLOC DB
0
TEN DB
10
SUM DB
0
|精.
LFLAG DB 0
|品.
|可.
|编.
|辑.
|学.
|习.
|资.
|料.
*
|
*
|
*
|
*
|
|欢.
|迎.
|下.
|载.
DATAS ENDS
; 定义宏指令 清屏
CLEAR MACRO A,B,C,D MOV AH,6
MOV AL,0 MOV CH,A MOV CL,B MOV DH,C MOV DL,D MOV BH,7
INT 10H ENDM
; 宏指令 向上卷动
SCROLL MACRO T,ULROW,ULCOL,LRROW,LRCOL MOV AH,7
MOV AL,T
MOV CH,ULROW MOV CL,ULCOL MOV DH,LRROW MOV DL,LRCOL MOV BH,70H
INT 10H
ENDM
; 宏指令 光标定位POSTC MACRO X,Y MOV AH,2
MOV DH,X
MOV DL,Y MOV BH,0 INT 10H
|精.
|品.
|可.
|编.
|辑.
|学.
|习.
|资.
|料.
*
|
*
|
*
|
*
|
|欢.
|迎.
|下.
|载.
ENDM
CODES SEGMENT START :
MAIN PROC
ASSUME CS:CODES,DS:DATAS
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATAS
MOV DS,AX
CLEAR
0,0,24,79
SCROLL
5,3,5,8,70
SCROLL
5,10,5,15,70
POSTC
3,5
BEGIN:
; 输入字符串MOV AH,09H
LEA DX,STRING1
INT 21H
LEA DX,BUFA
MOV AH,0AH
INT 21H
LEA DX,CRLF
MOV AH,09H
INT 21H
; 排序
|精.
|品.
|可.
|编.
|辑.
|学.
|习.
|资.
|料.
*
|
*
|
*
|
*
|
|欢.
|迎.
|下.
|载.
CALL POP_SORT
; 传送
CALL MOVE_TO_NEW
; 输入查找字符
POSTC 4,5
LEA DX,STRING2
MOV AH,09H INT 21H
MOV AH,01H INT 21H
; 查找字符
CALL FIND_CHAR
; 求和
CALL GET_SUM
; 输出排序结果
CALL PRINT_SORTED
; 输出查找结果
CALL PRINT_LOCATION
MOV AH,4CH INT 21H
MAIN ENDP
;===== 冒泡排序 ========== POP_SORT PROC NEAR
MOV BL,BUFA[1]
DEC BL
|精.
|品.
|可.
|编.
|辑.
|学.
|习.
|资.
|料.
*
|
*
|
*
|
*
|
|欢.
|迎.
|下.
|载.
LOOP1:
MOV CH,BL
LEA SI,BUFA[2] LOOP2:
MOV AL,[SI]
CMP AL,[SI+1] JLE EXT
XCHG AL
原创力文档

文档评论(0)