微机原理——DOS功能调用以及常用字符串操作

DOS功能调用

  • 考试范围
    • 1、2、9、0AH、4CH号功能调用
  • 1号功能调用:用于从键盘中输入一个字符,注意,输入字符值为ASCII码
    MOV AH,1
    INT 21H
    ASCII值被保存在AL寄存器中,请务必注意保护数据,笔者吃过亏。
  • 2号功能调用:用于在显示器上显示一个字符
    MOV DL,待显示字符的ASCII码
    MOV AH,9
    INT 21H
  • 9号功能调用:输出字符串
    MOV DX,待显示字符串的首偏移地址
    MOV AH,9
    INT 21H
    注意,该字符串必须以美元结尾。如果,中间有,需要逐个输出。
  • 10号功能调用:输入字符串
    MOV DX,数据区的首偏移地址
    MOV AH,10
    INT 21H
  • 4CH号功能调用:返回DOS
    MOV AH,4CH
    INT 21H

代码展示:

DATA SEGMENT
    INPUT  DB  "Please input a string: ",'$'
    OUTPUT DB  "Your input is: ",'$'
    BUF1 DB 20
    STR1 DB ?
            DB 20 DUP(0)
    BUF2 DB 20
    STR2 DB ?
             DB 20 DUP(0)
    STR3 DB 'MATCH$'
    STR4 DB 'NO MATCH$'
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
    STA:MOV AX,DATA
           MOV DS,AX
           LEA DX, INPUT
           MOV AH, 09H							 
           INT 21H

           MOV AH, 0AH
           LEA DX,BUF1                           ;接收STRING1
           INT 21H

           MOV DL, 0AH                               ;另取一行                   
           MOV AH, 2							 
           INT 21H
 
           LEA DX, INPUT
           MOV AH, 09H							 
           INT 21H

           MOV AH, 0AH
           LEA DX,BUF2                           ;接收STRING2
           INT 21H


           MOV DL, 0AH                               ;另取一行                   
           MOV AH, 2							 
           INT 21H

           LEA SI,STR1+1
           LEA DI,STR2+1
           MOV AL,[STR1]
           CMP AL,[STR2]
           JNE AA
           MOV CL,AL
           INC CL
           MOV CH,0
           CLD
           LOOP BB
           MOV AH, 4CH                          ;返回DOS系统
           INT 21H

AA:     LEA DX,STR4
           MOV AH,09H
           INT 21H
           MOV AH, 4CH                          ;返回DOS系统
           INT 21H

BB:      MOV AL,[SI]
           CMP AL,[DI]
           JNE AA
           INC SI
           INC DI
           CMP CX,1
           JE CC
           LOOP BB
           MOV AH, 4CH                          ;返回DOS系统
           INT 21H

CC:      LEA DX,STR3
           MOV AH,09H
           INT 21H
           MOV AH, 4CH                          ;返回DOS系统
           INT 21H

CODE  ENDS                                  
END STA

  • 15
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值