输入一个字符串,字符串长度大于6,让黄灯长亮,否则一直闪烁

DATA SEGMENT
    BUF DB 30
        DB 0    ;可以看看书,这个地方是可以自动得到长度的
        DB 30 DUP(0)
DATA ENDS

CODE SEGMENT
  
  ASSUME CS:CODE,DS:DATA  
   DELAY PROC NEAR   ;延迟程序
    PUSH CX
    PUSH DI
    MOV CX,1000H
  Y1:MOV DI,1000H
  X1:DEC DI
     JNZ X1
     LOOP Y1
     POP DI
     POP CX
     RET
  DELAY ENDP

           
      START: LED:MOV AL,80H      ;设置输出方式,跟交通灯一样的
             MOV DX,28BH     ;28BH是控制字寄存器
             OUT DX,AL       ;初始化8255

      
             MOV AX,DATA       
             MOV DS,AX   
             LEA DX,BUF   ;输入字符串,系统功能调用,
             MOV AH,0AH
             INT 21H
             MOV AL,BUF+1  ;获得字符串长度
             
             CMP AL,6
             JA  SHAN
                 
             
  
  CHANG_LIANG: MOV AL,80H      ;这里的80H,跟上面的含义不一样,可以从LED灯的图片看出
               MOV DX,28AH     ;这个地方采用了C口方式输出,可以根据自己的需要改为别的方式
               OUT DX,AL       ;点亮黄灯
               CALL DELAY      ;使用延迟程序
               JMP CHANG_LIANG ;死循环,表示常亮
             
            

         
   SHAN:       MOV AL,80H      ;这里的80H,跟上面的含义不一样,可以从LED灯的图片看出
               MOV DX,28AH     ;这个地方采用了C口方式输出,可以根据自己的需要改为别的方式
               OUT DX,AL       ;点亮黄灯
               CALL DELAY      ;使用延迟程序
               MOV AL,00H      ;熄灭黄灯
               MOV DX,28AH     ;这个地方采用了C口方式输出,可以根据自己的需要改为别的方式
               OUT DX,AL       ;熄灭黄灯
               CALL DELAY      ;使用延迟程序
               LOOP SHAN        
        










CODE ENDS
END START
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值