汇编练习四

练习:缓冲区使用

    DATAS SEGMENT  
    STR   DB 'Please input a string:$'  
     buffer db 60;定义缓冲区长度
            db 0 ;预留实际输入字符个数的技术单元
           db 60 dup(0);设DS已是buffer的段基址      
     CRLF  DB 0AH,0DH,'$'    ;也不能直接显示
    DATAS ENDS  
      
    STACKS SEGMENT  
    DB 200 DUP(0)  
    STACKS ENDS  
      
    CODES SEGMENT  
    ASSUME CS:CODES,DS:DATAS,SS:STACKS  
    START:  
    MOV AX,DATAS            ;放数据到ds段  
    MOV DS,AX  
      
    LEA DX,STR               ;输入字符串的值,ah=9 显示输入字符串str  
    MOV AH,9  
    INT 21H  
      
    MOV AH,10    ;10号中断,接收输入字符串,此时DX为存放字符串的有效地址  
    LEA DX,buffer  
    INT 21H  
      
 
    LEA DX,CRLF            ;作为换行功能
    MOV AH,9
    INT 21H      
    
    MOV AL,buffer+1     ;;获取字符串中字符的个数  
    ADD AL,2  
    MOV AH,0  
    MOV SI,AX  
    MOV buffer[SI],24H       ;24h='&';  
    LEA DX,buffer+2  
    MOV AH,9  
    INT 21H     
    

      
      
    MOV AH,4CH  
    INT 21H  
    CODES ENDS  
    END START  


MOV AL,BUF+1     ;;获取字符串中字符的个数
ADD AL,2
MOV AH,0
MOV SI,AX
MOV BUF[SI],24H       ;24h='&';
LEA DX,BUF+2
MOV AH,9
INT 21H


MOV AH,4CH
INT 21H
CODES ENDS
END START


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路途…

点滴记录

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值