- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编程序设计实验报告--完整段定义程序实现
1
《汇编语言程序设计》
实验报告
2
实验四 完整段定义程序的实现
实验目的
1、掌握完整段格式定义的程序设计方法;
2、掌握伪指令:SEGMENT、ENDS、ASSUME、END、OFFSET、DUP ;
3、掌握汇编语言程序中指名程序入口的方法;
4、了解用INT 21H 的4C号功能调用返回系统的方法;
5、掌握用MASM、LINK工具进行汇编和链接的过程。
实验内容
要求程序中实现对键盘输入的字符作如下处理:
如果输入的是小写字母则转换成对应的大写字母并显示在屏幕上;
如果输入的是大写字母则转换成对应的小写字母并显示在屏幕上;
如果输入的是键盘上的Esc键则退出程序执行;
按其它任意可显示键,则不作处理,直接显示输出。
实验步骤
1、编辑下列程序:
DATA SEGMENT ;数据段定义
MESSAGE DB Please input your key!,0DH,0AH,$
DATA ENDS
STACK SEGMENT PARA STACK STACK ;堆栈段定义
DB 50 DUP(?)
STACK ENDS
CODE SEGMENT ;代码段
ASSUME CS:CODE,DS:DATA,SS:STACK ;分配段寄存器
START: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET MESSAGE
MOV AH,9
INT 21H ;显示提示信息
AGAIN: MOV AH,1
INT 21H ;读入一个键盘按键
CMP AL,1BH ;按的是ESC键(ASCII码为1BH)则退出程序
JE EXIT
CMP AL,61H
JB NEXT
CMP AL,7AH
3
JA NEXT
SUB AL,20H ;ASCII码在61H和7AH之间(小写字母)则转换为大写字母
JMP DISP
NEXT: CMP AL,41H
JB DISP
CMP AL,5AH
JA DISP
ADD AL,20H ;ASCII码在41H和5AH之间(大写字母)则转换为小写字母
DISP : MOV DL,AL
MOV AH,2
INT 21H ;显示当前字符
JMP AGAIN ;循环
EXIT: MOV AH,4CH ;结束程序
INT 21H
CODE ENDS
END START ;指定START标号为程序入口地址
4
图 4-1 键入代码
2、把上述程序保存为ASM源文件,利用MASM根据对源文件进行汇编,产生.OBJ文件,
若汇编时提示有错,编辑工具修改源程序后重新汇编,直至通过。
图 4-2 汇编成功
图 4-3 程序运行成功
图 4-4DOS命令下汇编.asm文件
3、用LINK将.OBJ文件连接成可执行的.EXE文件。
图 4-5-1 DOS命
文档评论(0)