今天要交的微機實驗報告分享。
顯示程式實驗
一,實驗目的
1. 掌握在pc機上以十六進製制形式顯示資料的方法。
2. 掌握部分dos功能呼叫使用方法。
二,實驗裝置
pc微機一台
三,實驗內容
一般來說,有很多程式需要顯示輸出提示執行的狀況和結果,有的還需要將資料區中的內容顯示在螢幕上。本實驗要求將指定資料區的資料以十六進製制數形式顯示在螢幕上,並利用dos功能呼叫完成一些提示資訊的顯示。
四,實驗清單
stack1 segment stack ;堆疊段開始
dw 256 dup(?)
stack1 ends
data segment ;資料段開始
mes db 'press any key to exit!',0ah,0dh,0ah,0dh,'$'
mes1 db 'show a as hex:',0ah,0dh,'$'
sd db 'a'
data ends
code segment ;**段開始
assume cs:code,ds:data
start: mov ax,data ;設定ds 暫存器
mov ds,ax
mov dx,offset mes ;取字串首位址,顯示退出提示
mov ah,09h ;在dos 介面顯示字串
int 21h
mov dx,offset mes1 ;取字串首位址,顯示字串
24mov ah,09h
int 21h
mov si,offset sd
mov al,ds:[si] ;把』a』送到al中
and al,0f0h ;取位元組的高4位
mov cl,4
shr al,cl
cmp al,0ah ;判斷是否是a以上的數
jb c2
add al,07h ;大於等於a,數值加7h
c2: add al,30h ;數值加30h,轉換成ascii碼
mov dl,al
mov ah,02h ;將轉換的相應ascii碼在dos介面下顯示
int 21h
mov al,ds:[si]
and al,0fh ;取位元組的低4位
cmp al,0ah
jb c3
add al,07h
c3: add al,30h
mov dl,al ;顯示字元
mov ah,02h
int 21h
key: mov ah,1 ;判斷是否有按鍵按下?
int 16h ;(為觀察執行結果,使程式有控制的退出)
jz key
mov ax,4c00h ;結束程式,退出
int 21h
code ends
end start
四,實驗結果
press any key to exit!
show a as hex:
61
微機介面實驗 數碼管顯示程式詳解
本次講解的針對的是共陰極數碼管,先把原理圖和 放上來 數碼管裡共8個led,由於說明了給定的是共陰極數碼管,即陰極是接在一起的,通過原理圖下方的7407驅動器接在了x1 x6,陽極分別通過1k電阻上拉。所以當x1 x6接8255的io口時,可以通過io口輸出低電平,將陰極拉低。同時8個段選a dp也...
微機實驗 登入介面
程式執行後,提示使用者輸入賬號和密碼,賬號回顯,密碼不回顯,只有賬號和密碼與程式內定的一致時,才提示登陸成功,登入成功後跳轉至歡迎介面。將賬號和密碼先儲存到記憶體中,當使用者輸入賬號或密碼時,使用cmp指令與記憶體中的資料進行比較。比較難的部分是退格鍵,我是這樣實現的,先判斷使用者按下的字元,若為退...
微機介面實驗二 鍵盤顯示控制實驗(翻轉法實現)
掌握8255a控制鍵盤及顯示電路的基本功能及程式設計方法。掌握一般鍵盤和顯示電路的工作原理。設定8255a的c口鍵盤輸入,a口為數碼管段碼輸出。翻轉法的原理其實很簡單 首先行線全部輸出為0,然後查詢哪一列輸入為0 然後翻轉,列線全部輸出為0,查詢哪一行輸入為0 找到行號和列號後,簡單計算就能得到按下...