久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 計(jì)算機(jī)操作系統(tǒng)啟動(dòng)引導(dǎo)程序顯示系統(tǒng)時(shí)間基于虛擬機(jī)匯編程序 [打印本頁]

作者: lanlanlanlanlan    時(shí)間: 2020-3-3 16:00
標(biāo)題: 計(jì)算機(jī)操作系統(tǒng)啟動(dòng)引導(dǎo)程序顯示系統(tǒng)時(shí)間基于虛擬機(jī)匯編程序
本帖最后由 lanlanlanlanlan 于 2020-3-3 16:50 編輯

如題 一個(gè)匯編語言寫的計(jì)算機(jī)啟動(dòng)引導(dǎo)程序
基于虛擬機(jī) 啟動(dòng)BIOS 后顯示系統(tǒng)時(shí)間

單片機(jī)源程序如下:
  1.                 org 07c00h ; 告訴編譯器程序加載到7c00處

  2.                 mov ax, cs

  3.                 mov ds, ax

  4.                 mov es, ax
  5.                
  6.                 mov ax, BootMessage   ;調(diào)用固定顯示的字符串內(nèi)容
  7.                
  8.                 mov dx, 0
  9.                
  10.                 mov cx, 15     ; 字符串長度長度 對應(yīng)輸入的內(nèi)容

  11.                 call DispStr   ; 開始調(diào)用外部程序  調(diào)用顯示字符串例程  
  12.                
  13.                 call TimeDisp  ; 系統(tǒng)時(shí)間顯示
  14.                
  15.                 call Keyboard   ; 接受 鍵盤指令程序

  16.                 jmp [        DISCUZ_CODE_1        ]nbsp;         ; 用于主程序暫停      
  17.                        ; 以上是基本的啟動(dòng)引導(dǎo)程序

  18. DispStr:              ;顯示字符子程序

  19.                 mov bp, ax     ; ES:BP = 串地址  BP堆棧指針寄存器

  20.                 mov ax, 01301h ; AH = 13 代表寫字符串,  AL = 01h 游標(biāo)形態(tài)

  21.                 mov bx, 000ch
  22.                
  23.                 int 10h        ; 顯示服務(wù)

  24.                 ret            ;子程序返回
  25.                

  26. NumDis:                ;數(shù)字顯示子程序

  27.                 mov bh, al    ;  AL 裝的為顯示內(nèi)容第一步 都是放入堆棧指針 高八位

  28.                 AND AL, 0F0H    ;與運(yùn)算 清除低4位
  29.                
  30.                 shr al, 4      ;右移位數(shù) 0補(bǔ)足 留下
  31.                
  32.                 OR  AL, 30H   ;
  33.                
  34.                 mov bl, 0fh
  35.                
  36.                 int 10h      ;
  37.                
  38.                 mov al, bh  
  39.                
  40.                 AND AL, 0FH   
  41.                
  42.                 OR  AL, 30H
  43.                
  44.                 mov bl, 0fh   
  45.                
  46.                 int 10h     
  47.                
  48.                 ret

  49.         
  50. TimeDisp:

  51.                 mov ah, 04h    ;讀取實(shí)時(shí)時(shí)鐘日期
  52.                
  53.                 int 1ah         ;執(zhí)行中斷 獲取日期
  54.                
  55.                 mov ah, 0eh  
  56.                
  57.                 mov al, ch
  58.                
  59.                 call NumDis      ;顯示century
  60.                
  61.                 mov al, cl      ;cl 年
  62.                
  63.                 call NumDis     ; disp 顯示年
  64.                
  65.                 mov al, 2fh     ;2fh 代表/
  66.                
  67.                 int 10h         ; 顯示 "/" 分隔符
  68.                
  69.                 mov al, dh      ; dh 月份
  70.                
  71.                 call NumDis     ; 顯示月份
  72.                
  73.                 mov al, 2fh
  74.                
  75.                 int 10h         ; 顯示 "/" 分隔符
  76.                
  77.                 mov al, dl       ;dl 天
  78.                
  79.                 call NumDis     ; disp 顯示天
  80.                
  81.                 mov al, 20h     ;空格
  82.                
  83.                 int 10h         ; 顯示空格
  84.                
  85.                        
  86.                                            ;開始顯示時(shí)間

  87.                 mov ah, 02h   ;設(shè)定游標(biāo)位置
  88.                
  89.                 int 1ah       ;時(shí)鐘服務(wù)
  90.                
  91.                 mov ah, 0eh   ;讀取實(shí)時(shí)鐘
  92.                
  93.                 mov al, ch      ; ch存儲時(shí)間
  94.                
  95.                 call NumDis      ;顯示al中的時(shí)間
  96.                
  97.                 mov al, 3ah     ;
  98.                
  99.                 int 10h         ; disp ":"
  100.                
  101.                 mov al, cl      ;cl存儲分
  102.                
  103.                 call NumDis     ; 顯示分
  104.                  
  105.                 ret             ;時(shí)間顯示完畢 退出
  106.                


  107. Namedisp:      

  108.                 mov ax, MyName  
  109.                
  110.                 mov dx, 0100h   

  111.                 mov cx, 6   ; 分對應(yīng)我的名字長度
  112.                
  113.                 call DispStr  ;調(diào)用字符顯示

  114.                 ret
  115.                
  116.                
  117. Keyboard:             ;鍵盤通信

  118.                 mov ah, 00h     ;讀取字符
  119.                
  120.                 int 16h   ;鍵盤服中斷
  121.                
  122.                 cmp al, 0Dh   
  123.                
  124.                 je Namedisp  
  125.                
  126.                 jmp Keyboard   


  127. BootMessage: db "System Time is:" ; 開機(jī)后顯示的字符串內(nèi)容
  128. MyName: db "xxx xx"

  129. times  510-($-$) db 0 ; 填充剩下的空間,使生成的二進(jìn)制代碼恰好為512字節(jié)

  130. dw  0xaa55             ; 結(jié)束標(biāo)志
復(fù)制代碼

所有資料51hei提供下載:
system_time.rar (1.83 KB, 下載次數(shù): 9)









歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人免费毛片男人用品 | 亚洲一区三区 | 亚洲黄色小视频 | 亚洲人成在线观看 | 日本精品久久 | 日韩视频中文字幕 | 91久久精品视频 | 四虎8848精品成人免费网站 | 波多野结衣乳巨码无在线观看 | 18成人免费观看网站 | 亚洲综合激情网 | 欧美日韩亚洲视频 | 中文在线字幕免费观 | 精品久久网站 | 亚洲人高潮女人毛茸茸 | 永久免费看片在线播放 | 欧美狠狠操 | 波多野结衣之双调教hd | 伊人999| 久久理论片 | 日韩精品视频在线免费观看 | 国产免费一级 | 国产盗摄一区二区 | 日韩av专区 | 懂色av一区二区夜夜嗨 | 成人在线免费视频观看 | 97人人干 | 亚洲播放 | 精品91| 日本黄色a级片 | 九九视频免费观看 | 日韩精品免费视频 | 亚洲成色www.777999 | 国产激情在线观看 | 欧美 日韩 国产 成人 在线 | 日韩av在线影院 | 精品毛片一区二区三区 | 久久久国产视频 | 色网站女女 | 日韩成人在线播放 | 成人羞羞网站 |