Ⅰ 匯編語言高手:微機原理課程設計---顯示日期或時間
; 題目名稱:顯示系統日期和時間
; 題目來源:http://..com/question/130808124.html
; 程序特點:本程序未使用常規的BIOS中斷調用和DOS功能調用的方法接收按鍵,而是直接判斷鍵盤緩沖區的方法接收按鍵,
; 避免了在接收按鍵期間日期或時間停止顯示(不更新)的重要弊端,尤其是時間秒的更新,尤為明顯;對於顯示日期,只
; 有在午夜前幾秒進入顯示日期狀態,且不改變程序運行狀態的前提下,方能看出日期顯示的變更。
; 本程序在MASMPlus 1.2集成環境下通過編譯,經過調試,運行正確。
Code   Segment
   Assume  CS:Code,DS:Code
CR           equ   13
LF           equ   10
BiosDataSeg    equ   0040H  ; Bios data area segment
Buffer_Head    equ   001AH  ; Pointer to head of keyboard buffer
Buffer_Tail    equ   001CH  ; Pointer to tail of keyboard buffer
KB_BufferBeg   equ   001EH  ; head address of keyboard buffer
; -------------------------------------
; 功能:顯示指定地址(Str_Addr)的字元串
; 入口:
; Str_Addr=字元串地址(要求在數據段)
; 用法: Output Str_Addr
; 用法舉例:Output PromptStr
Output  MACRO Str_Addr
   push  ax
   lea  dx,Str_Addr
   mov  ah,9
   int  21h
   pop  ax
   EndM
; -------------------------------------
; 功能:取游標位置
; 入口:無
; 出口:DH=行號,DL=列號
GetCursor  Proc  Near
           PUSH  AX
           PUSH  BX
           XOR   BX,BX
           MOV   AH,3
           INT   10H
           MOV  cs:Cursor_Row,DH
           MOV  cs:Cursor_Col,DL
           POP   BX
           POP   AX
           RET
Cursor_Row DB  ?
Cursor_Col DB  ?
GetCursor  EndP
; -------------------------------------
; 功能:置游標位置
; 入口:Cursor_Row=行坐標; Cursor_Col: 列坐標)
SetCursor   Proc  Near
           PUSH  CX
           PUSH  BX
           PUSH  AX
           MOV   DH,cs:Cursor_Row
           MOV   DL,cs:Cursor_Col
           XOR   BX,BX
           MOV   AH,2
           INT   10H
           POP   AX
           POP   BX
           POP  CX
           RET
SetCursor  EndP
; -------------------------------------
; 功能:置游標屬性
SetCursor_Attr Proc  Near
           push  cx
           push  ax
           mov  cx,cs:Cursor_Attr
           mov  ch,cl
           or  ch,20h
           mov  ah,1 ;設置游標屬性
           int  10h
           pop  ax
           pop  cx
           ret
SetCursor_Attr EndP
; -------------------------------------
; 入口:AL=cmos內存埠號,DI=對應的ASCII碼保存地址
BCD_ASCII  Proc  Near ;將組合BCD碼轉換成對應的ASCII碼
   out  70h,al
   in  al,71h
   xor  ah,ah
   mov  cx,4
   shl  ax,cl
   shr  al,cl
   or  ax,3030h
   xchg  ah,al
   stosw ;保存對應的ASCII碼
   ret
BCD_ASCII  EndP
; -------------------------------------
; 顯示系統日期
Disp_Date  proc  Near
   call  SetCursor_Attr ;使游標不可見
   push  ds
   push  cs
   pop  ds
   mov  Status,'D' ;修改程序狀態為:顯示系統日期
   lea  di,@@Date ;日期字元串地址
   mov  al,32h ;日期的世紀數
   call  BCD_ASCII
   mov  al,9 ;年份
   call  BCD_ASCII
   inc  di
   mov  al,8 ;月份
   call  BCD_ASCII
   inc  di
   mov  al,7 ;日號
   call  BCD_ASCII
   mov  dx,Cursor_Sele
   add  dh,4
   xor  dl,dl
   mov  Cursor_Row,dh
   mov  Cursor_Col,dl
   call  SetCursor
   Output @@Date ;顯示系統日期
   pop  ds
   ret
Disp_Date  Endp
; -------------------------------------
; 顯示系統時間
Disp_Time  proc  Near
   call  SetCursor_Attr ;使游標不可見
   push  ds
   push  cs
   pop  ds
   mov  Status,'T' ;修改程序狀態為:顯示系統時間
   lea  di,@@Time ;時間字元串地址
   mov  al,4 ;時
   call  BCD_ASCII
   inc  di
   mov  al,2 ;分
   call  BCD_ASCII
   inc  di
   xor  al,al ;秒
   call  BCD_ASCII
   mov  dx,Cursor_Sele
   add  dh,6
   xor  dl,dl
   mov  Cursor_Row,dh
   mov  Cursor_Col,dl
   call  SetCursor
   Output @@Time ;顯示系統時間
   pop  ds
   ret
Disp_Time  Endp
; -------------------------------------
Prompt_Menu db  'Date',CR,LF
   db  'Time',CR,LF
   db  'Quit',CR,LF
   db  'Please select:$'
