1. Заголовок или название темы должно быть информативным 2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE] 3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора. 5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM! 6. Проверяйте программы перед тем, как выложить их на форум!!
Работа с Bios, Вывод на экран системного времени и даты из Bios.
Всем привет. Программа должна выводить системное время и дату на экран большими буквами...все работает кроме символа " : " находящегося между минутами и секундами, этот символ должен мигать а он у мя не мигает..( помогите пожалуйста разобраться что не так..(
DATASG SEGMENT 'DATA' NUMBERS LABEL BYTE DB 7CH, 0C6H, 0CEH, 0DEH, 0F6H, 0E6H, 7CH, 00 ;0 КОД 0
DB 30H, 70H, 30H, 30H, 30H, 30H, 0FCH, 00 ;1 КОД 1
DB 78H, 0CCH, 0CH, 38H, 60H, 0CCH, 0FCH, 00 ;2 КОД 2
DB 78H, 0CCH, 0CH, 38H, 0CH, 0CCH, 78H, 00 ;3 КОД 3
DB 1CH, 3CH, 6CH, 0CCH, 0FEH, 0CH, 1EH, 00 ;4 КОД 4
DB 0FCH, 0C0H, 0F8H, 0CH, 0CH, 0CCH, 78H, 00 ;5 КОД 5
DB 38H, 60H, 0C0H, 0F8H, 0CCH, 0CCH, 78H, 00 ;6 КОД 6
DB 0FCH, 0CCH, 0CH, 18H, 30H, 30H, 30H, 00 ;7 КОД 7
DB 78H, 0CCH, 0CCH, 78H, 0CCH, 0CCH, 78H, 00 ;8 КОД 8
DB 78H, 0CCH, 0CCH, 7CH, 0CH, 18H, 70H, 00 ;9 КОД 9
DB 00, 30H, 30H, 00, 00, 30H, 30H, 00 ;: КОД А
DB 06, 0CH, 18H, 30H, 60H, 0C0H, 80H, 00 ;/ КОД В
DELT EQU 9 DATASG ENDS
STACKSG SEGMENT STACK 'STACK' DB 100H DUP(?) STACKSG ENDS
ADD BX, 8 POP DX XOR AH, AH MOV AL, DH DIV CL CALL PRINT
ADD BX, 8 MOV AL, AH CALL PRINT
ADD BX, 8 MOV AX, 0BH CALL PRINT
ADD BX, 8 XOR AH, AH MOV AL, DL DIV CL CALL PRINT
ADD BX, 8 MOV AL, AH CALL PRINT
POP DX POP CX POP BX POP AX POPF RET DATAPRT ENDP
BEGIN: MAIN PROC CALL CLS
GET_KEY: MOV AH,0 ;номер функции для "чтения" INT 1AH ;получаем значение счетчика ADD DX, DELT ;добавляем время задержки к младшему слову MOV BX,DX ;запоминаем требуемое значение в BX
DCCL: INT 1AH ;получаем значение счетчика CMP DX,BX ;сравниваем с искомым JB DCCL ;если не равен, то повторяем снова