汇编语言实现字符串的输入,输出

1.了解INT 21H09H号中断调用(输出字符串)

①  LEA DX,字符串的开头      或        MOV DX,OFFSET字符串的开头 

②  MOV AH,09H

③  INT 21H

2.在定义字符串的时候要在末尾加上'$'作为字符串的结束标志。

3.了解INT 21H0AH号中断调用(输入字符串)

①  LEA DX,字符串的开头      或        MOV DX,OFFSET字符串的开头 

②  MOV AH,0AH

③  INT 21H

4.在定义内存空间存储字符串时,类似于定义C语言的数组

5.源代码:

DATA   SEGMENT                               
INPUT  DB  "Please input a string: ",'$'
OUTPUT DB  "Your input is: ",'$'
BUFFER DB  20				    ;预定义20字节的空间
       DB  ?				    ;待输入完成后,自动获得输入的字符个数
       DB  20  DUP(0)    
CRLF   DB  0AH, 0DH,'$'                   
DATA   ENDS                                  
STACK  SEGMENT   STACK                       
       DW  20  DUP(0)                      
STACK  ENDS                                  
CODE   SEGMENT                              
ASSUME CS:CODE, DS:DATA, SS:STACK            
START:                                       
        MOV AX, DATA                         
        MOV DS, AX                      
        LEA DX, INPUT                        ;打印提示输入信息    
        MOV AH, 09H							 
        INT 21H
        LEA DX,BUFFER                        ;接收字符串
        MOV AH, 0AH
        INT 21H
        MOV AL, BUFFER+1                     ;对字符串进行处理
        ADD AL, 2
        MOV AH, 0
        MOV SI, AX
        MOV BUFFER[SI], '$'
        LEA DX, CRLF                         ;另取一行                   
        MOV AH, 09H							 
        INT 21H
        LEA DX, OUTPUT                       ;打印提示输出信息
        MOV AH, 09H							 
        INT 21H
        LEA DX, BUFFER+2                     ;输出输入的字符串
        MOV AH, 09H							 
        INT 21H
        LEA DX, CRLF                         ;另取一行                  
        MOV AH, 09H							 
        INT 21H

        MOV AH, 4CH                          ;返回DOS系统
        INT 21H
CODE   ENDS                                  
END    START                                 
                     

6.程序输出

output.asm

7.有趣的是在汇编语言中字符串输入的结束是以回车键,空格键不起结束作用。

 

 

  • 95
    点赞
  • 403
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值