Status  db  '?' ;程序狀態標志
Cursor_Sele  dw  ? ;保存游標位置
Cursor_Attr  dw  ? ;保存游標屬性(大小、閃爍)
@@Date  db  '    /  /  $'
@@Time  db  '  :  :  $'
Press_Key   db     7,CR,LF,CR,LF,'The complated. Press any key to exit...$' ;操作完成按任意鍵結束程序提示信息
Start:    push  cs
   pop  ds
   push  cs
   pop  es ;使數據段、附加段與代碼段同段
   Output Prompt_Menu ;菜單地址
   call  GetCursor ;取游標位置
   mov  Cursor_Sele,dx
   mov  Cursor_Attr,cx
   mov  ax,BiosDataSeg ;Bios data area segment
   mov  ds,ax
   mov  si,Buffer_Head ; Pointer to head of keyboard buffer
   mov  WORD ptr [si],KB_BufferBeg ; head address of keyboard buffer
   mov  WORD ptr [si][2],KB_BufferBeg
@@Select:  mov  dx,cs:Cursor_Sele
   mov  cs:Cursor_Row,dh
   mov  cs:Cursor_Col,dl
   call  SetCursor ;置游標位置
Wait_Press: mov  cx,cs:Cursor_Attr ;取游標屬性
   mov  ah,1 ;設置游標屬性
   int  10h
   mov  si,Buffer_Tail
   mov  ax,[si]
   mov  si,Buffer_Head
   cmp  ax,WORD ptr [si]
   jz  Check_Status ;沒有按鍵,檢查程序狀態標志
   mov  si,[si] ;第一個未處理按鍵地址
   mov  ax,[si] ;讀取按鍵
   mov  si,Buffer_Head ; Pointer to head of keyboard buffer
   mov  WORD ptr [si],KB_BufferBeg ; head address of keyboard buffer
   mov  WORD ptr [si][2],KB_BufferBeg
   push  ax
   mov  dl,al
   mov  ah,2
   int  21h
   pop  ax
   and  al,0dfh ;轉換成大寫,使大小寫不敏感
   cmp  al,'Q'
   jz  Exit_Proc
   cmp  al,'D'
   jnz  $+7
   call  Disp_Date ;顯示系統日期
   jmp  @@Select
   cmp  al,'T'
   jnz  @@Select
   call  Disp_Time ;顯示系統時間
   jmp  @@Select
Check_Status: mov  al,cs:Status ;取程序狀態標志
   cmp  al,'?' ;尚未執行每個功能
   jz  Wait_Press ;等待按鍵
   cmp  al,'D' ;當前處於顯示系統日期狀態?
   jnz  $+7 ;不是
   call  Disp_Date
   jmp  @@Select ;等待按鍵
   cmp  al,'T' ;當前處於顯示系統時間狀態?
   jnz  $+5 ;不是
   call  Disp_Time
   jmp  @@Select ;等待按鍵
; -------------------------------------
Exit_Proc: push  cs
   pop  ds
   Output Press_Key ;提示操作完成,按任意鍵結束程序
   mov  ah,1
   int  21h
   mov  ah,4ch ;結束程序
   int  21h
Code   ENDS
   END   Start ;編譯到此結束
Ⅱ 專變的微機繼電保護動作時間一般設置多少
專變的微機繼電保護動作時間一般設置0.06~0.12s。根據繼電保護的要求詳解,斷路器動作時間一般的快速保護動作時間為0.06~0.12s。
Ⅲ 主板Bios怎麼設置時間
。。可以不進BIOS中,直接在系統的「控制面板/時間與日期」窗口中,修改時間日期即可。
Ⅳ 微機上的時間日期怎麼改
如果你想設置時間的話,運行開始菜單
附件裡面的命令提示符,輸入
TIME
然後把需要所在時間兩位兩位輸入,中間用冒號隔開
Ⅳ 使用微機的BIOS設定程序更改日期和時間。 那什麼是BIOS
一開機有有一個提示叫你按F2(或者其他什麼鍵)進入SETUP MENU。進去了就有設定BIOS時間的了。
Ⅵ 主板BIOS中日期時間如何設置
1、通常設置系統的時間和日期都在第一項中,比如有的是進入BIOS界面有選擇第一項STANDARD CMOS SETUP【標准CMOS設置】回車進入設置,有些就是直接在這里設置就好。
2、設置BIOS中各個項目的時候,通常要結合電腦鍵盤的方向鍵,以及Page up 或者Page down以及「+」「-」進行選擇,回車。
3、設置好日期和時間後,可以點擊SAVE & EXIT SETUP保存自己設置!大家在界面上可以找到EXIT或者保存的界面。
4、出現的窗口中點擊OK確定自己對BIOS的修改,當然大家也可以設置結束後按下鍵盤的F10保存自己的設置,這樣操作也是比較簡單和常見的。
Ⅶ kg316t微電腦時控開關如何調時間
用微機時間控制開關設定時間的方法和步驟。
工具/材料:微機時間控制開關。
1、首先按「取消/恢復」鍵解鎖屏幕。

注意事項:
1、KG316T微電腦時控作為一個時控,能夠使用定時開關是它最重要的功能,同時也是它的最好的表現,因此學好怎樣打開KG316T微電腦時控的定時開關,對於使用者來說非常重要。
2、其實要打開KG316T微電腦時控的定時開關非常的簡單,因為KG316T微電腦時控是一款微電腦設置,因此在很多地方還是表現得非常的人性化的。
