欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-02 15:42:10
...
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
相关标签: 微机原理实验