Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

BATCH script to save DATE to a variable (Users)

posted by Rugxulo Homepage, Usono, 01.03.2025, 18:43

D.BAT

@echo off
if not exist %0 %0.bat
debug < %0
goto end
n d.com
rcx
a3
a 100
mov di,1a3
push di
call 10e
pop dx
mov ah,9
int 21
int 20
mov si,16a
mov ah,2a
int 21
xor ah,ah
mov bx,cx
add si,ax
add si,ax
add si,ax
movsw
movsb
mov al,20
stosb
mov al,dh
xor ah,ah
dec ax
mov si,17f
add si,ax
add si,ax
add si,ax
movsw
movsb
mov al,20
stosb
mov al,dl
mov cx,a
aam
xchg al,ah
or ax,3030
stosw
mov al,2c
stosb
mov ax,bx
mov bx,4
xor dx,dx
jmp short 152
xchg bx,cx
div cx
xchg ax,dx
or al,30
push ax
xor ax,ax
xchg ax,dx
xchg bx,cx
loop 150
mov cx,4
pop ax
stosb
loop 162
mov byte ptr [di],24
ret
db "SunMonTueWedThuFriSat"
db "JanFebMarAprMayJunJulAugSepOctNovDec"

w
q
:end


D2.BAT

@echo off
if not exist %0 %0.bat
debug < %0
goto end
n d.com
rcx
a3
e 100 BF A3 01 57 E8 07 00 5A B4 09 CD 21 CD 20 BE 6A
e 110 01 B4 2A CD 21 30 E4 89 CB 01 C6 01 C6 01 C6 A5
e 120 A4 B0 20 AA 88 F0 30 E4 48 BE 7F 01 01 C6 01 C6
e 130 01 C6 A5 A4 B0 20 AA 88 D0 B9 0A 00 D4 0A 86 E0
e 140 0D 30 30 AB B0 2C AA 89 D8 BB 04 00 31 D2 EB 02
e 150 87 CB F7 F1 92 0C 30 50 31 C0 92 87 CB E2 F1 B9
e 160 04 00 58 AA E2 FC C6 05 24 C3
a 16a
db "SunMonTueWedThuFriSat"
db "JanFebMarAprMayJunJulAugSepOctNovDec"

w
q
:end


D.ASM

; public domain
cpu 8086
org 100h

Komenco:
  mov di,printthis
  push di
  call date
  pop dx
  mov ah,9
  int 21h
Fino:
  int 20h

date:
  mov si,days
  mov ah,2Ah
  int 21h
.day_of_week:
  xor ah,ah
  mov bx,cx
  add si,ax
  add si,ax
  add si,ax
  movsw
  movsb
  mov al,' '
  stosb
.month:
  mov al,dh
  xor ah,ah
  dec ax
  mov si,months
  add si,ax
  add si,ax
  add si,ax
  movsw
  movsb
  mov al,' '
  stosb
.day_of_month:
  mov al,dl
  mov cx,10
  aam
  xchg ah,al
  or ax,'00'
  stosw
  mov al,','
  stosb
.year:
  mov ax,bx
  mov bx,4
  xor dx,dx
  jmp short .skip
.year_digit:
  xchg cx,bx
.skip:
  div cx
  xchg ax,dx
  or al,'0'
  push ax
  xor ax,ax
  xchg ax,dx
  xchg cx,bx
  loop .year_digit
  mov cx,4
.year_store:
  pop ax
  stosb
  loop .year_store
  mov byte [di],'$'
.ret:
  ret

days db 'SunMonTueWedThuFriSat'
months db 'JanFebMarAprMayJunJulAugSepOctNovDec'

section .bss align=1

printthis resb 16

---
Know your limits.h

 

Complete thread:

Back to the forum
Board view  Mix view
22477 Postings in 2087 Threads, 400 registered users, 119 users online (0 registered, 119 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum