如何使同汇编语言编写从键盘输入一段字符串然后逆序输出?

如题所述

第1个回答  2018-01-04
先前回答过该问题,现发给你。

;运行示范如下
;C:\R
;HXGSFHSDG736RU3GRH32867VF847TBF47EHF78CGY4RCY4M8CEW7YDNRG

;GRNDY7WEC8M4YCR4YGC87FHE74FBT748FV76823HRG3UR637GDSHFSGXH
;C:\
;用MASM5.0编译通过

DATA SEGMENT

DB 512 DUP('$') ;定义可输入的字符个数
BUF DB '$'
CRLF DB 0DH,0AH,24H ;回车换行符
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX

MOV BX,OFFSET BUF ;指针指向待显示字符串尾部
AGAIN:
MOV AH,01 ;输入字符
INT 21H
CMP AL,0DH ;是回车吗
JE DISP ;是,转显示
DEC BX ;指针减1
MOV [BX],AL ;存入输入的字符
JMP AGAIN ;继续输入

DISP:
MOV AH,09 ;显示
MOV DX,OFFSET CRLF ;回车换行
INT 21H
MOV DX,BX ;定位待显示字符串首地址
MOV AH,09
INT 21H ;显示

MOV AH,4CH ;DOS返回
INT 21H
CODE ENDS
END START本回答被网友采纳

从键盘输入一个字符串在下一行逆序输出用汇编语言如何实现
;可以这样考虑:;1.利用dos 21h中断的A号功能,读取一个字符串,这样可以取得字符串的长度N。;2.mov cx,N,利用Loop指令,倒序输出字符串。;代码如下:; multi-segment executable file template.data segment buf0 db 255 ;字符串最大长度 db 0 ;输入的字符串的实际长度 buf1 db 2...

用JAVA编写一程序:从键盘输入多个字符串到程序中,并将它们按逆序输出在...
public class ScannerDemo{ public static void main(String[] args) throws Exception{ Scanner scan=new Scanner(System.in);System.out.println("请输入内容:");String str=scan.nextLine();char[] s=str.toCharArray();for(int i=s.length-1;i>=0;i--){ System.out.print(s[i]);}}}...

怎么从键盘上输入一串字符,将其逆向显示?
include <iostream>using namespace std;char mystr[1000];void nixing()\/\/\/逆序输出{int i;gets(mystr);\/\/输入字符串for(i=strlen(mystr)-1;i>=0;i--)cout<<mystr[i];}int main(){nixing();return 0;}

用JAVA编写一程序:从键盘输入多个字符串到程序中,并将它们按逆序输出在...
输出:Bejing to welcome 追答 import java.util.*;public class laji1 { public static void main(String[] args) { int n=100; Scanner scanner = new Scanner(System.in); System.out.print("请输入字符串: "); String yy = scanner.nextLine(); StringTokenizer fenxi1 = new StringTokenizer(yy,"...

编写一个程序,要求从键盘输入一个3位整数,然后将它们逆序输出。
十位:(number\/10)%10 个位:number%10 include<conio.h> include<stdio.h> void main(){ int number;printf("input number(100~999):");scanf("%d",&number);if(number>=100&&number<=999)printf("%d%d%d",number%10,(number\/10)%10,number\/100);else printf("Error Input(100~999)\\n...

C语言:编写一个程序实现从键盘接收一个字符串,并将这个字符逆序输出
改进一下 用字符数组实现,字符串长度有限制 include<conio.h> include<stdio.h> int main(void){ int i;int ch[128];for (i = 0; (ch[i] = getchar()) != '\\n'; i++);printf("\\n");for (; i >= 0; i--)printf("%c", ch[i]);getch();return 0;} 在 TC 上测试...

用C语言实现 从键盘输入一个一个以回车符结束的字符串,然后将其逆序输...
h> include <string.h> void main(){ int i, len;char temp;char buf[512] = { 0 };scanf("%s", buf);len = strlen(buf);for (i = 0; i < len\/2; i++){ temp = buf[i];buf[i] = buf[len - 1 - i];buf[len - 1 - i] = temp;} printf("%s", buf);} ...

从键盘上输入一个长度为十的数组,然后逆序输出(C语言编程)
\/ 从键盘上接收10个字符,按逆序输出 \/ include <stdio.h> include <conio.h> int main(int argc, char*argv[]){ char szInput[10] ="";int i =0;printf( "请输入10个字符:");gets( szInput);for( i =9; i >=0; --i){ putchar( szInput[i]);} printf( "\\n");return ...

编程从键盘输入一个三位数,将它们逆序输出。如输入123,输出321.谢谢...
void main(){int x,a,b,c;cin>>x;a=x\/100;b=x\/10%10;c=x%10;cout<<c*100+b*10+a<<endl;例如:include<stdio.h> int main(){ int a,b,c,t;scanf("%d",&a);b=a%10;c=(a-b)%100;t=a\/100;printf("b=%dc=%dt=%d",b,c,t);return 0;} ...

从键盘输入一个数如428,编程将其逆序数输出824 用c语言
1 输入到整型变量,然后,通过取出各个位值进行反序。include <stdio.h>int main(){ int v; scanf("%d",&v);\/\/输入值。 while(v) { printf("%d",v%10); v\/=10; }\/\/逆序输出每位的值。 return 0;} 2 将数字按照字符串输入,然后反序输出字符串。include <...

相似回答