RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [其他] [其它]使用組合語言INT21H 的2AH功能顯示出時間   字型大小:||| 
  本主題被作者加入到他/她的 Blog 中  
h80053
銀驢友〔中級〕
等級: 13等級: 13等級: 13等級: 13


十週年紀念徽章(五級)  

 . 積分: 720
 . 精華: 1
 . 文章: 2053
 . 收花: 5801 支
 . 送花: 8430 支
 . 比例: 1.45
 . 在線: 2473 小時
 . 瀏覽: 17320 頁
 . 註冊: 7393
 . 失蹤: 291
 . 台中
#1 : 2007-5-22 06:42 PM     全部回覆 引言回覆

首先先介紹一下他的功能:

INT 21H 的 2AH 功能執行之後

會把年 1980~2099 以 16 進制的碼 , 儲存於 CX , DH=月(1~12) , DL=日(1~31)

我本來是想用迴圈去寫,但是我寫不出來@@.
問了同學後我沒有用迴圈去做.

我們不用想也知道,今年一定是2007年.所以做出來的值一定要2007才正確.
但電腦上面顯示的是16位元的碼,所以要先除成10進位的碼我們才看的清楚.

先用小算盤的值給大家看
1.現在小算盤顯示的值為2007(10進制)

2.現在為2007的16進制

3.前面說過要讓16進制除10才會變成10進制以下為結果


除法必須要用16位元的除法器下去除.因為2007>255.
2^8=255所以用8位元除法是不夠的.
接著要把餘數提出來,餘數是我們要的.(剛剛小算盤沒有顯示餘數出來,但是以存到DX中)

===========以下為程式 PS:我現在只有做到顯示年份
.model small
.data
buffer word 10,?,10dup(?)
ccc    byte 10,?,10dup(?)

STRING  BYTE         "***************************************",10,13
        BYTE    " NOW                  TIME                  IS        ",10,13                               
        BYTE    "***************************************",10,13,"$"
.code
.startup


.STARTUP       
        MOV DX,OFFSET STRING
        MOV AH,09       
        INT 21H       

mov ah,2ah
int 21h

;=======
mov dx,0
mov ax,cx
mov bX,10
div bX

add dx,30h
mov dh,0
mov ccc[1],dl


mov dx,0
mov cx,ax
mov ax,cx
mov bx,10
div bx

add dx,30h
mov dh,0
mov ccc[2],dl


mov dx,0
mov cx,ax
mov ax,cx
mov bx,10
div bx

add dx,30h
mov dh,0
mov ccc[3],dl

mov dx,0
mov cx,ax
mov ax,cx
mov bx,10
div bx

add dx,30h
mov dh,0
mov ccc[4],dl

mov  dl,ccc[4]
mov  ah,02
int  21h
mov  dl,ccc[3]
mov  ah,02
int  21h
mov  dl,ccc[2]
mov  ah,02
int  21h
mov  dl,ccc[1]
mov  ah,02
int  21h
;========



.exit
.stack
end

=========

等等在補齊


相關關鍵字: 組合語言  






[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
h80053
銀驢友〔中級〕
等級: 13等級: 13等級: 13等級: 13


十週年紀念徽章(五級)  

 . 積分: 720
 . 精華: 1
 . 文章: 2053
 . 收花: 5801 支
 . 送花: 8430 支
 . 比例: 1.45
 . 在線: 2473 小時
 . 瀏覽: 17320 頁
 . 註冊: 7393
 . 失蹤: 291
 . 台中
#2 : 2007-5-23 06:40 PM     全部回覆 引言回覆

因該算是練習INT21H的功能吧.

因為很久沒寫程式了,懂的也不多.
會貼在板上也算是做紀錄.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
h80053
銀驢友〔中級〕
等級: 13等級: 13等級: 13等級: 13


十週年紀念徽章(五級)  

 . 積分: 720
 . 精華: 1
 . 文章: 2053
 . 收花: 5801 支
 . 送花: 8430 支
 . 比例: 1.45
 . 在線: 2473 小時
 . 瀏覽: 17320 頁
 . 註冊: 7393
 . 失蹤: 291
 . 台中
#3 : 2007-6-1 11:37 PM     全部回覆 引言回覆

現在沒什麼時間把這一篇補完....


有時間在慢慢補



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-11-1 07:27 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.019121 second(s), 7 queries , Qzip disabled