1、实验二 8086汇编语言之分支、循环程序设计【实验目的】1掌握循环结构程序设计的方法;2掌握数据块传送程序设计的方法;3掌握串传送指令的应用。【实验内容】1.编写程序实现将数据段STR1单元开始的20个字符移到STR2开始的存储区。假设STRI+20STR2,可以用串传送指令,也可以用MOV传送指令。该题目要求掌握单循环程序设计方法。为了实现指定功能,应从以下几个方面考虑:(1)数据串操作的起始位置从高地址还是从低地址开始。(2)确定使用串传送指令,还是用MOV指令。(3)确定循环程序的结构。2.如果要求字符串从键盘中输入,应如何设计程序?3.用子程序方法,且不使用MOVSB指令来完成数据块的
2、传输,应如何设计程序?【实验程序】DATA SEGMENTSTR1 DB WHAT IS YOUR NAME?,0AH,0DH,$CN EQU $-STR1STR2 EQU STR1+ CN-5DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE,ES:DATASTART: MOV AX,DATA MOV DS,AXMOV ES,AXMOV DX, OFFSET STR1MOV AH,09HINT 21HMOV SI ,OFFSET STR1MOV DI ,OFFSET STR2MOV CX ,CNADD SI ,CN-1ADD DI, CN-1STDREP MOVSBMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START【实验结果】 数据段STR1单元开始的20个字符成功移到STR2开始的存储区【实验心得和体会】通过实验让我掌握了循环结构程序设计的方法、数据块传送程序设计的方法、串传送指令的应用。更好地了解了语言之分支、循环程序设计让我知道汇编程序的奥秘,我对x86的指令有了新的认识,对一些指令操作更熟练啦。2 / 2 2 / 2