Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: nameac am 05. May 2006, 14:02

Titel: erstellen einer com datei
Beitrag von: nameac am 05. May 2006, 14:02
tach, kann mir jemand sagen warum die fertige .com nicht den richtigen inhalt der variablen puffer anzeigt



.MODEL TINY

CODE_SEG SEGMENT

;ASSUME CS:CODE_SEG, DS:CODE_SEG

.STARTUP

                 ORG         100H

START: JMP M1

DATEN_SEG SEGMENT
 PUFFER          DB "ABCD.....",0
DATEN_SEG ENDS


M1:          CALL                          U_1
               MOV                           AH,4CH
               INT                            21H

U_1 PROC NEAR

                ;MOV                         AX,DATEN_SEG      
                ;MOV                         DS,AX

                MOV                         CX,9
                MOV                         SI,OFFSET PUFFER
ANZ: LODSB    
CALL ANZEIG_AL
LOOP ANZ

RET
U_1 ENDP

ANZEIG_AL PROC NEAR
MOV AH,0EH
MOV BX,0007H
INT 10H
RET
ANZEIG_AL ENDP
 
CODE_SEG ENDS
END   START
Titel: erstellen einer com datei
Beitrag von: BlackSun1102 am 05. May 2006, 14:46
Hi,

Ich kenn mich zwar nicht mit dem Syntax von TASM/MASM aus, aber eine Com darf nur ein Segment verwenden  :!:

Gruß Chris
Titel: erstellen einer com datei
Beitrag von: nameac am 05. May 2006, 18:39
ich glaube durch die schachtelung wird das als ein segment anerkannt zumindest assembliert es ohne fehler wie muss ich die denn sonst deklariere?
Titel: erstellen einer com datei
Beitrag von: Jidder am 05. May 2006, 19:01
Also ich kriegs weder mit MASM noch mit TASM assembliert. Welchen Assembler nutzt du genau?
Titel: erstellen einer com datei
Beitrag von: nameac am 05. May 2006, 19:17
das liegt bestimmt daran das du mit masm32 linker assemblierst du brauchst aber en 16 linker
Titel: erstellen einer com datei
Beitrag von: nameac am 05. May 2006, 20:07
könnte auch sein das beim rauskopieren und einfügen in einen editor irgend etwas schief gegangen ist
Titel: erstellen einer com datei
Beitrag von: bitmaster am 05. May 2006, 21:17
.model tiny

.code
org 100h

start:

;Code

end start


assemblieren: tasm name.asm (.asm kann weg gelassen werden)
linken: tlink /t name