汇编语言课程设计

1.设计的目的和任务

(1)目的:课程设计是本科教学全过程中重要环节。其目的是培养计算机专业学生运用所学知识解决计算机应用领域内实际问题能力,进一步提高学生汇编语言综合编程能力,程序调试技能。

(2)任务:能够按照设计题目完成相应设计;撰写设计报告。 完成设计任务,撰写设计报告,上交源程序和可执行程序,源程序加注释

3.设计地点

自己的计算机

4.主要仪器设备(实验用的软硬件环境)

普通微机一台;汇编语言环境(基于DOS环境:EDIT、MASM、LINK、DEBUG;基于Windows环境)

5.设计内容

实现小写字母向大写字母的转换,主要利用小写字母比大写字母大20H的关系,实现大写字母向小写字母的转换,将大写字母的ASCII值加上20H就可以换成小写字母。键盘输入,显示输出。

从键盘上输入一串字符,若是小写字符则转换成大写字符在下一行输出,若是大写字符则转换成小写字符在下一行输出,若都不是则原样在下一行输出。

程序流程图如下:

6.源程序

DATA SEGMENT

P1 DB 100

P2 DB 0

ARRAY DB 100 DUP(?) ;置100个字节的缓冲区存放数据

DATA ENDS

CODE SEGMENT ;代码段

ASSUME CS:CODE,DS:DATA

START:

LEA BX,ARRAY ;将ARRAY的首地址给BX

MOV AX,CS

MOV DS,AX

MOV DX,OFFSET P1 ;将P1的偏移量给DX

MOV AH,0AH ;调用中断21的0A号功能从键盘接收字符

INT 21H

MOV BX,0

MOV BL,P2

MOV ARRAY[bx],’$’ ;送$至字符串尾

MOV DI,0FFFFH

NEXT: INC DI ;DI自加

CMP ARRAY[DI],’$’ ;比较

JE NEIT ;相等,转到EXIT

CMP ARRAY[DI],41H ;ARRAY[DI]中的字符与A比较

JL NEXT ;小于则转

CMP ARRAY[DI],5AH ;与Z比较

JG NEXT1 ;大于 则转

ADD ARRAY[DI],20H ;加20H大写转小写 JMP NEXT

NEXT1:

CMP ARRAY[DI],’$’ ;比较

JE EXIT ;相等则转

CMP ARRAY[DI],61H ;ARRAY[DI]中的字符与a比 JL NEXT ;小于则转

CMP ARRAY[DI],7AH ;与z比较

JG NEXT ;大于则转

SUB ARRAY[DI],20H ;减20h,小写转大写

JMP NEXT

EXIT:

MOV P1,0DH ;回车换行

MOV P2,0AH

MOV AH,09H

INT 21H

MOV AH,4CH ;程序结束

INT 21H

CODE ENDS

END START

6.问题讨论与分析

通过这次实验,总结出了该如何分析和编写程序:1,画出整个程序的流程图,理解整个程序流程的思想。画流程图的方式更让人很直

接的理解程序的整体流程,而不会被代码说干扰。2,对流程各节点(函数或过程)的理解。3,再把流程和流程的各个节点串起来理解整个程序,可能的话最好写出读书笔记。4,再编写该程序进行操练。只有在我们 这个程序之后才知道到底你理解了多少,掌握了多少。

通过这次实验,我深刻的了解到了理论联系实际的重要性了。有点程序我们看着简单,但是自己设计起来却感觉无从下手,所以我们应该多给自己锻炼的机会。更加深入地了解和运用我们所学的知识。

参考文献

1、詹仕华等编.《汇编语言程序设计》.北京:中国电力出版社. 2008.2

2、詹仕华等编.《汇编语言程序设计习题解答及课程实验、设计辅导》.北京:中国电力出版社. 2008.2

3、王爽编.《汇编语言》. 北京:清华大学出版社,2003.5

4、曹加恒等编.《新一代汇编语言课程设计》. 北京:高等教育出版社,2003.6

5、杨路明等编.《汇编语言程序设计》. 长沙:中南大学出版社,2005.8

