抓 看 燒 三絕

2007-5-22  [其它]使用組合語言INT21H 的2AH功能顯示出時間

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

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          ...

2007-5-22 06:42 PM - h80053 - 8375 觀看 - 4 評論 - 程式開發討論區