title image


Smiley Re: Assembler-Programmierung
Hallo,



vielen Dank für deine Antwort!

Allerdings konnte ich das Programm nun doch selbst fertig schreiben:





.MODEL SMALL

.STACK 100h



.DATA

ZEIT DB 3 DUP (?)

TEXT_AUSGABE LABEL BYTE

DB 'Die Datei ',??FileName,'.asm wurde am '

Y DB 'yy.'

DB ' Maerz assembliert.', 13, 10

DB 'Es ist jetzt '

UHR DB '00:00:00 Uhr $'

DATUM DB ??Date



.CODE

Start: mov ax, @data

mov ds, ax



mov ax, WORD PTR DATUM

mov WORD PTR Y, ax



mov ah, 2Ch

int 21h



mov [ZEIT], ch

mov [ZEIT+1], cl

mov [ZEIT+2], dh



mov dl, 10 ; Divisor

mov cx, 0 ; Zähler initialisieren

mov bx, OFFSET ZEIT ; Zeiger auf ZEIT



M1: mov ah, 0 ; ah auf 0 setzen!

mov al, [bx]

div dl ; von Hex in Dez umrechnen

inc bx ; Zeiger erhöhen



add ax, 3030h ; in ASCII umwandeln



mov si, OFFSET UHR ; Zeiger auf UHR

mov [si], al ; Ergebnis dahin, worauf Zeiger zeigt

inc si ; Zeiger erhöhen

mov [si], ah ; Rest in diese Stelle



inc si ; Zeiger auf Stelle

inc si ; nach Doppelpunkt



inc cx ; Zähler erhöhen

cmp cx, 3 ; alles eingetragen?

jne M1



mov dx, OFFSET TEXT_AUSGABE

mov ah, 9

int 21h



mov ax, 4C00h

int 21h

END Start





So müsste es schon funktionieren, oder?

Ich weiß das nicht sicher, weil meine Assembler-Version die vordefinierten Symbole "??FileName" und "??Date" nicht erkennt (es wird immer was in der Art "Kann nicht assembliert werden, da undefiniertes Symbol ??FileName" usw. ausgegeben).

In der Hochschule würde das klappen (wo ich allerdings jetzt nicht bin).



Das Unterprogramm von deinem Programm kommt auch noch nicht zur Anwendung, da wir dies noch nicht dran hatten (kommt, glaub ich, später). Also nur ganz einfache Befehle und einen Zyklus, damit man die Division nicht dreimal schreiben muss.



MfG Susann

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: