實驗學時: 2 實驗地點: 二綜實驗日期:2014-11-3
一、實驗目的
掌握彙編程式設計規範,熟悉程式設計環境。
二、實驗內容
1、編寫子程式把字串中的小寫字母轉變為大寫字母(參見教材實驗11)。
2、編寫0號中斷處理程式,使得在除法溢位發生時在螢幕中間顯示「divide error!」(參見教材實驗12)。(請預習第12章並完成實驗,時間不夠則在課後完成)
三、實驗步驟演算法及關鍵**
1.實驗一
assume cs:codesg
datasg segment
db "beginner's all-purpose symbolic instructionn code.",0
datasg ends
codesg segment
begin:mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
letterc:
s: mov cl,[si]
mov ch,0
jcxz ok
mov al,[si]
比較是否取出來的字元是a~z
cmp al,97
jb s0
cmp al,129
ja s0
and al,11011111b
mov [si],al;變成大寫字母後寫回原單元
s0:inc si
loop s
ok:ret
codesg ends
end begin
2.實驗二
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0;設定ds:si指向源位址
mov es,ax
mov di,200h;設定es:di指向目的位址
mov cx,do0end-do0
cldrep movsb
mov ax,0
mov es,ax
mov word ptr es:[0*4],200h
mov word ptr es:[0*4+2],0
mov ax,1000h
mov bh,1
div bh
mov ax,4c00h
int 21h
do0: jmp short do0start
db "divide error!"
do0start:mov ax,cs
mov ds,ax
mov si,202h
mov ax,0b800h
mov es,ax
mov di,12*160+36*2
mov cx,13
s:mov al,[si]
mov es:[di],al
inc si
add di,2
loop s
mov ax,4c00h
int 21h
do0end:nop
code ends
end start
code ends
end begin
四、實驗小結(簡單說明實驗過程**現的問題和解決方法)
基本上無問題和疑問,通過實驗學習到了顯示字串的方法。
彙編實驗報告三
集美大學 計算機工程學院 實驗報告 1.實驗目的及內容 1.實驗目的 掌握迴圈程式的設計方法。2.實驗內容 程式接收使用者鍵入的乙個關鍵字以及乙個句子,如果句子中不包含關鍵字則顯示 no match 如果句子包含關鍵字則顯示 match 且把該字在句子中的位置用十六進製制數顯示出來。2.實驗環境 p...
彙編 實驗六
練習二 將乙個字單元中的二進位制數以十六進製制數形式顯示在螢幕上 乙個字單元有4個十六進製制數,要將這些十六進製制數按順序顯示,則需要用迴圈移位方法把所要顯示的4位二進位制數移動到最右面,既分離出每個4位,對分離出每個4位 一位十六進製制數 進行轉換 0 9的ascii為30h 39ha,a f的a...
組合語言實驗報告三
實驗三 一.實驗目的 1.掌握程式設計中的子程式結構 2.熟練使用過程偽指令 子程式呼叫和返回等組合語言的指令編寫子程式 3.掌握數制轉換方法 4.掌握利用dos系統功能呼叫進行字元輸入及字元輸出 顯示 的方法。二.程式說明 1 編寫十進位製到十六進製制轉換程式。要求從鍵盤取得乙個十進位制數,然後把...