80x86汇编语言编程:键入、过滤与显示

从键盘接受一个字符串,字符串最大长度20。

将输入字符串的数字字符删去处理后,在新一行显示。


题目链接:http://zhidao.baidu.com/question/567245908.html


2013-07-05 18:07 提问者采纳


DATAS SEGMENT

    IN_N  DB  21, ?, 21 DUP(?) ;含回车,共 21 字节

DATAS ENDS


CODES SEGMENT

    ASSUME CS:CODES, DS:DATAS

START:

    MOV   AX, DATAS

    MOV   DS, AX

;---------------------------  

    LEA   DX, IN_N

    MOV   AH, 10

    INT   21H


    MOV   AH, 2

    LEA   BX, IN_N

    MOV   CL, IN_N + 1            ;输入字符的个数

    CMP   CL, 0

    JZ    EXIT        ;零个,就结束程序


    MOV   CH, 0

    ADD   CX, 2           ;添上两个字符


    MOV   [BX], WORD PTR 0D0AH ;即回车换行符


LP1:CMP   [BX], BYTE PTR '9'

    JA    DISP

    CMP   [BX], BYTE PTR '0'

    JB    DISP

    JMP   LP2

DISP:MOV   DL, [BX]       ;显示

    INT   21H

LP2:INC   BX

    LOOP  LP1             ;循环

;---------------------------  

EXIT:   

    MOV   AH, 4CH

    INT   21H

CODES  ENDS

    END  START


已经实验成功。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值