software:diy:assembler:cdrvnet
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
software:diy:assembler:cdrvnet [05/05/2006 13:05] – Bei diesem Artikel fehlt die Beschreibung des dargestellten Sourcecodes komplett. Bitte nachtragen pbk | software:diy:assembler:cdrvnet [07/06/2007 22:06] – micha | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Verzeichnisnummern zählen für Cardrive im Netzwerk ====== | ||
- | FIXME An dieser Stelle fehlt ein erklärender Text zum folgenden Sourcecode. Den möge der Autor bitte nachtragen um damit das Folgende besser erklären zu können. | ||
- | |||
- | <code asm> | ||
- | | ||
- | .code | ||
- | | ||
- | datum equ ´28.05.95´ | ||
- | ; | ||
- | ;df = 0; es:di = Vergleichsstring; | ||
- | ;ze gefunden, di = gefundene Pos. + 1 | ||
- | ;nz nicht gefunden, cx = 0, di = ende + 1 | ||
- | |||
- | |||
- | ; Makrodefinitionen | ||
- | ; Makro für den DOS-Aufruf | ||
- | | ||
- | mov AH,FunNr | ||
- | int 21h | ||
- | ENDM | ||
- | |||
- | ; --------------------------------------------------------- | ||
- | |||
- | ; Konstanten für DOS-Funktionen | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | ; Ende des Vereinbarungsteils | ||
- | ; --------------------------------------------------------- | ||
- | org 100h | ||
- | |||
- | | ||
- | mov ax,cs | ||
- | mov ds,ax | ||
- | MOV DX,OFFSET QuellDATEI | ||
- | MOV AL,2 ; R/W-Zugriff | ||
- | DOS OEFFNEN | ||
- | JNC LAB_10 | ||
- | mov dx,offset ErrorOeffn | ||
- | jmp ProgEnde | ||
- | |||
- | | ||
- | MOV cs: | ||
- | MOV CX,3 ; 3 Byte aus Quelldatei lesen | ||
- | MOV BX, | ||
- | MOV DX,OFFSET vnr ; Adresse des Lesepuffers | ||
- | DOS LESEN | ||
- | JNC LAB_11 | ||
- | mov dx,offset ErrorLes | ||
- | jmp ProgEnde | ||
- | |||
- | | ||
- | call vnrplus1 | ||
- | |||
- | ; | ||
- | MOV BX, | ||
- | MOV DX,0 | ||
- | MOV CX,0 ; auf Dateianfang | ||
- | mov ax,4200h | ||
- | int 21h ;DOS Zeiger verschieben | ||
- | JNC LAB_13 | ||
- | mov dx,offset ErrorSchr | ||
- | jmp ProgEnde | ||
- | | ||
- | ; | ||
- | MOV CX,3 ; 3 Byte schreiben | ||
- | MOV BX, | ||
- | MOV DX,OFFSET vnr ; Adresse des Schreibpuffers | ||
- | DOS schreiben | ||
- | JNC LAB_12 | ||
- | mov dx,offset ErrorSchr | ||
- | jmp ProgEnde | ||
- | |||
- | | ||
- | | ||
- | | ||
- | | ||
- | |||
- | | ||
- | mov si,dx | ||
- | ; | ||
- | dos beenden | ||
- | ; | ||
- | |||
- | | ||
- | |||
- | ; Datenbereich Dateiarbeit | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | ; | ||
- | | ||
- | | ||
- | | ||
- | |||
- | |||
- | |||
- | | ||
- | mov dx,cs | ||
- | mov ds,dx | ||
- | mov es,dx | ||
- | |||
- | mov al, | ||
- | call bytesuch | ||
- | mov al,[di] | ||
- | mov cs:vnrr,al | ||
- | cmp cl,1 ; | ||
- | jz | ||
- | ret | ||
- | |||
- | | ||
- | call bytesuch | ||
- | mov al,[di] | ||
- | mov cs:vnrm,al | ||
- | cmp cl,1 ; | ||
- | jz | ||
- | ret | ||
- | |||
- | | ||
- | call bytesuch | ||
- | mov al,[di] | ||
- | mov cs:vnrl,al | ||
- | ret | ||
- | |||
- | | ||
- | |||
- | | ||
- | lea di, | ||
- | mov cx,37 ;Anzahl | ||
- | cld | ||
- | | ||
- | jnz fehler1 | ||
- | | ||
- | ret | ||
- | | ||
- | |||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | end | ||
- | </ |
software/diy/assembler/cdrvnet.txt · Zuletzt geändert: 07/06/2007 00:06 (Externe Bearbeitung)