software:diy:assembler:cdrvnet
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
software:diy:assembler:cdrvnet [07/06/2007 22:06] – micha | software:diy:assembler:cdrvnet [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Verzeichnisnummern zählen für Cardrive im Netzwerk ====== | ||
+ | Dieses Unterprogramm setzt den Inhalt der Seiten [[hilfe: | ||
+ | |||
+ | Mit einem ähnlichen Prinzip der " | ||
+ | |||
+ | Im Jahre 1995 war das VNRPLUS1-Modul der Zähler eines TSR-Programmes zur fortlaufenden Speicherung von Bildschirminhalten (s. ZielDatei) und ist deshalb in keiner Hochsprache geschrieben worden. In der vorliegenden Form wird die Ausgabe in die Datei LETZTVNR.TXT als eine Möglichkeit der Datenübergabe an andere Programme verwendet. | ||
+ | |||
+ | Heutzutage könnte mit MySQL der Kern dieser Zählfunktion beispielsweise wie folgt realisiert werden: | ||
+ | |||
+ | <code mysql> | ||
+ | SELECT CONV(`VNR`, | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== VNRplus1.exe ==== | ||
+ | |||
+ | <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 | ||
+ | </ |