汇编语言,输入一个字符,若是r就返回dos,若非r则在屏幕上显示该字符,在线等。

如题所述

cseg segment
assume cs:cseg,ds:cseg
buf db 100 dup(0) ;自定义的缓冲区
org 200h ;主程序起址
start: lea bx,buf ;缓冲区起始偏移址送bx
getK: mov ah,01h ;功能号
int 21h ;调用dos中断,读1个键入的字符
cmp al,'r'
Je finish ;若键入字符为r,返DOS
mov [BX],AL ;键入或转换的字符送缓冲区
inc bx ;缓冲区指针移动一个位置
jmp getk ;继续读键盘
finish: mov ah,4ch ;功能号
int 21h ;返回DOS
cseg ends
end start

;;将以上源程序编译链接生成的EXE,在DOS的Debug 中运行通过。
温馨提示:内容为网友见解,仅供参考
无其他回答

汇编语言 编程实现由键盘输入任意一个字符,将该字符的ASCII码值显示在...
C3: ADD AL,30H MOV DL,AL ;显示字符 MOV AH,02H INT 21H MOV AH,4CH ;返回DOS INT 21H CODE ENDS END START

编写一个完整的汇编语言程序,要求在屏幕上显示出字符串“Hello,Assembly...
datasegment msgdb'Hello,Assemblylanguage','$'dataends codesegment assumeds:data,cs:code mainprocfar movax,data movds,ax leadx,msg movah,9 int21h movax,4c00h int21h mainendp codeends endmain

汇编语言中 从屏幕上输出一个字符
1、打开软件,出现下图的界面,可以直接进行编程。2、汇编语言的数据需要存放在特定的数据端位置。如字符串“hello world!”,db代表的是一个字节(8位数据位)。3、$ 表示一个字符串的结束,字符串要用单引号括起来。在代码中相应位置输入如图中的代码。4、在中间代码编写区域输入下图中相应的代码,...

汇编语言,输入一个字符判断是否是数字字符
'9' ;判断读入的字符>'9' ja m0 lea dx, msg1 ;显示msg1 mov ah,9 int 21h jmp exit m0: lea dx, msg0 ;显示msg0 mov ah,9 int 21h exit: mov ah,4ch ;退出到dos int 21h cseg ends end start ...

如何用汇编语言在dos环境下显示中文
首先,dos必需支持中文显示 汇编语言通过调用控制台输出程序来将一个字符输出到显示区,比如要显示字符A就要传送字符A的ASCII码给显示程序,(这个显示程序是BIOS系统中的显示子程序,是个软中断调用)普通中文编码是两个特殊的ASCII码显示一个汉字,你得到要显示的汉字的两个ASCII码后,通过连续调用显示程序...

汇编语言用dos显示字符串出现这样的情况
不知你送了些什么数据到显示缓冲区去了,显示缓冲区起始地址在B000:8000,或者偷懒的话直接将段地址弄成B800,显示缓冲区的结构每一个字代表一个字符,这个字的低字节是字符的ASCII编码,高位字节是显示的色彩属性,如果你将一堆字符送人缓冲区,将显示属性的部分也当作字符,那么出来的结果就是你现在...

汇编语言程序设计题
15、 显示字符串可使用DOS 9号功能,它要求被显示的字符串最后一个字符必须是( ). A、& B、$ C、% D、@ 三、判断下列指令及伪指令是否正确(在括号中打“√”或“×”): 1、DIV 20H ( )2、XCHG BX,ES ( )3、CMP [BX],TABLE[SI] ( )4、IN AL,DX ( )5、MOV BYTE PTR[BX],25H ( )6...

汇编语言高手帮忙编一个大作业呀!江湖救急!
MOV AH,4CH ;返回dos状态 INT 21H DATE PROC NEAR ;显示日期子程序 DISPLAY:MOV AH,2AH ;取日期 INT 21H MOV SI,0 MOV AX,CX MOV BX,100 DIV BL MOV BL,AH CALL BCDASC1 ;日期数值转换成相应的ASCII码字符 MOV AL,BL CALL BCDASC1 INC SI MOV AL,DH CALL BCDASC1 ...

用8086汇编语言编写一个输入字符串的程序
AH, 9INT 21HJMP LOOP1LOOP3:; 判断 SHIFT 键MOV DL, ALCMP DL, 0EHJNE LOOP2MOV DX, OFFSET SPACESMOV AH, 9INT 21HJMP LOOP1LOOP2:; 判断 ESC 键MOV DL, ALCMP DL, 1BHJE EXIT; 显示字符MOV DL, ALMOV AH, 02HINT 21HJMP LOOP1EXIT:MOV AH, 4CHINT 21HCSEGENDSEND BEGIN ...

汇编语言问题,将一字符串复制到该字符串的后面,但我在DOS下调试不行...
1. 没有给后面添加字符留下数据空间,这样的程序是有风险的,有可能破坏别的段的数据或代码。你应当在你定义的字符串后面再加上一行:db 16 dup(?)2. 字符操作要逐字节处理,不能用按字(两个字节)处理。你应当将暂存数据的寄存器从AX改成AL, 同时SI每次加1而不要加2 修改后的程序如下(...

相似回答