《匯編語(yǔ)言程序設(shè)計(jì)》的試驗(yàn)考試比較靈活,考生應(yīng)全面細(xì)致的掌握基本理論,充分理解每一條指令,并且能獨(dú)立編制程序。
北京大學(xué)的考試環(huán)境:
(1) 操作系統(tǒng):DOS6.22
(2) 文本編輯器:EDIT.EXE
(3) 匯編程序:MASM.EXE
(4) 連接程序:LINK.EXE
(5) 調(diào)試程序:DEBUG.COM
考試的主要內(nèi)容分三大部分:輸入、輸出、數(shù)制轉(zhuǎn)換
一、 顯示字符:“HELLO GOOD MORNING!”
DATA SEGMENT
NOTE DB ‘HELLO GOOD MORING!’,’$’
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
BEGIN: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET NOTE
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END BEGIN
二、 顯示2位BCD碼
DATA SEGMENT
NUM DB 52
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV BL,NUM
MOV CH,2
RO: MOV CL,4
ROL BL,CL
MOV DL,BL
AND DL,0FH
ADD DL,30H
MOV AH,2
INT 21H
DEC CH
JNE RO
MOV AH,4CH
INT 21H
CODE ENDS
END START
三、 顯示4位十六進(jìn)制
DATA SEGMENT
NUM DW 3ATC
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV BX,NUM
MOV CH,4
RO: MOV CL,4
ROL BX,CL
MOV DL,BL
AND DL,OFH
CMP DL,9
JLE ADDR
ADD DL,7
ADDR: ADD DL,30H
MOV AH,2
INT 21H
DEC CH
JNE RO
MOV AH,4CH
INT 21H
CODE ENDS
END START
四、 兩個(gè)2位十進(jìn)制數(shù)相加,顯示和
CODE SEGMENT
ASSUME CS:CODE
START: MOV AL,36
ADD AL,48
DAA
MOV CH,2
RO: MOV CL,4
ROL AL,CL
MOV DL,AL
ADD DL,OFH
ADD DL,30H
MOV AH,2
INT 21H
DEC CH
JNE RO
MOV AH,4CH
INT 21H
CODE ENDS
END START
五、 兩個(gè)4位十六進(jìn)制數(shù)相加,顯示和
DATA SEGMENT
NUM DW 3A54,648B
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV BX,NUM
ADD BX,NUM+2
MOV CH,4
RO: MOV CL,4
ROL BX,CL
MOV DL,BL
AND DL,0FH
CMP DL,9
JLE ADDR
ADD DL,7
ADDR: ADD DL,30H
MOV AH,2
INT 21H
DEC CH
JNE ROTATE
MOV AH,4CH
INT 21H
CODE ENDS
END START
說(shuō)明:
(1) 以上只是最基礎(chǔ)的程序,希望大家一定要掌握,并能舉一反三,考試是綜合各方面內(nèi)容的,其程序不會(huì)少于100行
(2) 匯編考題范圍廣,我們不能像《微型計(jì)算機(jī)及其接口》一樣,死抱8255和8253就行,還希望大家能在考前多練習(xí)編程才可以
(3) 常用的DOS系統(tǒng)功能調(diào)用一定要熟悉,尤其是輸入、輸出方面的(教科書(shū) P168 ~ P172)
試題舉例:
(1) 從鍵盤(pán)輸入2個(gè)十進(jìn)制數(shù),其和用二進(jìn)制顯示,其差用八進(jìn)制顯示,其乘積用十六進(jìn)制顯示
(2) 從鍵盤(pán)輸入1個(gè)字符串,統(tǒng)計(jì)其中的字符。大寫(xiě)字母?jìng)(gè)數(shù)用二進(jìn)制顯示,小寫(xiě)字母?jìng)(gè)數(shù)用八進(jìn)制顯示,數(shù)字的個(gè)數(shù)用十進(jìn)制顯示,其他字符用十六進(jìn)制顯示
附:DEBUG的基本用法
DEBUG是個(gè)調(diào)試軟件,能比較方便的找到錯(cuò)誤,其功能非常強(qiáng)大,使用也比較復(fù)雜。我們只介紹簡(jiǎn)單的用法(不會(huì)用DEBUG調(diào)試,并不影響考試)
(1)-a 匯編器,從100H開(kāi)始
(2)-g 執(zhí)行,-g[地址斷點(diǎn)],執(zhí)行到[地址斷點(diǎn)]結(jié)束
(3)-a100 改100H處程序
(4)-e101 改101H地址處的內(nèi)容
(5)-d100 顯示內(nèi)存中的內(nèi)容;顯示機(jī)器指令
(6)-u100 機(jī)器指令 〉匯編指令
(7)-q 退出
預(yù)祝大家順利通過(guò)試驗(yàn)考試!
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |