标题: 单片机加法运算为什么五个字节加完了,才根据进位标志,跳转? [打印本页]

作者: casanava    时间: 2018-4-16 16:58
标题: 单片机加法运算为什么五个字节加完了,才根据进位标志,跳转?
       先上图,

微信图片_20180416165513.jpg (109.86 KB, 下载次数: 82)

流程

流程

作者: casanava    时间: 2018-4-16 16:58
DATA  SEGMENT
    DATA1   DB   34H,35H,39H,38H,36H,' '  
    DATA2   DB     37H,34H,33H,36H,32H,' '  
DATA  ENDS
CODE  SEGMENT
     MAIN  PROC  FAR
     ASSUME  CS:CODE,DS:DATA
     START:  MOV  AX,DATA
       MOV  DS,AX
      LEA    SI,DATA1      
      CALL  DISPLAY        
      CALL  CRLF        
      LEA    SI,DATA2
      CALL  DISPLAY        
      CALL  CRLF        
      LEA    DI,DATA1
      MOV  AX,0                        
      MOV  BX,0                          
      MOV  CL,05H        
     ADDS: MOV  AL,[SI]                  
      SUB    AL,30H                        
      ADD  AL,BL                              
      MOV  BL,[DI]                        
      SUB    BL,30H                        
      ADD  AL,BL                        
      ADD  AL,30H                        
      CMP  AL,3AH                        
      JA    SUBA      
      JB    NSUBA                        
     SUBA:  SUB    AL,0AH        
               MOV  BL,01H                        
      JMP    CONTINUE                        
    NSUBA:  MOV  BL,00H                        
  CONTINUE:MOV  [DI],AL         
        INC    DI                        
        INC    SI                        
      LOOP  ADDS                        
      JC    SHUCHU                        
      JNC    SHUCHU2                        
   SHUCHU2: MOV  AL,31H        
   JMP    CONTINUE2                        
    SHUCHU:MOV  AL,30H                    
CONTINUE2:MOV  [DI],AL                        
       LEA    SI,DATA1   
           CALL  DISPLAY      
           MOV  AX,4C00H      
           INT  21H                        
MAIN    ENDP  
                     
CRLF    PROC  NEAR        
      MOV  DL,0DH                        
      MOV  AH,02H   
          INT    21H     
          MOV  DL,0AH                        
      MOV  AH,02H      
          INT    21H                        
      RET                                               
CRLF    ENDP
DISPLAY    PROC    NEAR         
         MOV  BX,0006H                           
     DSL:  MOV  DL,[SI+BX-1]      
           MOV  AH,02                                               
           INT    21H         
           DEC  BX           
           JNZ    DSL                                                  
           RET                                                         
DISPLAY    ENDP
CODE  ENDS
    END  START
为什么五个字节加完了,才根据进位标志,跳转?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1