一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內(nèi)。每小題1分,共10分)
1.CPU發(fā)出的訪問存儲器的地址是( )
A.物理地址B.偏移地址
C.邏輯地址D.段地址
2.將高級語言的程序翻譯成機器碼程序的實用程序是( )
A.編譯程序B.匯編程序
C.解釋程序D.目標(biāo)程序
3.DEC BYTE PTR[BX]指令中的操作數(shù)的數(shù)據(jù)類型是( )
A.字B.雙字C.字節(jié)D.四字
4.在下列語句中,BUFFER稱為( )
BUFFER DB 01H,0AH
A.符號B.變量C.助記符D.標(biāo)號
5.串操作指令中,源串操作數(shù)的段地址一定在( )寄存器中。
A. CS B. SS C. DS D. ES
6.使計算機執(zhí)行某種操作的命令是( )
A.偽指令B.指令C.標(biāo)號D.助記符
7.將數(shù)據(jù)5618H存放在存儲單元中的偽指令是( )
A. DATA1 DW 1856H
B. DATA1 DB 18H,56H
C. DATA1 EQU 5618H
D. DATA1 DB 18H,00H,56H,00H
8.若AX=3500H,CX=56B8H,當(dāng)AND AX,CX指令執(zhí)行后,AX=( )
A. 1400H B. 77F8H C. 0000H D. 0FFFFH
9.計算機處理問題中會碰到大量的字符、符號,對此必須采用統(tǒng)一的二進(jìn)制編碼。目前,微機中普遍采用的是( )碼。
A. BCD碼B.二進(jìn)制碼C.ASCII碼D.十六進(jìn)制碼
10.用指令的助記符、符號地址、標(biāo)號和偽指令、宏指令以及規(guī)定的格式書寫程序的語言稱為( )
A.匯編語言B.高級語言C.機器語言D.低級語言
二、填空題(每空1分,共20分)
1.在8086/8088匯編語言中,有五條串操作指令,其中搜索字符串指令的助記符是______.
2.通常所說的計算機系統(tǒng)包括________和________兩大部分。
3.8086/8088存儲器分四個段,這四個段的段名所對應(yīng)的段寄存器分別是________、________、________、________.
4.現(xiàn)有AX=2000H,BX=1200H,DS=3000H,DI=0002H,(31200H)=50H,(31201H)=02H,(31202H)=
40H,請寫出下列各條指令獨立執(zhí)行完后有關(guān)寄存器及存儲單元的內(nèi)容,并指出標(biāo)志位ZF、CF的值。
A.ADD AX,1200H;問AX=________H ZF=________
B.SUB AX,BX;問AX=________H ZF=________
C.MOV AX,[BX];問AX=________H CF=________
D.NEG WORD PTR[1200H];問(31200H)=________H CF=________
5.設(shè)DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H,
試計算出下列各種尋址方式下的有效地址,填入括號中。
A.使用D的直接尋址( )
B.使用BX的寄存器間接尋址( )
C.使用BX和D的寄存器相對尋址( )
D.使用BX、SI和D的相對基址變址尋址( )
E.使用BX、SI的基址變址尋址( )
三、簡答題(共20分)
1.程序在數(shù)據(jù)段中定義的數(shù)組如下:(4分)
ARRAY DB‘YES IS’
DB 20
┇
DB‘DO NOT’
請指出下列指令是否正確若不正確,錯在哪里
A.MOV BX,OFFSET ARRAY
MOV AX,[BX+8]
B.MOV AX,ARRAY
C.MOV BX,2
MOV SI,3
MOV AX,ARRAY[BX][SI]
D.MOV BX,2*2
MOV SI,3
MOV AX,OFFSET ARRAY[BX][SI]
INC[AX]
2.如TABLE為數(shù)據(jù)段中0100單元的符號名,其中存放的內(nèi)容為0FF00H,試問以下兩條指令有什么區(qū)別指令執(zhí)行后,AX寄存器的內(nèi)容是什么(3分)
MOV AX,TABLE
MOV AX,OFFSET TABLE
3.對于下面的數(shù)據(jù)定義,三條MOV指令分別匯編成什么(3分)
TAB1 DW 10 DUP( )
TAB2 DB 10 DUP( )
TAB3 DB‘1234’
┇
MOV AX,LENGTH TAB1
MOV BL,LENGTH TAB2
MOV CL,LENGTH TAB3
4.子程序的說明文件中應(yīng)包括哪幾方面的內(nèi)容(5分)
5.分別指出下列指令中源操作數(shù)的尋址方式:(5分)
A.MOV SI,100
B.MOV CX,DATA[SI]
C.MOV[SI],AX
D.ADD AX,[BX][DI]
E.POPHF
四、程序分析(每小題5分,共20分)
1.下列程序段完成什么工作
DAT1 DB 30 DUP( )
DAT2 DB 10 DUP( )
┇
MOV CX,10
MOV BX,20
MOV SI,0
MOV DI,0
NEXT:MOV AL,DAT1[BX][SI]
MOV DAT2[DI],AL
INC SI
INC DI
LOOP NEXT
2.執(zhí)行下列指令后,AX寄存器中的內(nèi)容是什么
START DW 10H,20H,30H,40H,50H
EE1 DW 3
┇
MOV BX,OFFSET START
ADD BX,EE1
MOV AX,[BX]
3.試分析下面程序段的功能是什么
CMP AL,‘A’
JC OTHER
CMP AL,‘Z’+1
JNC OTHER
JMP LETTER
┇
OTHER:┇
LETTER:┇
4.下面程序段執(zhí)行完以后,AL的內(nèi)容是什么
MOV BX,00FFH
AND BX,0FFFH
OR BX,0F0FH
XOR BX,00FFH
五、程序設(shè)計(每小題10分,共30分)
1.試編寫出把DX、AX中的雙字右移四位的程序段。
2.定義一個數(shù)據(jù)區(qū),它包含有23H,24H,25H和26H四個字符數(shù)據(jù),把這個數(shù)據(jù)區(qū)復(fù)制20次,并顯示出復(fù)制結(jié)果。
3.內(nèi)存自BUF單元開始的緩沖區(qū)連續(xù)存放著100個學(xué)生的英文分?jǐn)?shù),編程序統(tǒng)計其中90~100,60~89,60以下者各有多少人并把結(jié)果連續(xù)存放到自RESUT開始的單元中,(要求畫出程序流程圖,各段定義完整)
浙江省2002年1月高等教育自學(xué)考試匯編語言程序設(shè)計試題參考答案
課程代碼:02321
一、單項選擇題(每小題1分,共10分)
1.A 2.A 3.C 4.B 5.C
6.B 7.B 8.A 9.C 10.A
二、填空題(每空1分,共20分)
1.SCAS
2.硬件軟件
3.CS DS ES SS
4.A.3200H 0
B.0E00H 0
C.0250H不影響
D.0B0H 1
5.A.0A2B1H
B.1000H
C.0B2B1H
D.0B3B1H
E.1100H
三、簡答題(共20分)
1. A.正確
B.數(shù)據(jù)類型不匹配錯
C.前兩條指令正確,第三條數(shù)據(jù)類型不匹配
D.前兩條正確,后兩條不正確,在匯編過程中,OFFSET操作將得到變量的偏移值,但對相對基址變址尋址方式形成的值在匯編指令時還是未知的,所以第三條指令不正確。第四條指令中,AX不能作為基址寄存器用。
2.第一條指令傳送的是0100H單元中的內(nèi)容AX=0FF00H
第二條指令傳送的是地址0100H AX=0100H
3.MOV AX,10
MOV BL,10
MOV CL,1
4. A.子程序名
B.子程序的功能
C.子程序所用到的寄存器、工作單元的情況
D.子程序的輸入?yún)?shù)
E.子程序的輸出參數(shù)
5.A.立即尋址
B.寄存器相對尋址
C.寄存器尋址
D.基址加變址尋址
E.寄存器尋址
四、程序分析(每小題5分,共20分)
1.把DAT1+20存儲單元開始的10個字節(jié)搬到DAT2開始的連續(xù)10個存儲單元中。
2.3000H
3.判斷AL的內(nèi)容,若為‘A’~‘Z’的大寫字母時,程序轉(zhuǎn)LETTER處理,否則轉(zhuǎn)OTHER處理。
4.0F00H
五、程序設(shè)計(每小題10分,共30分)
1.MOV CL,04
SHR AX,CL
MOV BL,DL
SHR DX,CL
SHL BL,CL
OR BL,AH
2.DATA SEGMENT
PATTERN DB 23H,24H,25H,26H
DISPLAY DB 80 DUP(‘’),‘$’
DATE ENDS
CODE SEGMENT
┇
CLD
LEA SI,PATTERN
LEA DI,DISPLAY
MOV CX,80
REP MOVSB
MOV AH,09H
LEA DX,DISPLAY
INT 21H
RET
CODE ENDS
3.DATA SEGMENT
BUF DB 40H,64H,51H…
RESUT DB 3 DUP(0)
DATA ENDS
STACK SEGMENT STACK
DB 100 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS∶DATA,ES∶DATA,SS∶STACK,CS∶CODE
START PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV、AX,STACK
MOV SS,AX
LEA SI,BUF
MOV CX,100
CLD
AO:LODSB
CMP AL,5AH
JL L60
INC[RESUT]
JMP COM
L60:CMP AL,3CH
JGE K8960
INC[RESUT+1]
JMP COM
K8960:INC[RESUT+2]
COM:LOOP AO
RET
START ENDP
CODE ENDS
END START
1.CPU發(fā)出的訪問存儲器的地址是( )
A.物理地址B.偏移地址
C.邏輯地址D.段地址
2.將高級語言的程序翻譯成機器碼程序的實用程序是( )
A.編譯程序B.匯編程序
C.解釋程序D.目標(biāo)程序
3.DEC BYTE PTR[BX]指令中的操作數(shù)的數(shù)據(jù)類型是( )
A.字B.雙字C.字節(jié)D.四字
4.在下列語句中,BUFFER稱為( )
BUFFER DB 01H,0AH
A.符號B.變量C.助記符D.標(biāo)號
5.串操作指令中,源串操作數(shù)的段地址一定在( )寄存器中。
A. CS B. SS C. DS D. ES
6.使計算機執(zhí)行某種操作的命令是( )
A.偽指令B.指令C.標(biāo)號D.助記符
7.將數(shù)據(jù)5618H存放在存儲單元中的偽指令是( )
A. DATA1 DW 1856H
B. DATA1 DB 18H,56H
C. DATA1 EQU 5618H
D. DATA1 DB 18H,00H,56H,00H
8.若AX=3500H,CX=56B8H,當(dāng)AND AX,CX指令執(zhí)行后,AX=( )
A. 1400H B. 77F8H C. 0000H D. 0FFFFH
9.計算機處理問題中會碰到大量的字符、符號,對此必須采用統(tǒng)一的二進(jìn)制編碼。目前,微機中普遍采用的是( )碼。
A. BCD碼B.二進(jìn)制碼C.ASCII碼D.十六進(jìn)制碼
10.用指令的助記符、符號地址、標(biāo)號和偽指令、宏指令以及規(guī)定的格式書寫程序的語言稱為( )
A.匯編語言B.高級語言C.機器語言D.低級語言
二、填空題(每空1分,共20分)
1.在8086/8088匯編語言中,有五條串操作指令,其中搜索字符串指令的助記符是______.
2.通常所說的計算機系統(tǒng)包括________和________兩大部分。
3.8086/8088存儲器分四個段,這四個段的段名所對應(yīng)的段寄存器分別是________、________、________、________.
4.現(xiàn)有AX=2000H,BX=1200H,DS=3000H,DI=0002H,(31200H)=50H,(31201H)=02H,(31202H)=
40H,請寫出下列各條指令獨立執(zhí)行完后有關(guān)寄存器及存儲單元的內(nèi)容,并指出標(biāo)志位ZF、CF的值。
A.ADD AX,1200H;問AX=________H ZF=________
B.SUB AX,BX;問AX=________H ZF=________
C.MOV AX,[BX];問AX=________H CF=________
D.NEG WORD PTR[1200H];問(31200H)=________H CF=________
5.設(shè)DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H,
試計算出下列各種尋址方式下的有效地址,填入括號中。
A.使用D的直接尋址( )
B.使用BX的寄存器間接尋址( )
C.使用BX和D的寄存器相對尋址( )
D.使用BX、SI和D的相對基址變址尋址( )
E.使用BX、SI的基址變址尋址( )
三、簡答題(共20分)
1.程序在數(shù)據(jù)段中定義的數(shù)組如下:(4分)
ARRAY DB‘YES IS’
DB 20
┇
DB‘DO NOT’
請指出下列指令是否正確若不正確,錯在哪里
A.MOV BX,OFFSET ARRAY
MOV AX,[BX+8]
B.MOV AX,ARRAY
C.MOV BX,2
MOV SI,3
MOV AX,ARRAY[BX][SI]
D.MOV BX,2*2
MOV SI,3
MOV AX,OFFSET ARRAY[BX][SI]
INC[AX]
2.如TABLE為數(shù)據(jù)段中0100單元的符號名,其中存放的內(nèi)容為0FF00H,試問以下兩條指令有什么區(qū)別指令執(zhí)行后,AX寄存器的內(nèi)容是什么(3分)
MOV AX,TABLE
MOV AX,OFFSET TABLE
3.對于下面的數(shù)據(jù)定義,三條MOV指令分別匯編成什么(3分)
TAB1 DW 10 DUP( )
TAB2 DB 10 DUP( )
TAB3 DB‘1234’
┇
MOV AX,LENGTH TAB1
MOV BL,LENGTH TAB2
MOV CL,LENGTH TAB3
4.子程序的說明文件中應(yīng)包括哪幾方面的內(nèi)容(5分)
5.分別指出下列指令中源操作數(shù)的尋址方式:(5分)
A.MOV SI,100
B.MOV CX,DATA[SI]
C.MOV[SI],AX
D.ADD AX,[BX][DI]
E.POPHF
四、程序分析(每小題5分,共20分)
1.下列程序段完成什么工作
DAT1 DB 30 DUP( )
DAT2 DB 10 DUP( )
┇
MOV CX,10
MOV BX,20
MOV SI,0
MOV DI,0
NEXT:MOV AL,DAT1[BX][SI]
MOV DAT2[DI],AL
INC SI
INC DI
LOOP NEXT
2.執(zhí)行下列指令后,AX寄存器中的內(nèi)容是什么
START DW 10H,20H,30H,40H,50H
EE1 DW 3
┇
MOV BX,OFFSET START
ADD BX,EE1
MOV AX,[BX]
3.試分析下面程序段的功能是什么
CMP AL,‘A’
JC OTHER
CMP AL,‘Z’+1
JNC OTHER
JMP LETTER
┇
OTHER:┇
LETTER:┇
4.下面程序段執(zhí)行完以后,AL的內(nèi)容是什么
MOV BX,00FFH
AND BX,0FFFH
OR BX,0F0FH
XOR BX,00FFH
五、程序設(shè)計(每小題10分,共30分)
1.試編寫出把DX、AX中的雙字右移四位的程序段。
2.定義一個數(shù)據(jù)區(qū),它包含有23H,24H,25H和26H四個字符數(shù)據(jù),把這個數(shù)據(jù)區(qū)復(fù)制20次,并顯示出復(fù)制結(jié)果。
3.內(nèi)存自BUF單元開始的緩沖區(qū)連續(xù)存放著100個學(xué)生的英文分?jǐn)?shù),編程序統(tǒng)計其中90~100,60~89,60以下者各有多少人并把結(jié)果連續(xù)存放到自RESUT開始的單元中,(要求畫出程序流程圖,各段定義完整)
浙江省2002年1月高等教育自學(xué)考試匯編語言程序設(shè)計試題參考答案
課程代碼:02321
一、單項選擇題(每小題1分,共10分)
1.A 2.A 3.C 4.B 5.C
6.B 7.B 8.A 9.C 10.A
二、填空題(每空1分,共20分)
1.SCAS
2.硬件軟件
3.CS DS ES SS
4.A.3200H 0
B.0E00H 0
C.0250H不影響
D.0B0H 1
5.A.0A2B1H
B.1000H
C.0B2B1H
D.0B3B1H
E.1100H
三、簡答題(共20分)
1. A.正確
B.數(shù)據(jù)類型不匹配錯
C.前兩條指令正確,第三條數(shù)據(jù)類型不匹配
D.前兩條正確,后兩條不正確,在匯編過程中,OFFSET操作將得到變量的偏移值,但對相對基址變址尋址方式形成的值在匯編指令時還是未知的,所以第三條指令不正確。第四條指令中,AX不能作為基址寄存器用。
2.第一條指令傳送的是0100H單元中的內(nèi)容AX=0FF00H
第二條指令傳送的是地址0100H AX=0100H
3.MOV AX,10
MOV BL,10
MOV CL,1
4. A.子程序名
B.子程序的功能
C.子程序所用到的寄存器、工作單元的情況
D.子程序的輸入?yún)?shù)
E.子程序的輸出參數(shù)
5.A.立即尋址
B.寄存器相對尋址
C.寄存器尋址
D.基址加變址尋址
E.寄存器尋址
四、程序分析(每小題5分,共20分)
1.把DAT1+20存儲單元開始的10個字節(jié)搬到DAT2開始的連續(xù)10個存儲單元中。
2.3000H
3.判斷AL的內(nèi)容,若為‘A’~‘Z’的大寫字母時,程序轉(zhuǎn)LETTER處理,否則轉(zhuǎn)OTHER處理。
4.0F00H
五、程序設(shè)計(每小題10分,共30分)
1.MOV CL,04
SHR AX,CL
MOV BL,DL
SHR DX,CL
SHL BL,CL
OR BL,AH
2.DATA SEGMENT
PATTERN DB 23H,24H,25H,26H
DISPLAY DB 80 DUP(‘’),‘$’
DATE ENDS
CODE SEGMENT
┇
CLD
LEA SI,PATTERN
LEA DI,DISPLAY
MOV CX,80
REP MOVSB
MOV AH,09H
LEA DX,DISPLAY
INT 21H
RET
CODE ENDS
3.DATA SEGMENT
BUF DB 40H,64H,51H…
RESUT DB 3 DUP(0)
DATA ENDS
STACK SEGMENT STACK
DB 100 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS∶DATA,ES∶DATA,SS∶STACK,CS∶CODE
START PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV、AX,STACK
MOV SS,AX
LEA SI,BUF
MOV CX,100
CLD
AO:LODSB
CMP AL,5AH
JL L60
INC[RESUT]
JMP COM
L60:CMP AL,3CH
JGE K8960
INC[RESUT+1]
JMP COM
K8960:INC[RESUT+2]
COM:LOOP AO
RET
START ENDP
CODE ENDS
END START