8086 assembly language program to display current date Edit
A couple of months back someone had sent me a message on Facebook to help him write an assembly language program to display the current date. He was a beginner in 8086 and wanted the code at the earliest. I spend some time and quickly wrote this sample code. It could have been written in a much better way or even in a much simpler way, But this is the code I came up with at that time.
first, let me show you the code, and then I will give a detailed explanation.
8086 code to display the date
.model tiny .code org 100h main proc near mov ah,2ah int 21h push dx mov ax,cx mov si,offset year call hexToAsc pop dx push dx mov ah,00 mov al,dh mov si,offset month call hexToAsc pop dx push dx mov ah,00 mov al,dl mov si,offset day call hexToAsc pop dx mov ah,09h mov dx,offset messagecurrentdate int 21h mov ah,4ch mov al,00 int 21h messagecurrentdate db 0ah,0dh,"Current Date : " day db ' ' separator1 db '/' month db ' ' separator2 db '/' year db " $" endp hexToAsc proc near ;AX input , si point result storage addres mov cx,00h mov bx,0ah hexloop1: mov dx,0 div bx add dl,'0' push dx inc cx cmp ax,0ah jge hexloop1 add al,'0' mov [si],al hexloop2: pop ax inc si mov [si],al loop hexloop2 ret endp end main
Output
I am using emu8086 to run the code
Code explained in detail
Since this is 4beginner and since I know it's going to be students who are going to search for this code. I will break down the code into pieces and explain it step by step.