c语言大写字母A变小写a流程图,大小写字母转换相关推荐

  1. php统计大写字母个数,C++_C++统计中英文大小写字母、数字、空格及其他字符个数的方法,本文实例讲述了C++统计中英文 - phpStudy...

    C++统计中英文大小写字母.数字.空格及其他字符个数的方法 本文实例讲述了C++统计中英文大小写字母.数字.空格及其他字符个数的方法.分享给大家供大家参考,具体如下: /* * 作 者: 刘同宾 * ...

  2. php随机生成大写字母,PHP生成随机字符串包括大小写字母

    PHP生成随机字符串包括大小写字母,这里介绍两种方法: 第一种:利用字符串函数操作 /** *@blog */ function createRandomStr($length){ $str = '0 ...

  3. java 后台大写到前端变小写

    返回用@responsebody自动处理json,默认使用的是Jackson解析.Jackson在解析返回的json字符串时始首字母是小写 解决办法:增加@JsonProperty注解 例: publ ...

  4. c语言随机产生大小写字母,c# 产生随机字符串,包括大小写字母和数字

    #region MyRegion //產生密碼 protected static string GetPwd() { return CreateRandomNum123(2) + CreateRand ...

  5. html判断数字数据的大小写,大小写字母,特殊字符,数字,八位及以上四选三,全符合验证...

    大小写字母,特殊字符,数字至少八位以上验证 正则表达式:    ^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$ ...

  6. c语言china大写变小写,英语字母大写小写

    26个英文字母书写的规格+笔顺+技巧,英语字母这么写,考试至少多加20分! 26个字母书写的规格 (1)应按照字母的笔顺和字母在三格中应占的位置书写. (2)每个字母都应稍向右倾斜,约为5°,斜度要一 ...

  7. html案例字符串大小写转换,将字符串大写字母变小写 c语言编程:字符串中大小写字母转换...

    java怎样将大写字母转换成小写字母 具体代码如下,字符串中大.小写互转 1)输入 第一行只有一个整数m(m jquery 字符串大写字母转小写 js字符转换成小写的方法:toLowerCase()j ...

  8. 删除字符串的大写字母c语言,将字符串大写字母变小写 C语言 字符串中大小写字母转换...

    java怎样将大写字母转换成小写字母 具体代码如下,字符串中大.小写互转 1)输入 第一行只有一个整数m(m都说欲擒故纵最能虏获芳心,可小编拿什么对抗她在皱眉时,小编忍不住嘘寒问暖的情绪. jquer ...

  9. 把骆驼命名法的变量,变为大写字母变小写且之前加下划线

    /** * 把骆驼命名法的变量,变为大写字母变小写且之前加下划线 * * @param str * @return */ public static String toUnderline(String ...

  10. C语言试题八十二之输入小写字母,把小写字母转换成大写字母。

    1.题目 输入小写字母,把小写字母转换成大写字母. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中C程序设计科目.帮助C语言学者打好程序基础.C语言基础,锻炼您的逻辑思 ...

最新文章

  1. wp实例开发精品文章源码推荐
  2. 绿色数据中心如何提高效率?
  3. 记事本写python怎么运行-Python开发简单记事本
  4. POJ 3278 Catch That Cow(BFS)
  5. 软 件 学 院 实践环节报告
  6. java spring cloud版b2b2c社交电商spring cloud分布式微服务:服务注册与发现(Eureka、Consul)...
  7. Java EE 8 MVC:使用路径参数
  8. Flask mysql 模版传参_Flask渲染Jinja2模板和传参
  9. 怎么两边同时取ln_羊肉汤怎么炖才好喝?小猫教你这么做,做出来汤浓白,好喝无膻味...
  10. lync登录时一直停留在登录界面
  11. 我的世界服务器开服文件夹,详细开服教程。想要自己开服的小伙伴儿 戳这里·...
  12. Factorization Mechanism
  13. Kali最新2020.1版本之U盘启动加密与持久化存储制作流程
  14. 7.基础查询(select from)
  15. 【周志华机器学习】线性模型
  16. AVR单片机特性简介
  17. 【R语言科研绘图】--- 柱状图
  18. 解剖NetGuard
  19. 画一条0.5px的线
  20. Linux常用文件管理命令详解

热门文章

  1. Excel 批量增加行高,解决打印表格部分行显示不全的问题
  2. Java【递归及过滤器】
  3. 基于深度学习的图像修复
  4. 7个人生工具:SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则
  5. 【IC】低功耗设计理论知识
  6. 明御安全网关(IPS)批量导入黑名单IP
  7. mysql误删除数据恢复_mysql误删除数据恢复
  8. 理解SVM的三重境界
  9. 魔兽世界暴雪隐藏密集
  10. MATLAB对数刻度绘图 (不等间距坐标绘图)