實驗二:
1.實驗內容
將記憶體區定義的字母數字串的統計結果以16進製制形式顯示出來,顯示格式為:
the nembers of digital is:xxh
the nembers of capital letters is:xxh
the nembers of small letters is:xxh
2.程式要求:
1、二進位制轉十六進製制並顯示的功能由btohdsp實現
2、回車換行用crlf巨集指令實現
3、字元h的顯示用output巨集指令實現
4、提示資訊的顯示用巨集inout巨集指令實現
3.實驗要求:除錯程式,直到正確實現所要求的功能。
4.程式如下
crlf macro
mov dl,0dh
mov ah,2
int 21h
mov dl, 0ah
mov ah,2
int 21h
endm
output macro address
lea dx,address
mov ah,9
int 21h
endm
outh macro
mov dl,'h'
mov ah,2
int 21h
endm
data segment
table db 'zhouxiaopeng20102365','$'
org 2365h
digital db 0
small db 0
capital db 0
message1 db 'the number of digital is:$'
message2 db 'the number of small is:$'
message3 db 'the number of capital is:$'
data ends
code segment
assume cs:code,ds:data
start: push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
xor ax,ax
mov ax,data
mov ds,ax
xor al,al
mov digital,al
mov small,al
mov capital,al
lea si,table
cldcheck:lodsb
cmp al,'$'
jz tuichu
cmp al,40h
jc x1
cmp al,61h
jc x2
inc small
jmp next
x1:inc digital
jmp next
x2:cmp al,41h
jb next
inc capital
jmp next
next:loop check
tuichu:output message1
mov bl,digital
call btohdisp
outh
crlf
output message2
mov bl,small
call btohdisp
outh
crlf
output message3
mov bl,capital
call btohdisp
outh
mov ah,4ch
int 21h
btohdisp proc
mov ch,2
lp1: mov cl,4
rol bl,cl
mov al,bl
and al,0fh
add al,30h
cmp al,3ah
jb printa
add al,07h
printa: mov dl,al
mov ah,2
int 21h
dec ch
jnz lp1
retbtohdisp endp
code ends
end start
5.實驗執行如圖:
6.實驗總結:
本實驗在實驗一的基礎上進行提公升,使程式能夠在dos中顯示出所要的結果。通過運用巨集定義、巨集指令得以實現這一功能。其中包括好幾個比較重要的模組,比如回車換行、二進位制轉成十六進製制等等。
需要重點掌握,熟練掌握程式的模擬執行,能夠自行找到程式中的錯誤,並加以改正。
微機原理實驗要求
實驗一定時器實驗 1.用mtim中斷或查詢方式實現led閃爍 要求用按鍵切換閃爍狀態,分為秒級 10hz 100hz迴圈 2.用rti上述功能 3.用tpm產生乙個週期較長 頻率和占空比可調的方波 按鍵1調節方波週期 1ms 10ms 100ms迴圈 按鍵2調節方波占空比 1 1 2 1 3 1迴圈...
微機原理實驗內容
實驗1 彙編基本指令及順序程式設計實驗 實驗2 分支與dos中斷功能呼叫程式設計實驗 實驗3 迴圈結構程式設計實驗 實驗4 儲存器擴充套件實驗 實驗5 8259應用程式設計實驗 實驗1彙編基本指令及順序程式設計實驗 一 實驗目的 1 掌握組合語言的開發環境和上機過程 2 掌握debug命令 3 掌握...
微機原理實驗報告
一 實驗綜述 實驗目的 1 熟悉debug環境,在debug中輸入程式。2 掌握基本指令的用法。3 分析程式執行結果。4 會按要求編寫基本程式,完成基本功能。二 實驗過程 實驗步驟 資料記錄 實驗3.57 若ax 1001h,dx 20ffh,當執行add ax,dx指令以後,請列出和數及標誌暫存器...