汇编实验报告(安工大纪平老师).doc
文本预览下载声明
汇编语言实验报告
学院:计算机学院
姓名:
学号:
班级:软件工程104班
实验一 汇编运行环境及方法、简单程序设计
程序说明:
本程序用来比较两个字符串string1和string2所含的字符是否相同。若相同则显示‘Match’,否则显示‘Nomatch’。
在程序的数据段先定义两个字符串string1和string2,再定义两个字符串mess1和mess2,分别代表‘Match’和‘Nomatch’。再代码段比较字符串string1和string2,通过比较判断是否相同。若相同则显示‘Match’,否则显示‘Nomatch’。
2.程序代码(比较两字符串):
;PROGRAM TITLE GOES HERE--Compare string
;**************************************************************************
datarea segment ;define data segment
string1 db Move the cursor backward.
string2 db Move the cursor backward.
;
mess1 db Match.,13,10,$
mess2 db No match!,13,10,$
datarea ends
;**************************************************************************
prognam segment ;define code segment
;--------------------------------------------------------------------------
main proc far
assume cs:prognam,ds:datarea,es:datarea
start: ;starting execution address
;set up stack for return
push ds ;save old data segment
sub ax,ax ;put zero in AX
push ax ;save it on stack
;set DS register to current data segment
mov ax,datarea ;datarea segment addr
mov ds,ax ;into DS register
mov es,ax ;into ES register
;MAIN PART OF PROGRAM GOES HERE
lea si,string1
lea di,string2
cld
mov cx,25
repz cmpsb
jz match
lea dx,mess2
jmp short disp
match:
lea dx,mess1
disp:
mov ah,09
int 21h
ret ;return to DOS
main endp ;end of main part of program
;-------------------------------------------------------------------------
prognam ends ;end of code segment
;*************************************************************************
end start ;end assembly
3.截图:
该程序是用来判断两字符串string1和string2是否相同,相同则显示match。
实验
刚开始ax 3000,bx 5000 debug调试后 ax,5000 bx 3000
首先用-r设置bx,si 然后再用-
显示全部