《微機原理與接**術》實驗指導手冊
(內部資料)
2023年9月
巫宗賓、薛培根
說明一:通訊專業(必做實驗1、3、4、9、10)
二、電子專業(必做實驗1、3、4、5、6、8、9、10)
三、計算機專業(必做實驗3、4、5、6、7、8、9、10)
四、計算機/文秘(必做實驗3、4、5、6、7、8、9、10)
五、其餘實驗可以選做
實驗一:多字元輸出
一、實驗目的
1、 初步掌握組合語言程式的建立、編譯、連線、執行等過程
2、 了解簡單程式設計方法
3、 掌握dos中斷呼叫方法
4、 掌握匯程式設計序的結構
二、實驗內容
設資料段有乙個字串x,其定義如下:
x db 「hello,world$」請呼叫dos中斷02h,輸出字元,採用迴圈程式設計。
三、參考程式
data segment
x db 「 hello,world$」
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
dec si
mov cx,0bh
ok mov ah,02h
int 21h
loop ______
mov ah,4ch
int 21h
code ends
end start
實驗二:字串輸出
一、實驗目的
1、 了解簡單程式設計方法
2、 掌握dos中斷呼叫方法
3、 掌握匯程式設計序的結構
二、實驗內容
設資料段有乙個字串x,其定義如下:
x db 「hello,world$」
請呼叫dos中斷09h,輸出字串。
三、參考程式
data segment
x db 「hello,world$」
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov ax,seg x
mov ds,ax
lea dx ,x
mov ah,09h
int 21h
mov ah,4ch
int 21h
code ends
end start
實驗三:字串操作
一、實驗目的
1、 了解字串程式設計方法
2、 掌握dos中斷呼叫方法
3、 掌握匯程式設計序的結構
二、實驗內容
設資料段有乙個字串x,其定義如下:
x db 「hello,world$」,附加段有一字串y,其定義如下
y db 12 dup(?),完成x 傳送到y,並呼叫dos中斷09h,輸出字串y。
三、參考程式
data segment
x db 「hello,world$」
data ends
extra segment
y db 12 dup(?)
extra ends
code segment
assume cs:code,ds:data,es;extra
start: mov ax,data
mov ds,ax
mov ax,extra
mov es,ax
lea si,x
lea di,y
mov cx,0ch
cldrep movsb
mov ax,seg y
mov ds,ax
lea dx ,y
mov ah,09h
int 21h
mov ah,4ch
int 21h
code ends
end start
實驗四:小寫字母轉換為大寫字母
一、實驗目的
1、 了解字串程式設計方法
2、 掌握dos中斷呼叫方法
3、 掌握匯程式設計序的結構
4、掌握鍵盤輸入dos中斷呼叫
5、掌握ascii碼轉換機制
二、實驗內容
設資料段有乙個位元組變數x,其定義如下:x db ?,從鍵盤輸入x的小寫字母,當輸入回車結束,並將x轉換為大寫字母,輸出x。
三、參考程式
data segment
x db ?
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
lea si,x
mov bx,0
ok:mov ah,01h
int 21h
inc bx
mov byte ptr [si],al
inc si
cmp al,0dh
jnz ok
dec bx
lea si ,x
mov cx,bx
ok1:sub byte ptr [si],20h
inc si
loop ok1
mov byte ptr [si],』$』
mov ax,seg x
mov ds,ax
lea dx,x
mov ah,09h
int 21h
mov ah,4ch
int 21h
code ends
end start
實驗五:多位bcd碼加法運算
一、實驗目的
1、 了解bcd程式設計方法
2、掌握鍵盤輸入dos中斷呼叫
3、掌握ascii碼與十六進製制轉換機制
二、實驗內容
設資料段有兩個多位bcd碼資料x,y其定義如下:
x db 33h,39h,31h,37h,34h
y db 36h,35h,30h,38h,32h
完成x=x+y,輸出x。
三、參考程式
data segment
x db 33h,39h,31h,37h,34h
y db 36h,35h,30h,38h,32h
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov ax,seg x
mov ds,ax
lea dx,ax
mov ah,09h
int 21h
mov dl,』+』
mov ah,02h
int 21h
mov ax,seg y
mov ds,ax
lea dx,y
mov ah,09h
int 21h
mov dl,』=』
mov ah,02h
int 21h
lea si x
mov cx,5
add si ,4
ok1:sub byte ptr [si],30h
dec si
loop ok1
lea si y
mov cx,5
add si ,4
ok2:sub byte ptr [si],30h
dec si
loop ok2
lea si x
lea di ,y
mov cx,5
clc ok3:mov al,byte ptr [si]
add al,byte ptr [di]
aaamov byte ptr [si],al
inc si
inc di
loop ok3
lea si,x
mov cx,5
ok4:add byte pte [si],30h
inc si
loop ok4
lea si,x
add si,4
mov cx,5
ok5:mov dl,byte ptr[si]
mov sh,02h
int 21h
dec si
loop ok5
mov ah,4ch
int 21h
code ends
end start
實驗六:圖形程式設計
一、實驗目的
1、 了解bios程式呼叫方法
2、掌握組合語言程式結構
3、掌握圖形程式設計機制
二、實驗內容
在品紅的背景下,顯示5個淺綠色閃爍的星號
三、參考程式
code segment
assume cs:code
satrt:mov ah,00h
mov al,03h
int 10h
mov ah,09h
mov al,』*』
mov bh,0
mov bl,0dah
mov cx,5
int 10h
mov ah,4ch
int 21h
code ends
end start
實驗七:排序程式設計
一、實驗目的
1、 掌握迴圈程式設計方法
2、掌握組合語言程式結構
3、掌握排序程式設計機制
二、實驗內容
在資料段有資料塊x,存放10個無符號數,要求將x從小到大排序
三、參考程式
data segment
x db 6,23,41,24,3,45,12,2,98,43
data ends
code segment
assume cs:code,ds:data
satrt:mov ax,data
mov ds,ax
mov si,offset x+0ah
mov cx,000ah
mov bl,0ffh
a:cmp bl,0ffh
jnz a4
mov bl,00h
dec cx
jz a4
push si
push cx
a2:dec si
mov al,[si]
dec si
cmp al,[si]
jnc a3
xchg al,[si]
mov [si+01h],al
mov bl,0ffh
a3:inc si
loop a2
pop cx
pop si
jmp a1
a4:mov ah,4ch
int 21h
code ends
end start
實驗八:中斷程式設計
一、實驗目的
1、 掌握dos中斷呼叫
2、掌握人機對話程式設計方法
二、實驗內容
要求輸入使用者名稱,然後確認,否則再次詢問姓名
三、參考程式
data segment
messge1 db 0dh,0ah,」what is your name?$」
message2 db 「?(y/n)$」
buf db 30
db ?
db 30 dup(?)
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
again:mov ah,09h
mov dx,offset message1
int 21h
mov ah,0ah
lea dx,buf
int 21h
mov bl,buf+1
mov bh,0
mov si,offset buf+2
mov byte ptr [bx+si],』$』
mov ah,02h
mov dl,0ah
組合語言程式設計
實驗報告 軟體學院 一 實驗目的與意義 理解並熟練掌握組合語言程式設計過程中的編輯 彙編 鏈結和除錯等各個步驟,提高對彙編課程內容的理解和組合語言的掌握,通過上機練習加深對課程內容的理解和掌握。通過組合語言編制的程式上機除錯 執行檢驗程式設計是否正確。熟悉和掌握編輯 彙編 連線和除錯四個實用程式的使...
三組合語言程式設計
軟體要求 win98或win2000 masm5.0或masm6.0 含masm link debug等程式 硬體要求 ibm pc及相容機 實驗一非壓縮bcd碼乘法 一 實驗目的 學習程式設計的基本方法和技能,熟練掌握用組合語言設計 編寫 除錯和執行程式的方法。為後續課程打下堅實的基礎。同時熟練掌...
組合語言程式設計A卷
2011級組合語言程式設計課程試題 a卷 合分人複查人 1 用組合語言書寫的程式叫做masm要求該檔案的副檔名是編寫32位windows應用程式應選擇儲存模型。2 組合語言語句有兩種,分別是和3 除外設資料外的資料定址方式有3類,分別稱為 和定址。4 進行windows應用程式開發時,需要庫檔案,執...