Hali!
Van valakinek tapasztalata assemby-ben, a modem mukodteteserol? Jelenleg
ott tartok, hogy kepes vagyok kikuldeni a modemre az AT parancsokat; amely
azt vegre is hajtja. (A 02E8h cimen keresztul, es itt jon vissza az echo
is.) Amde szeretnek adatokat kuldeni/fogadni, itt elakadtam. A programom:
inicializálja a modemet tarcsaz ossze is koszon a masik modemmel connect
(ha a masik modem egy BBS kozpontot szolgal ki) tudok karaktereket
atkuldeni a BBS-nek () de nem tudok kuldeni/fogadni (x/z modem protocolok
leirasa megvan) csak nem ertem :( Mit hol kell melyiken? ;)
(Koszike)
hukepi
program:
DOSSEG
.MODEL LARGE
.stack 4096
.DATA
M_AT DB 'ATDT165',13
M_Z DB 'ATZ',13
M_ATH DB 'ATH',13
M_INI db 'ATE&F&C1&D2',13
M_BBS1 DB 'D',13
M_BBS2 DB 'Z',13
M_BBS3 DB 'K*.*',13
M_BBS4 DB 'N',13
M_BBS5 DB 'Q',13
M_BBS6 DB 'RECVFILE("C:\MOD\K*.*", "Zmodem",
0);',13 ;:)
M_HU DB '+++\900\900\900\900ATHS0=0&C1',13
.CODE
.386
CLEAR_KBUFFER PROC
MOV AH,0Ch
MOV AL,0
INT 21h
RET
CLEAR_KBUFFER ENDP
B_VARO PROC
COCO12:
MOV AH,01
INT 16h
JZ COCO12
RET
B_VARO ENDP
MODEM PROC ;a modem elerese 02E8h cimen
MOV AX,DGROUP
MOV DS,AX
MOV BX,0
MOV CX,12
CIKKANAT:
MOV DX,02E8h
MOV AL,M_INI[BX] ;modem inicializalasa
OUT DX,AL
INC BX
LOOP CIKKANAT
CALL B_VARO
CALL CLEAR_KBUFFER
MOV BX,0
MOV CX,8
CIKKANAT3:
MOV DX,02E8h
MOV AL,M_AT[BX] ;modem tarcsaz
OUT DX,AL
INC BX
LOOP CIKKANAT3
CALL B_VARO
CALL CLEAR_KBUFFER
;----------------------------HGSTART BBS COMMAND
MOV BX,0
MOV CX,2
BBC1:
MOV DX,02E8h
MOV AL,M_BBS1[BX] ;modem BBS command 1
OUT DX,AL
INC BX
LOOP BBC1
CALL B_VARO
CALL CLEAR_KBUFFER
MOV BX,0
MOV CX,2
BBC2:
MOV DX,02E8h
MOV AL,M_BBS2[BX] ;modem BBS command2
OUT DX,AL
INC BX
LOOP BBC2
CALL B_VARO
CALL CLEAR_KBUFFER
MOV BX,0
MOV CX,5
BBC3:
MOV DX,02E8h
MOV AL,M_BBS3[BX] ;modem BBS command3
OUT DX,AL
INC BX
LOOP BBC3
CALL B_VARO
CALL CLEAR_KBUFFER
MOV BX,0
MOV CX,2
BBC4:
MOV DX,02E8h
MOV AL,M_BBS4[BX] ;modem BBS command4
OUT DX,AL
INC BX
LOOP BBC4
CALL B_VARO
CALL CLEAR_KBUFFER
MOV BX,0
MOV CX,46
BBC6:
MOV DX,02E8h
MOV AL,M_BBS6[BX] ;modem BBS command6
OUT DX,AL
INC BX
LOOP BBC6
CALL B_VARO
CALL CLEAR_KBUFFER
MOV BX,0
MOV CX,2
BBC5:
MOV DX,02E8h
MOV AL,M_BBS5[BX] ;modem BBS command5
OUT DX,AL
INC BX
LOOP BBC5
CALL B_VARO
CALL CLEAR_KBUFFER
;---------------------------- BBS COMMAND END
MOV BX,0
MOV CX,30
CIKKANAT2:
MOV DX,02E8h
MOV AL,M_HU[BX] ;modem Hang Up
OUT DX,AL
INC BX
LOOP CIKKANAT2
RET
MODEM ENDP
KIADOSBA PROC
MOV AH,4Ch
INT 21h
KIADOSBA ENDP
PROGRAM PROC
CALL MODEM
call b_varo
call clear_kbuffer
CALL KIADOSBA
PROGRAM ENDP
END PROGRAM
> ----------------------------------------------------vege----end-------fine---
|