微型计算机原理与接口技术课程设计说明书-键盘录入转换程序设计内容摘要:
序,当输入字符没有空格时字符全部以反序输出显示在屏幕上,当输入字符有空格时对于空格前的字符以正序输出显示在屏幕上,对于 “ .” 前的字符以反序输出显示在屏幕上。 另外,考虑到若 输入字符存在“ $”, DOS 系统的 INT 21H 下的 09H字功能以“ $”为结束符,自动结束字符串的显示,故当输入 ” .” 后 很可能 并未终止输入字符 ,这将在程序调试时得出结论。 主程序的程序流程图如下。 武汉理工大学《微型计算机 原理 与接口技术 》课程设计说明书 8 图 1 主程序设计流程图 段寄存器、堆栈和界面初始化 开 始 INT 21H的 01H号子功能接收键入字符 调用 JUDGE 子程序 INT 21H的 01H号子功能接收键入字符 CF=1。 SI 加 1 Y N INT 21H 的 02H 号子功能显示回车和换行 INT 21H 的 09 号子功能显示 STR2 和 STRING 字符串 DI 加 1 N Y 结 束 偏移地址指针 SI 清零 INT 21H 的 09 号子功能显示 STR1 字符串 DH 清零 DH=1? ‘ $’传送到 [STRING+SI+1] 调用 CHANGE 子程序 武汉理工大学《微型计算机 原理 与接口技术 》课程设计说明书 9 JUDGE 子程序设计 对输入的字符首先判断其是否为空格键,若为空格键则将 DH 和 CF 置 1,并且将数输入的字符送到 STRING 中,若不为空格键则继续判断其是否为“ .” 键,则将 CF置 0,将其值返回后终止输入字符。 其程序流程图如下。 CHANGE 子程序设计 由于字符串处理在堆栈中进行,首先将断点数据压入堆栈,以便调用子程序后可以正确的返回主程序中,对输入的数据的长度进行处理,计算设置 SI 和 DI 的初值,设置循环,将循环次数赋予 CL从而控制循环,然后将 [STRING+SI]传送到 AL中,用XCHG 将 AL 和 [STRING+DI]数据交换,循环结束后从而使得正序输入的数据以反向输出显示在屏幕上,最后将断点数据出堆栈返回到主程序。 子程序流程图如下。 将 SI 传送给 DI AL=20H? 将 1 传送给 DH AL=2EH? N Y JUDGE 子程序 STC AL 传送到 STRING Y N CF=1 图 2 JUDGE 子程序流程图 返 回 武汉理工大学《微型计算机 原理 与接口技术 》课程设计说明书 10 图 3 CHANGE 子程序流程图 程序编写 根据分析和程序流程图,编写以下程序。 %定义数据段 % DATA SEGMENT STR1 DB‘ PLEASE INPUT THE STRING:’ ,0AH,0DH,’ $’ STR2 DB ‘ THE RESULT IS:’ ,0AH,0DH,’ $’ STRING DB 100 DUP(?) MENU1 DB 39。 WELCOME SUNLIFEI DE DESIGN $39。 CF=0? N Y 断点数据压入堆栈 设置 SI 和 DI 初值 将 [STRING+SI]传送到 AL 将 [STRING+DI]与 AL 数据交换 将 AL 传送到 [STRING+SI] SI 减 1, DI 加 1 断点数据出堆栈 CHANGE 子程序 返 回 武汉理工大学《微型计算机 原理 与接口技术 》课程设计说明书 11 DATA ENDS SHUCHU MACRO OP1,OP2,OP3,OP4,OP5,OP6 %循环输出 ,用于初始化界面周边的笑脸符 % MOV CX,0 MOV DH,OP1 %起始 行 MOV DL,OP2 %起始 列 % OP6: MOV AH,02H MOV BH,01H INT 10H PUSH CX MOV AH,0AH MOV AL,OP3 %要显示的字符 MOV CX,01H MOV BH,00H INT 10H POP CX INC CX INC OP4 %这里指的要循环输出的是行还是列 % CMP CX,OP5 %循环次数 % JNE OP6 ENDM MENU MACRO OP1,OP2,OP3 %用于屏幕上文字的输出 % MOV CX,0 %1,2 为起始输出的行、列, 3为字符串的地址 % MOV AH,02H MOV BH,00H MOV DH,OP1 MOV DL,OP2 INT 10H LEA DX,OP3 武汉理工大学《微型计算机 原理 与接口技术 》课程设计说明书 12 MOV AH,9 INT 21H ENDM CLS MACRO OP1,OP2,OP3,OP4 %用于清屏 ,分别是起止的行和列 MOV AH,6 MOV BH,17H MOV AL,0 MOV CH,OP1 MOV CL,OP2 MOV DH,OP3 MOV DL,OP4 INT 10H MOV AH,2 MOV BH,0 MOV DH,0 MOV DL,0 INT 10H ENDM %定义堆栈段 % STACK SEGMENT DB 100 DUP(?) STACK ENDS %定义代码段 % CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK %主程序设计 %。微型计算机原理与接口技术课程设计说明书-键盘录入转换程序设计
相关推荐
课程设计说明书 8 音频集成功率放大器原理 LM386 是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。 LM386 内部电路 LM386内部电路原理图如图 4所示。 图 4 LM386内部电路原理图 与通用型集成运放相类似,它是一个三级放大电路。 第一级为差分放大电路, V1 和 V V2 和 V4
将 百事中国食品有限公司运输委托请求转化为订单 模拟操作软件 8 货货运代理业务运作 认知国际货运代理 会用自己的言语讲清国际货运代理的概念、国际货代的服务对象、国际货代的责任;理解常用国际贸易术语 ①了解国际货代基本知识 ②解释常用的国际贸易术语的含义 ③国际货代的服务对象、国际货代的责任; 案例分析法 第一步,播放货运代理介绍视频,由学生总结货代基础知识 第二步,介绍贸易术语,学生讨论案例
【实验目的】 熟练掌握 人体各主要关节活动度的评定操作技术。 【实验时数】 3 学时 【实验内容】 1. 躯干关节测量:颈椎关节活动度、胸腰椎关节活度 2. 上肢关节测量:肩关节活动度、肘关节活动度、前臂活动度、腕关节活度 3. 下肢关节测量:髋关节活动度、膝关节活度、踝关节活度 【实验要求】 必开 【实验方法】 在实训室学生进行分组练习 五、肌张力评定 【实验目的】 能区分改良的
连续系统的时域分析 12 1 6 第 六 章 离散系统的 Z域分析 10 3 第三章 离散系统的时域分析 10 1 7 第 七 章 系统函数 4 4 第四章 傅里叶变换和系统的频域分析 16 2 第一章 信号与系统 ( 12 学时) 第一节 绪言 一、信号与系统的概念(了解) 信号的定义,系统的定义,信号与系统的概念及广泛的应用领域。 信号与系统的分类,本课程所研究的范围,任务和目标。 第二节