Fiba Опубликовано 22 декабря, 2011 Жалоба Опубликовано 22 декабря, 2011 (Тему можно закрыть)Пожалуйста помогите написать вывод по лаб. работе "Считывание часов реального времени"Препод ппц!!!Программа реализуется 2 способами: с помощью прерываний и с помощью портов!!!Не могу написать достойный вывод. Препод требует вывод по прерыванию и по портам!!!код проги:Program lab1;uses crt;function f1(b:byte):string; {функция для перевода из 16-ричной системы в 10-тичную}var l1,l2: string;beginstr(b div 16, l1);str(b mod 16, l2);f1:=l1+l2;end;var a,a1,a2: byte;h,m,s,d,mn,g,dd: string; {h-chasi, m-minuti, s-sekundi, d-den' nedeli, mn-mesyac, g-god, dd-den'}beginwhile not keypressed do {poka ne najata klavisha vipolnyat'} begin clrscr; {ochistka ekrana} writeln(' Laboratornaj rabota # 1'); writeln('Vyvodit dannye o RTC'); writeln('Vypolnil: Burdejnyj Anatolij Gr 628'); writeln; writeln('Cherez porty'); port[$70]:=4; {часы} a:=port[$71]; h:=f1(a); port[$70]:=2; {минуты} a:=port[$71]; m:=f1(a); port[$70]:=0; {секунды} a:=port[$71]; s:=f1(a); port[$70]:=6; {дни недели} a:=port[$71]; d:=f1(a); port[$70]:=7; {день} a:=port[$71]; dd:=f1(a); port[$70]:=9; {год} a:=port[$71]; g:=f1(a); port[$70]:=8; {месяц} a:=port[$71]; mn:=f1(a); write ('Vremia: '); write(h,':',m,':',s); case d[2] of '1': writeln(' voskr'); '2': writeln(' poned'); '3': writeln(' vtornik'); '4': writeln(' sreda'); '5': writeln(' chetverg'); '6': writeln(' paetnica'); '7': writeln(' sybbota'); end; writeln('data: ',dd, '.',mn,'.',g); writeln; writeln('Cherez preryvania BIOS'); asm {часы, минуты, секунды} mov ah,02h int 1AH mov a, ch mov a1,cl mov a2,dh end; h:=f1(a); m:=f1(a1); s:=f1(a2); write('Vremia: '); writeln(' ',h, ':',m,':',s); asm {день, месяц, год} mov ah,04h int 1AH mov a,dl mov a1,dh mov a2,cl end; d:=f1(a); mn:=f1(a1); g:=f1(a2); write('data: '); writeln(d,'.',mn,'.',g); delay(10000); end; readkey; end.
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти