发布时间 : 星期二 文章汇编实验报告—山东大学更新完毕开始阅读b8d60c0e763231126edb111b
MOV AH,02H MOV DL,0AH INT 21H ENDM
SPACE MACRO
MOV AH,02H MOV DL,32 INT 21H ENDM
DATAS SEGMENT L db 0 D db 0
str1 db 'Please input a string:','$' dig db 'Digital:','$' let db 'Letter:','$'
buf db 100,?,100 dup(?) DATAS ENDS STACKS SEGMENT
;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS START:
MOV AX,DATAS MOV DS,AX mov ah,09h lea dx,str1 int 21h CRLF
mov dx,offset buf mov ah,0Ah int 21h
mov di,offset buf+2 CRLF check:
mov al,[di] inc di
cmp al,0dh jz k
cmp al,3ah js add1 jns add2 add1: inc D jmp s1
add2: inc L s1:
jmp check k: mov ah,09h lea dx,dig int 21h
sub ah,ah mov al,D mov dl,10 div dl push ax mov dl,al
add dl, 30h mov ah, 2 int 21h pop ax
mov dl,ah add dl,30h mov ah, 2 int 21h CRLF
mov ah,09h lea dx,let int 21h
sub ah,ah mov al,L mov dl,10 div dl push ax mov dl,al
add dl, 30h mov ah, 2 int 21h pop ax
mov dl,ah add dl,30h mov ah, 2 int 21h MOV AH,4CH INT 21H CODES ENDS END START 实验结果:
实验总结:
1. 通过此实验学会了字符串的键入与分类统计,运用了此前的加法,以及分类方法。 2. 使用除法对大于10的数以字符形式输出。
实验八 排序实验
内容与要求:
从数据段指定地址1000H开始存放50个数,设计程序将这些数由小到大排序,排序后的数,仍放在原存储区,并回显排序结果。 目的:
掌握用汇编语言编写气泡排序程序的思路和方法。 实验程序: DATAS SEGMENT
DATA DB 50,?,50 DUP(?)
MESSAGE1 DB 'Please input numbers:$' MESSAGE2 DB 'Result:$' MESSAGE3 DB 13,10,'$' DATAS ENDS
STACKS SEGMENT
STACK1 DB 200 DUP(?) STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS START:
MOV AX,DATAS MOV DS,AX
MOV AX,STACKS MOV SS,AX
LEA DX,MESSAGE1 ;输入提示语 MOV AH,09H INT 21H
MOV AH,0AH
LEA DX,DATA INT 21H
LEA DX,MESSAGE3 MOV AH,09H INT 21H
MOV CL,DATA+1 DEC CL LOOP1:PUSH CX MOV BX,0
;回车换行
;设置外循环次数 ;保存外循环次数
LOOP2: MOV AL,DATA+2[BX] CMP AL,DATA+2[BX+1] JL NEXT
XCHG AL,DATA+2[BX+1] MOV DATA+2[BX],AL NEXT:INC BX
LOOP LOOP2 POP CX LOOP LOOP1 LEA DX,MESSAGE2 MOV AH,09H INT 21H
LEA BX,DATA+2 MOV CL,DATA+1 MOV DI,0
DISPLAY:MOV DL,[BX+DI] MOV AH,02H INT 21H INC DI
LOOP DISPLAY MOV AH,4CH INT 21H CODES ENDS END START 实验结果:
;备份
;相邻两个数比较 ;相邻两个数交换
;外循环次数出栈
;提示语
;输出显示
;返回DOS
实验总结: