求西门子宏程序,编程实例众所周知,西门子系统的一大亮点就是包含丰富的手动测量功能及各种各样的测量循环。但本期给大家介绍一下如何简单的编写一个西门子测量宏程序,用于测试
在键盘上输入自己姓名的拼音,如“Wang Fei”,以回车结束。输入结束后,将大小写互换 并
c语言编程题:输入一行字符,并以回车结束,将其中的小写字母转换成大写字母,其他字符不变。
/*功能:输入一行字符,并以回车结束,将其中的小写字母转换成大写字母,其他字符不变。*/ /*说明:改变N的大小可以改变输入字符串的范围大小*/ #include用C语言编写程序:从键盘输入一串字符,按回车键后结束,最后将字符串在屏幕上输出。
#include汇编语言顺序程序设计:从键盘输入一个字符串,讲其中的小写字母转换为大写字母,然后原样输出。
1. 首先题目就有问题,不可能“接收从键盘输入的字符,以CTR+C 结束”。对于命令提示符来说,按下CTRL+C,就会强行退出这个程序,所以不可能以CTRL+C结束的。应该是按回车结束输入。
2. DATA里有中文标点符号。
3. 输入字符后,按下回车,在C语言里运行的时候会自动换行,但是在汇编里不会,所以你要自己换行。
4. 用MOV AH, 0AH; INT 21H中断输入后,输入的有效字符数存放在BUF1单元里,所以循环的时候应该把CX设置为BUF1单元里的值,而不是COUNT
5. 输入的有效字符从BUF2单元开始存储,所以做大小写转换的时候,应该从BUF2单元开始,而不应该从BUF单元开始
6. 61H和7AH都是小写字母,所以跳转指令中不应该有E。同时,有符号、无符号不要混用,所以JBE改为JB,JGE改为JA。
7. 输入字符时,是以回车符作为结束;而输出字符时,是以'$'作为结束,所以对输入的字符,你要把最后一个回车符转为‘$'。
修改后的程序如下:
DATA SEGMENT
MESS1 DB 'INPUT: ',13,10,'$'
NEWLINEDB 13, 10, '$' ;这行是专门用来换行的
MESS2 DB 'OUTPUT:',13,10,'$'
BUF DB 20
BUF1 DB ?
BUF2 DB 20 DUP(?)
COUNT EQU $-BUF
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI, 0
LEA DX,MESS1
MOV AH,09H
INT 21H
MOV DX,OFFSET BUF
MOV AH,0AH
INT 21H
LEA DX, NEWLINE ;专门用来换行
MOV AH, 9
INT 21H
MOV CL, BUF1
MOV CH, 0 ;BUF1单元中存放的是有效输入字符数
LOOP1:MOV AL,BUF2[SI] ;从BUF2单元开始才是有效字符
CMP AL,61H
JB NEXT ;JBE改为JB
CMP AL,7AH
JA NEXT ;JGE改为JA
SUB AL,20H
MOV BUF2[SI],AL ;从BUF2单元开始才是有效字符
NEXT: INC SI
LOOP LOOP1
MOV BUF2[SI], '$' ;循环结束,把当前的字符修改为'$'
LEA DX,MESS2
MOV AH,09H
INT 21H
MOV DX,OFFSET BUF2 ;从BUF2单元开始才是有效字符
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
汇编语言:从键盘输入字符,以回车键结束,将字符串中包含的字母输出到屏幕第2行,包含的数字输出到第3行
CODESEGMENT
ASSUMECS:CODE
START:JMPBBB
MSG1DB'pleaseinput:$'
STR0DB255
STR1DB?
STR2DB255DUP('$')
ALPHA0DB13,10
ALPHADB255DUP('$')
NUMBER0DB13,10
NUMBERDB255DUP('$')
BBB:PUSHCS
POPDS
PUSHCS
POPES
MOVAH,9
LEADX,MSG1
INT21H
MOVAH,10
LEADX,STR0
INT21H
MOVCL,STR1
MOVCH,0
LEASI,STR2
LEABX,ALPHA
LEADI,NUMBER
CLD
@0:
LODSB
CMPAL,'0'
JB@10
CMPAL,'9'
JA@1
STOSB
JMP@10
@1:
CMPAL,'A'
JB@10
CMPAL,'Z'
JA@2
MOV[BX],AL
INCBX
JMP@10
@2:
CMPAL,'a'
JB@10
CMPAL,'z'
JA@10
MOV[BX],AL
INCBX
@10:
LOOP@0
MOVAH,9
LEADX,ALPHA0
INT21H
LEADX,NUMBER0
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
从键盘输入一串字符,以回车键结束,将其写入文本文件a1.txt,并显示。
#include相关文章
- 详细阅读
-
机器人教育和编程教育有哪些不同?详细阅读
编程教育和机器人教育有什么不一样?机器人编程的语言与计算机编程的语言略有不同。像青少年儿童机器人编程这块,乐高EV3的编程是模块化编程,非常适合零基础的孩子入门。VEX机器
-
VB编程与应用(电大)29讲详细阅读
谁有 VB编程与应用(电大)29讲视频教程下载,有其它的视频下载也可以VB编程与应用(电大)29讲为什么我下载的宁波电大的vb教程的视频有些打不开啊这个问题我也遇到过,其实只要
-
使用JAVA编程new File("xxx.xxx").详细阅读
java File f=new file(path,File.text);是什么意思由API查得 File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
- 详细阅读
-
讨厌的“未结束的字符串异常”后半详细阅读
网页出错提示未结束的字符串常量我看了一下你的第29行代码是var boardxml='',ISAPI_ReWrite = 0,forum_picurl='skins/Default/ 这是段未结速的代码,请楼主检查后补上最近电
-
编程猫社区怎么快速上首页啊详细阅读
编程猫社区入口该怎么进入点击编程猫官网进入社区即可。
打开电脑浏览器,搜索编程猫,打开编程猫官网.官方网站上有如图所示两种选项,可以选择创作或者三维代码岛.点击代码岛2.0 -
这样的连接筋用ug怎么编程才能留出详细阅读
用UG怎么编程加工这种筋,用哪个命令呢?先把该编程软件的常用命令,函数记好 要熟练掌握、熟练运用, 补充:UG有专门的模块,可以仿真刀路,然后到处程序, 补充:用UG这个编程目的就是自动
-
编程和系统发展史详细阅读
计算机系统的发展历史下面我们结合计算机的发展历史来回顾一下操作系统的发展历程。
1、第一代计算机(1945-1955):真空管和插件板
40年代中期,美国哈佛大学、普林斯顿高等研究院 -
C++保留两位数字怎么加字符串详细阅读
在C语言中,怎样取小数只取2两位 然后赋值给字符串?方法: 1. 定义字符数组用来存储字符串 2. 定义浮点数赋值,如:double d=1.23456; 3. 用sprintf()的%.2f格式截取浮点数的小数位,