привет, у меня проблема с программой для дат. Я пытаюсь писать на ассемблере с помощью nasm, программа работает правильно, но когда я ее запускаю, она отображает мою дату вместе с иностранными символами, я думаю, это проблемасо стеком.Как я могу это исправить, пожалуйста, помогите мне: - (
это программа
org 100h
bits 16d
section .data
endProg db 0ah,0dh,"Program Terminated","$"
year db 0, 0, '\'
month db 0, 0, '\'
day db 0ah,0dh, 0
skipLine db 0ah,0dh
hour db 0,0, ':'
min db 0, 0, ':'
sec db 0, 0, ' '
section .bss
section .text
start:
call clear_screan
; get date
mov ah, 2ah
int 21h
; year
add cx, 0f830h
mov ax, cx
call convert
mov [year], ax
; month
mov al, dh
call convert
mov [month], ax
; day
mov al, dl
call convert
mov [day], ax
mov ax,skipLine
; get time
mov ah, 2ch
int 21h
; hour
mov al, ch
call convert
mov [hour], ax
; minute
mov al, cl
call convert
mov [min], ax
; second
mov al, dh
call convert
mov [sec], ax
pop ax
mov ax,skipLine
;display output
mov dx,year
mov ah,09h
int 21h
mov DX,endProg
mov AH,09h
int 21h
int 20h
;..................processes...........................
clear_screan:
mov AX,03h
int 10h
ret
convert:
push cx
xor ah, ah
mov cl, 10
div cl
add ax, 3030h
pop cx
ret