汇编:输入一个字符,将其ASCII码加1后输出
2010-06-03 14:37
393 查看
汇编:输入一个字符,将其ASCII码加1后输出
1.功能:用DOS 功能调用实现I/O;
2.目的:掌握在PC 机上利用DOS 功能调用实现简单输入输出的基本方法;
3.内容:利用DOS 功能调用从键盘输入一个字符,将其ASCII 码加1 后在屏幕上显示;按ESC 键后返回DOS。
1.功能:用DOS 功能调用实现I/O;
2.目的:掌握在PC 机上利用DOS 功能调用实现简单输入输出的基本方法;
3.内容:利用DOS 功能调用从键盘输入一个字符,将其ASCII 码加1 后在屏幕上显示;按ESC 键后返回DOS。
assume ds:data,cs:code data segment State db '**************************************************',0dh,0ah db '|| Print ASCII code+1 of any charactor ||',0dh,0ah db '|| By Zhong Dian #092978 ||',0dh,0ah db '|| (Input button "Esc" to exit) ||',0dh,0ah db '**************************************************',0dh,0ah,'$' ;已上是程序声明 Line1 db 'Please input a charactor:$' ;输出提示行 NextLine db 0dh,0ah,'$' ;输出换行 data ends code segment start: mov ax, data mov ds,ax lea dx,State ;输出声明 mov ah,09h int 21h ;---------------------------------------------------------------------------------- ;============================ 将字符的ASCII码加1后循环输出 ======================== Input: ;进入循环 lea dx,Line1 ;输入提示行 mov ah,09h int 21h mov ah,01h ;DOS 1号功能调用,输入一个字符并回显 int 21h and ax,00ffh ;AX高位清零,为取法做准备 inc ax ;ASCII码加1 mov cx,0 ;cx清零,输出余数时作为循环结束标志 push ax ;保存ax值,以调用09h中断输出换行 lea dx,NextLine ;换行 mov ah,09h int 21h pop ax ;返回ax值,转化为ASCII码输出 ;------------------------------ ;1.判断,输入是Esc就退出程序 mov bx,ax cmp bx,1ch jz Exit ;--------------------------------------------------------------------- ; 算法分析:字符在内存中是以二进制的ASCII码形式存放的,这里用除法来 ;实现二进制与十六进制的转换;余数存放在栈里,然后顺序出栈并输出,已达到 ;倒序输出余数的目的 ;--------------------------------------------------------------------- ;------------------------------ ;2.除法 Divide: sub dx,dx ;dx清零,余数压栈时它将作为媒介 cmp ax,10h ;与十六相比较 jl Last ;小于十六转入Last mov bx,10h ;16h做除数 div bx push dx ;存余数 inc cx ;计算存入栈的数据个数 jmp Divide Last: push ax ;保存最后的余数 inc cx ;------------------------------ ;输出 Output: pop dx ;余数出栈 add dx,30h ;加30H转为ASCII码 mov ah,2 ;DOS 2号功能,显示中的内容 int 21h loop Output ;循环,继续将余数出栈 lea dx,NextLine ;换行 mov ah,09h int 21h loop Input ;循环,继续输入字符 Exit: mov ax,4c00h ;回到DOS int 21h code ends end start
相关文章推荐
- 汇编语言 :从键盘输入一个单个字符,显示该字符的ASCII码,回车键退出循环,终止程序
- ASCII码的应用(.编写一个程序从标准输入读取字符,并把他们写到标准输出。除了大写字母转换成小写字母之外,其他的原样输出。)
- 输入一个字符,字母输出‘c’,数字输出本身,回车结束(8086汇编)
- 2.6 输入一个除空格以外的可见字符(保证在函数scanf中可使用格式说明符%c读入),输出其ASCII码。
- ACM 4描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。输入 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,
- 2.7 输入一个ASCII码,输出对应的字符。
- 请实现一个函数,把字符数组中的每个空格替换成“%20”。 例如输入“we are happy.”,则输出“we%20are%20happy.”。
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 编写一个程序完成下述功能:输入一个字符,输出它的ASCII值。
- 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
- 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
- 题目:输入一个字符数组,输出所有的排列。
- 华为:输入一个字符串,删除重复前面的字符,其余字符按原样顺序输出
- 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student
- 第二章作业51.4(编写一个程序,判断用户输入的字符是否为数字,若是数字,则输出“a numerical charater”,否则输出“other charater”。)
- 汇编语言编译的输入一段字符用9和10功能反序输出
- 编程实现由键盘输入一个字符后,在屏幕上输出该字符
- 编写一个程序从键盘输入字符,并按要求输出
- 汇编--学习笔记(八)-字符输入、输出(1号、2号、循环)
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b