匯編語言(第3版方淤,王爽著):實驗14 訪問 CMOS RAM

實驗14 訪問 CMOS RAM

1) 思路:

  1. 可以仿照 實驗13 的第 3 個例子 的編程思想
  2. 將要顯示的時間格式預先定義好,從 CMOS RAM 中獲取到的 BCD 碼逃魄,將其轉換成對應的 ASCII 碼字符后筋蓖,再替換輸出格式中的某些字符
  3. 將 CMOS RAM 中卸耘,存放當前時間的地址信息先列出來(年、月粘咖、日蚣抗、時、分瓮下、秒 的存放單元) 翰铡,方便代碼遍歷的去獲取相關的信息

2) 代碼實現(xiàn)1:

文件名:exp14.asm
方法:調用 BIOS 和 DOS 提供的中斷例程,顯示字符串

assume cs:code

code segment
    db 'yy/MM/dd HH:mm:ss', '$'
    address: db 9,8,7,4,2,0

    start:
        mov ax, cs
        mov ds, ax
        mov si, 0
        mov di, offset address      ; CMOS RAM 中地址信息的索引

        mov cx, 6
    s:
        push cx

        mov al, ds:[di]
        out 70h, al
        in al, 71h                  ; 從 CMOS RAM 讀取 BCD 碼

        mov ah, al
        mov cl, 4
        shr ah, cl
        and al, 00001111b
        add ah, 30h
        add al, 30h                 ; 將讀取到的 BCD 碼經過一系列的轉換讽坏,轉為對應的 ASCII 碼字符(顯存中識別的是 ASCII 碼)

        mov ds:[si], ah
        mov ds:[si+1], al           ; 將轉換后的 ASCII 碼字符放入預先定義好的字符串中

        add si, 3
        inc di
        pop cx
        loop s


        mov ah, 2                   ; 置光標
        mov bh, 0                   ; 第 0 頁
        mov dh, 13                  ; dh 中放行號
        mov dl, 32                  ; dl 中放列號
        int 10h

        mov dx, 0                   ; 設定要讀取的字符串地址锭魔,ds:dx 指向字符串的首地址 data:0
        mov ah, 9
        int 21h                     ; 調用 BIOS 和 DOS 提供的中斷例程,顯示字符串

        mov ax, 4c00h
        int 21h
code ends

end start
代碼實現(xiàn)1 程序運行示意圖

3) 代碼實現(xiàn)2:

文件名:exp14-2.asm
方法:將要顯示的字符送入到顯卡上的顯存中路呜,顯示字符串

assume cs:code

data segment
    db 'yy/MM/dd HH:mm:ss'
    db 9,8,7,4,2,0
data ends

code segment
    start:
        mov ax, data
        mov ds, ax
        mov si, 0
        mov di, 17                  ; CMOS RAM 中地址信息的索引

        mov cx, 6
    s:
        push cx

        mov al, ds:[di]
        out 70h, al
        in al, 71h                  ; 從 CMOS RAM 讀取 BCD 碼

        mov ah, al
        mov cl, 4
        shr ah, cl
        and al, 00001111b
        add ah, 30h
        add al, 30h                 ; 將讀取到的 BCD 碼經過一系列的轉換迷捧,轉為對應的 ASCII 碼字符(顯存中識別的是 ASCII 碼)

        mov ds:[si], ah
        mov ds:[si+1], al           ; 將轉換后的 ASCII 碼字符放入預先定義好的字符串中

        add si, 3
        inc di
        pop cx
        loop s


        mov ax, data
        mov ds, ax
        mov si, 0
        mov cx, 17

        mov ax, 0b800h
        mov es, ax
        mov di, 160 * 13 + 32 * 2   ; 將二進制數(shù)送到顯存緩沖區(qū)(顯卡上的顯存中),顯卡會用 ASCII 碼的規(guī)則解釋顯存中的內容胀葱,會立即在顯示器上顯示出來

    show_str:
        mov al, ds:[si]
        mov ah, 02h                 ; 字符屬性
        mov es:[di], ax

        inc si
        add di, 2
        loop show_str

        mov ax, 4c00h
        int 21h
code ends

end start
代碼實現(xiàn)2 程序運行示意圖
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末漠秋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子抵屿,更是在濱河造成了極大的恐慌膛堤,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晌该,死亡現(xiàn)場離奇詭異,居然都是意外死亡绿渣,警方通過查閱死者的電腦和手機朝群,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來中符,“玉大人姜胖,你說我怎么就攤上這事〉砩ⅲ” “怎么了右莱?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵蚜锨,是天一觀的道長。 經常有香客問我慢蜓,道長亚再,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任晨抡,我火速辦了婚禮氛悬,結果婚禮上,老公的妹妹穿的比我還像新娘耘柱。我一直安慰自己如捅,他們只是感情好,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布调煎。 她就那樣靜靜地躺著镜遣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪士袄。 梳的紋絲不亂的頭發(fā)上悲关,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音窖剑,去河邊找鬼坚洽。 笑死,一個胖子當著我的面吹牛西土,可吹牛的內容都是我干的讶舰。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼需了,長吁一口氣:“原來是場噩夢啊……” “哼跳昼!你這毒婦竟也來了?” 一聲冷哼從身側響起肋乍,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤鹅颊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后墓造,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體堪伍,經...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年觅闽,在試婚紗的時候發(fā)現(xiàn)自己被綠了帝雇。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡蛉拙,死狀恐怖尸闸,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤吮廉,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布苞尝,位于F島的核電站,受9級特大地震影響宦芦,放射性物質發(fā)生泄漏宙址。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一踪旷、第九天 我趴在偏房一處隱蔽的房頂上張望曼氛。 院中可真熱鬧,春花似錦令野、人聲如沸舀患。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽聊浅。三九已至,卻和暖如春现使,著一層夾襖步出監(jiān)牢的瞬間低匙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工碳锈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留顽冶,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓售碳,卻偏偏與公主長得像强重,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子贸人,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內容