汇编实验报告—山东大学

发布时间 : 星期一 文章汇编实验报告—山东大学更新完毕开始阅读

MOV BX,03

AD3: ADD BYTE PTR[SI+BX-1],30H DEC BX JNE AD3

;ADD BYTE PTR[DI],30H RET

INPUT1 PROC NEAR IN1:MOV AH,01

INT 21H MOV [SI+1],AL dec SI DEC BX

JNZ IN1 RET

INPUT1 ENDP

INPUT2 PROC NEAR IN1:MOV AH,01

INT 21H ; MOV [SI],AL RET

INPUT2 ENDP ADDA ENDP CODE ENDS

END START

实验结果:

实验总结:

1. 通过实验学会了,使用汇编语言完成相乘运算以及转过程。 2. 与加法类似,应注意显示顺序的问题。

3. 学会了使用宏定义,重复部分只需写一次即可,大大简化了程序的复杂性,简洁易

懂。

实验四 字符串匹配程序

内容与要求:

编写程序,实现两个字符串(假设两字符串事先已存于内存中)的比较。若相同,则显示比较结果’MATCH’,否则显示’NO MATCH’。 目的:

掌握字符串比较指令的使用方法及运行结果的提示显示。 实验程序:

CRLF MACRO MOV AH,02H MOV DL,0DH INT 21H

MOV AH,02H MOV DL,0AH INT 21H ENDM

data segment

string1 db 100,?,100 dup(?) string2 db 100,?,100 dup(?) str1 db 'MATCH','$' str2 db 'NO MATCH','$' data end

code segment 'code'

assume cs:code,ds:data start:

mov ax,data mov ds,ax mov es,ax

lea dx,string1 mov ah,0AH int 21h sub ch,ch add dx,2 mov si,dx CRLF

lea dx,string2 mov ah,0AH int 21h sub ch,ch add dx,2 mov di,dx CRLF

mov cl,100

repz cmpsb jnz differ jmp same same: mov ah,09h lea dx,str1 int 21h jmp tail differ:

mov ah,09h lea dx,str2 int 21h tail:

mov ah,4ch int 21h code ends end start 实验结果:

实验总结:

1. 学会了repz cmpsb 指令的使用方法,其比较次数放在cl中,学会了cx寄存器的使用方法。

2. 进一步了解了DOS调用方法,分别是9号调用显示字符串,1号调用从键盘输入字符和4CH调用终止程

序。9号使用DX指向字符串首地址,1号结果存在AL中。通过实验,对DOS功能调有了更加深刻的认识。

3. 学会了跳转指令使用,jmp、jz以及jnz的区别,使用时应选择正确的标志寄存器。

实验五 查找字符串中的指定字符(即字符搜索)

内容与要求:

用串操作指令设计程序,实现在指定存储区(长度:100H)中寻找指定的匹配字符,当遇空格字符(20H)便结束,并显示查找结果,如提示“找到”或“未找到”。 要求:欲查找的指定字符从键盘输入。 目的:

灵活运用串操作指令,掌握DOS功能调用,完成键入信息的提示和信息键入。

实验程序: CRLF MACRO

MOV AH,02H MOV DL,0DH INT 21H

MOV AH,02H MOV DL,0AH INT 21H ENDM

data segment

string1 db 100,?,100 dup(?) string2 db 0

str3 db 'please input a string: ','$'

key db 'Please the keyword: ','$' str1 db 'FIND','$' str2 db 'NO FIND','$' data ends

code segment 'code'

assume cs:code,ds:data,es:data start:

mov ax,data mov ds,ax mov es,ax

MOV AH,09H lea dx,str3 INT 21H

mov dx,offset string1 mov ah,0AH int 21h sub ch,ch CRLF

MOV AH,09H lea dx,key INT 21H

mov ah,01H int 21h

mov string2,al CRLF ;xor ax,ax

mov di,offset string1+2 mov al,string2

联系合同范文客服:xxxxx#qq.com(#替换为@)