.MODEL Small ;EXE Datei
.286 ;wegen pusha u. popa s.u.!
.STACK 100h
.DATA
Puffer1 DB 6 DUP (?) ;Puffer für das Resultat
.CODE
mov ax,@data ;DS initialisieren
mov ds,ax
mov ax,1234 ;Diese Zahl ausgeben
call Ausgabe ;Proz. aufrufen
mov ah,4Ch
int 21h ;Programm beenden!
Ausgabe PROC NEAR ;Ausgabeprozedur
pusha ;Register sichern
xor cx,cx ;CX=0=Zeichenzähler
mov di,OFFSET Puffer1+6 ;DI an Pufferende
mov bx,10 ;Nachher durch 10 dividieren
Loop1: xor dx,dx ;DX=0
div bx ;AX/10, Rest in DX bzw. DL
add dl,30h ;DL nach ASCII
dec di ;DI-1
mov [di],dl ;ASCII Ziffer in Puffer
inc cx ;CX+1
cmp ax,0 ;Ist AX=0 ?
jne Loop1 ;Springe wenn nein
mov ah,40h ;Funktionsnummer
mov bx,1 ;Handle-Nummer
mov dx,di ;DS:DX auf String!
int 21h ;ASCII-Zahl ausgeben!
popa ;Register wiederherstellen
ret ;und zurück!
Ausgabe ENDP ;Ende Prozedur
END ;Ende Programm
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|