自考《匯編語言程序設(shè)計(jì)》學(xué)習(xí)方法

字號(hào):

《匯編語言程序設(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!’,‘?/p>
    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位十六進(jìn)制
    DATA SEGMENT
    NUM DB 52H
    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 3AFCH
    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,0FH
    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位數(shù)相加,顯示和(采用壓縮的BCD碼調(diào)整)
    CODE SEGMENT
    ASSUME CS:CODE
    START: MOV AL,36H
    ADD AL,48H
    DAA
    MOV BL,AL
    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
    五、兩個(gè)4位十六進(jìn)制數(shù)相加,顯示和
    DATA SEGMENT
    NUM DW 3A54H,648BH
    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 RO
    MOV AH,4CH
    INT 21H
    CODE ENDS
    END START
    說明:
    (1)以上只是最基礎(chǔ)的程序,希望大家一定要掌握,并能舉一反三,考試是綜合各方面內(nèi)容的,其程序不會(huì)少于100行
    (2)匯編考題范圍廣,我們不能像《微型計(jì)算機(jī)及其接口》一樣,死抱8255和8253就行,還希望大家能在考前多練習(xí)編程才可以
    (3)常用的DOS系統(tǒng)功能調(diào)用一定要熟悉,尤其是輸入、輸出方面的(教科書P168 ~ P172)
    試題舉例:
    (1)從鍵盤輸入2個(gè)十進(jìn)制數(shù),其和用二進(jìn)制顯示,其差用八進(jìn)制顯示,其乘積用十六進(jìn)制顯示
    (2)從鍵盤輸入1個(gè)字符串,統(tǒng)計(jì)其中的字符。大寫字母?jìng)€(gè)數(shù)用二進(jìn)制顯示,小寫字母?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開始
    (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退出