汇编实验报告—山东大学 联系客服

发布时间 : 星期二 文章汇编实验报告—山东大学更新完毕开始阅读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

实验总结: