王爽彙編 實驗14讀取CMOS RAM時間資訊

2021-05-23 01:28:11 字數 1913 閱讀 6064

assume    cs:codesg

data segment

db        "/",":"

data ends

stack segment

dw        0,0

stack ends

codesg segment

start:   mov       ax,data

mov       ds,ax

mov       si,0

mov       ax,stack

mov       ss,ax

mov       sp,4

mov       ax,0b800h

mov       es,ax

mov       di,12*160+30*2          ;取螢幕中間位置

mov       bx,0

mov       dl,9

mov       cx,3

nyr: push      cx

mov       al,dl

out       70h,al

in        al,71h

mov       ah,al          ;假設al中為讀出的8位bcd碼

mov       cl,4

shr       ah,cl          ;ah右移4位,便移除了個位的bcd碼

add       ah,30h

and       al,00001111b   ;al保留下來的便是個位bcd碼

add       al,30h

mov       es:[di+bx],ah

mov       es:[di+bx+2],al

mov       al,ds:[si]

mov       es:[di+bx+4],al

add       bx,6

dec       dl

pop       cx

loop      nyr            ;取得年月日

mov       byte ptr es:[di+16],0  ;去掉日後面的「/」

add       bx,2           ;中間空格

mov       dl,4

mov       cx,3

mfs: push      cx

mov       al,dl

out       70h,al

in        al,71h

mov       ah,al          ;假設al中為讀出的8位bcd碼

mov       cl,4

shr       ah,cl          ;ah右移4位,便移除了個位的bcd碼

add       ah,30h

and       al,00001111b   ;al保留下來的便是個位bcd碼

add       al,30h

mov       es:[di+bx],ah

mov       es:[di+bx+2],al

mov       al,ds:[si+1]

mov       es:[di+bx+4],al

add       bx,6

sub       dl,2

pop       cx

loop      mfs            ;取得秒分時

mov       byte ptr es:[di+36],0  ;去掉秒後面的「:」

jmp       s                  ;實時讀取時間                      

mov       ax,4c00h

int       21h

codesg ends

end       start

王爽實驗14

實驗本身並不難,但是值得有兩個點我出現了錯誤 獲取格式為年 月 日 時 分 秒 assume cs code,ds data data segment db 00 00 00 00 00 00 data ends code segment start mov ax,data mov ds,ax mo...

王爽 彙編實驗5

5 5 assume cs code a segment db 1,2,3,4,5,6,7,8 a ends b segment db 1,2,3,4,5,6,7,8 b ends c segment db 0,0,0,0,0,0,0,0 c ends code segment start mova...

王爽彙編實驗9

網上搜到的答案 實驗9 根據材料程式設計 第175頁 assume cs code,ds data,ss stack data segment db welcome to masm 定義要顯示的字串 共16位元組 db 02h,24h,71h 定義三種顏色屬性 data ends stack seg...