首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

帮忙看看这个程序,该如何解决

2012-02-17 
帮忙看看这个程序MODELSMALLCODECOMADDRDW3F8HCOMLCRDW3FBHCOMMCRDW3FCHCOMIERDW3F9HCOMLSRDW3FDHCONTRLDB

帮忙看看这个程序
MODEL   SMALL
CODE  
 
  COMADDR   DW   3F8H
  COMLCR   DW   3FBH
  COMMCR   DW   3FCH
  COMIER   DW   3F9H
  COMLSR   DW   3FDH
  CONTRL   DB   00H
 
 
  INTSEG   DW
  INTOFF   DW

  RCVBYT   DB  
 
  PUBLIC   _ZJCOMSET
  PUBLIC   _ZJCOMSND
  PUBLIC   _ZJCOMIST
  PUBLIC   _ZJCOMRCV
 
  _ZJCOMSET   PROC   NEAR
    MOV   DX,COMLCR
    MOV   AL,80H
    OUT   DX,AL
   
   
    MOV   DX,COMADDR
    MOV   AL,30H
    OUT   DX,AL
   
    INC   DX
    MOV   AL,00H
    OUT   DX,AL   /*设置波特率*/
   
    MOV   DX,COMLCR
    MOV   AL,03H
    OUT   DX,AL
   
    MOV   DX,COMMCR
    MOV   AL,00H
    OUT   DX,AL
     
    MOV   DX,COMIER
    MOV   AL,00H
    OUT   DX,AL
    RET
   
    _ZJCOMSET   ENDP
   
  _ZJCOMSND   PROC   NEAR
   
    PUSH   BP
    MOV   BP,SP
   
    L1:   MOV   DX,COMLSR
            IN   AL,DX
            AND   AL,20H
            SUB   AL,20H
           
            JNZ   L1
            MOV   DX,   COMADDR
            MOV   AL,[BP+4]
            OUT   DX,AL
            POP   BP
            RET  
    _ZJCOMSND   ENDP
       
       
        _ZJCOMIST   PROC   NEAR
        PUSH   DS
        PUSH   ES
       
        MOV   AL   ,0CH
        MOV   AH,35H
        INT   21H
        MOV   INTOFF   ,BX
        MOV   BX,ES
        MOV   INTSEG,BX
       
        CLI
        MOV   AL,0CH
        MOV   AH,25H
       
        MOV   DX,SEG   INTSEV
        MOV   DS,DX
        MOV   DX,OFFSET   INTSEV
        INT   21H
         
          POP   ES
          POP   DS
         


          MOV   DX,   COMMCR
          MOV   AL,08H
          OUT   DX,AL
          MOV   DX,   COMIER
          MOV   AL,01H
          OUT   DX,AL
         
          IN   AL,21H
          AND   AL,0EFH
          OUT   21H,AL
          STI
          RET
          _ZJCOMIST   ENDP
         
         
          _ZJCOMRCV   PROC   NEAR
          STI
          LW:MOV   AL,CONTRL
                SUB   AL,01H
                JNZ   LW
               
                MOV   CONTRL   ,00H
                MOV   AL,RCVBYT
               
                CLI
                RET  
               
                _ZJCOMRCV   ENDP
               
                INTSEV   PROC   NEAR
                PUSH   CX
                PUSH   DX
                PUSH   SI
                PUSH   DI
                PUSH   DS
                PUSH   ES
               
                STI
                MOV   CONTRL,01H
                MOV   DX,3F8
                IN   AL,DX
                MOV   RCVBYT   ,AL
                CLI
                POP   ES
                POP   DS
                POP   SI
                POP   DX
                POP   CX
               
                MOV   AL   ,21H
                OUT   20H,AL
                IRET
                INTSEV   ENDP
                END


这个程序还要怎么修改   才能让它能够编绎成功

[解决办法]
; 这个 ....
.MODEL SMALL
.CODE
...
INTSEG DW ?
INTOFF DW ?

RCVBYT DB ?
...
OUT DX,AL ; /*设置波特率*/
...

热点排行