预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验1-3汇编语言实验 一、实验目的 熟悉汇编语言语法 熟悉8086常用指令 掌握BIOS中断调用及DOS功能调用 二、实验内容 1、编写一个汇编语言程序,要求从键盘输入一个小写字母,将其转化成大写字母并在屏幕上显示出来。 2、编写一个汇编语言程序,将字符串“AssemblyLanguageProgramming”全部转化为大写字母,存放到原来所在单元。 3、从键盘接收一串字符,并另起一行逆序显示该字符串。 三、实验步骤 1.题目1的完整汇编语言程序如下,在实验环境中保存文件进行编译连接后,在DOS中运行文件,可实现将输入字母转换成小写输出。 DATASEGMENT;定义数据段 BUFDB0DH,0AH,'PLEASEINPUTACHAR:$' DATAENDS CODESEGMENT ASSUMEDS:DATA,CS:CODE,SS:STACK;段寄存器指派伪指令 BEGIN: MOVAX,DATA MOVDS,AX;初始化DS LEADX,BUF;偏移地址送寄存器 MOVAH,9 INT21H;9号调用显示字符串PLEASEINPUTACHAR: MOVAH,1;1号调用,从键盘接收一个字符 INT21H CMPAL,61H;若比“a”小转PEND处执行 JBPEND CMPAL,7AH;若比“z”大转PEND JAPEND SUBAL,20H;若在“a”和“z”之间,则减去20变为大写字母 MOVDL,AL;转换后的字符存入DL寄存器 MOVAH,2;2号功能调用显示一个字符 INT21H PEND: MOVAH,4CH;程序结束,返回DOS INT21H CODEENDS ENDBEGIN 2.题目2的完整汇编语言程序如下,运行可执行文件后将字符串“AssemblyLanguageProgramming”转换成大写“ASSEMBLYLANGUAGEPROGRAMMING”并显示。 DATASEGMENT;定义数据段 BUFDB0DH,0AH,'AssemblyLanguageProgramming$' NDB$-BUF;字符串长度 DATAENDS CODESEGMENT;定义代码段 ASSUMEDS:DATA,CS:CODE;段寄存器指派伪指令 BEGIN: MOVAX,DATA MOVDS,AX;数据初始化 LEADX,BUF MOVAH,9;9号调用显示字符串AssemblylanguageProgramming INT21H MOVCX,N;设置循环计数值 MOVSI,DX L:MOVAL,[SI] CMPAL,61H;若比“a”小转NEXT JBNEXT CMPAL,7AH;若比“z”大转NEXT JANEXT SUBAL,20H;若在“a”和“z”之间,则减去20变为大写字母 MOV[SI],AL NEXT:INCSI LOOPL;循环 DISPLAY: LEADX,BUF MOVAH,9;9号调用显示字符串 INT21H EXIT:MOVAH,4CH;程序结束,返回DOS INT21H CODEENDS ENDBEGIN 3.题目2的完整汇编语言程序如下,DOC中运行文件,从键盘输入任意一字符串,并回车键结束输入,在下一行便可逆序显示所输入的字符串。 DATASEGMENT STR1DB0DH,0AH,'PLEASEINPUTASTRING:$' BUFDB512DUP(?);定义可输入的字符个数 CRLFDB0DH,0AH,24H;回车换行符 DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATA START:MOVAX,DATA MOVDS,AX LEADX,STR1;偏移地址送到寄存器 MOVAH,9;9号调用显示字符串 INT21H MOVSI,OFFSETBUF;指针指向待显示字符串尾部 AGAIN: MOVAH,01;输入字符 INT21H CMPAL,0DH;是回车吗 JEDISP;是,转显示 DECSI;指针减1 MOV[SI],AL;存入输入的字符 JMPAGAIN;继续输入 DISP: MOVAH,09;显示 MOVDX,OFFSETCRLF;回车换行 INT21H MOVDX,SI;定位待显示字符串首地址 MOVAH,09 INT21H MOVAH,4CH;程序结束,DOS返回 INT21H CODEENDS ENDSTART 四、程序框图 实验内容中的1、2、3题程序框图见如下图1-1、1-2和1-3。 图1-1图1-2 图1-3 五、实验总结 DOS调用,运行程序文件,得到结果图分别如下所示: 图1-4图1-5 图1-6 通过实验,我熟悉了汇编语言程序的基本结构,掌握了教程中讲解的跳转类指令以及循环指令等,对DOS功能的调用更加