欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
計算機操作系統啟動引導程序顯示系統時間基于虛擬機匯編程序
[打印本頁]
作者:
lanlanlanlanlan
時間:
2020-3-3 16:00
標題:
計算機操作系統啟動引導程序顯示系統時間基于虛擬機匯編程序
本帖最后由 lanlanlanlanlan 于 2020-3-3 16:50 編輯
如題 一個匯編語言寫的計算機啟動引導程序
基于虛擬機 啟動BIOS 后顯示系統時間
單片機源程序如下:
org 07c00h ; 告訴編譯器程序加載到7c00處
mov ax, cs
mov ds, ax
mov es, ax
mov ax, BootMessage ;調用固定顯示的字符串內容
mov dx, 0
mov cx, 15 ; 字符串長度長度 對應輸入的內容
call DispStr ; 開始調用外部程序 調用顯示字符串例程
call TimeDisp ; 系統時間顯示
call Keyboard ; 接受 鍵盤指令程序
jmp [ DISCUZ_CODE_1 ]nbsp; ; 用于主程序暫停
; 以上是基本的啟動引導程序
DispStr: ;顯示字符子程序
mov bp, ax ; ES:BP = 串地址 BP堆棧指針寄存器
mov ax, 01301h ; AH = 13 代表寫字符串, AL = 01h 游標形態
mov bx, 000ch
int 10h ; 顯示服務
ret ;子程序返回
NumDis: ;數字顯示子程序
mov bh, al ; AL 裝的為顯示內容第一步 都是放入堆棧指針 高八位
AND AL, 0F0H ;與運算 清除低4位
shr al, 4 ;右移位數 0補足 留下
OR AL, 30H ;
mov bl, 0fh
int 10h ;
mov al, bh
AND AL, 0FH
OR AL, 30H
mov bl, 0fh
int 10h
ret
TimeDisp:
mov ah, 04h ;讀取實時時鐘日期
int 1ah ;執行中斷 獲取日期
mov ah, 0eh
mov al, ch
call NumDis ;顯示century
mov al, cl ;cl 年
call NumDis ; disp 顯示年
mov al, 2fh ;2fh 代表/
int 10h ; 顯示 "/" 分隔符
mov al, dh ; dh 月份
call NumDis ; 顯示月份
mov al, 2fh
int 10h ; 顯示 "/" 分隔符
mov al, dl ;dl 天
call NumDis ; disp 顯示天
mov al, 20h ;空格
int 10h ; 顯示空格
;開始顯示時間
mov ah, 02h ;設定游標位置
int 1ah ;時鐘服務
mov ah, 0eh ;讀取實時鐘
mov al, ch ; ch存儲時間
call NumDis ;顯示al中的時間
mov al, 3ah ;
int 10h ; disp ":"
mov al, cl ;cl存儲分
call NumDis ; 顯示分
ret ;時間顯示完畢 退出
Namedisp:
mov ax, MyName
mov dx, 0100h
mov cx, 6 ; 分對應我的名字長度
call DispStr ;調用字符顯示
ret
Keyboard: ;鍵盤通信
mov ah, 00h ;讀取字符
int 16h ;鍵盤服中斷
cmp al, 0Dh
je Namedisp
jmp Keyboard
BootMessage: db "System Time is:" ; 開機后顯示的字符串內容
MyName: db "xxx xx"
times 510-($-$) db 0 ; 填充剩下的空間,使生成的二進制代碼恰好為512字節
dw 0xaa55 ; 結束標志
復制代碼
51hei.png
(6.27 KB, 下載次數: 94)
下載附件
2020-3-3 16:19 上傳
所有資料51hei提供下載:
system_time.rar
(1.83 KB, 下載次數: 9)
2020-3-3 15:59 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1