1、1.CPU发出的访问存储器的地址是( )。A.物理地址 B.偏移地址 C.逻辑地址 D.段地址 2.将高级语言的程序翻译成机器码程序的实用程序是( )。A.编译程序 B.汇编程序 C.解释程序 D.目标程序 3.DEC BYTE PTRBX中的操作数的数据类型是( )。A.字 B.双字 C.字节 D.四字 4.在下列语句中,BUFFER称为( )。BUFFER DB 01H,0AHA.符号 B.变量 C.助记符 D.标号 5.串操作指令中,源串操作数的段地址一定在( )寄存器中。A. CS B. SS C. DS D. ES,一、单项选择题,1.A 2.A 3.C 4.B 5.C,6.使计算机
2、执行某种操作的命令是( )。A.伪指令 B.指令 C.标号 D.助记符 7.将数据5618H存放在存储单元中的伪指令是( )。A. DATA1 DW 1856H B. DATA1 DB 18H,56HC. DATA1 EQU 5618H D. DATA1 DB 18H,00H,56H,00H 8.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( )。A. 1400H B. 77F8H C. 0000H D. 0FFFFH 9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是( )码。A. BCD码 B.二进制码 C.A
3、SCII码 D.十六进制码 10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称为( )。A.汇编语言 B.高级语言 C.机器语言 D.低级语言,一、单项选择题,6.B 7.B 8.A 9.C 10.A,1.在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是_。 2.通常所说的计算机系统包括_和_两大部分。 3.8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是_、_、_、_。 4.现有AX=2000H,BX=1200H,DS=3000H,DI=0002H,(31200H)=50H,(31201H)=02H,(312
4、02H)=40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位ZF、CF的值。 A. ADD AX,1200H;问AX=_H, ZF=_。 B. SUB AX,BX;问AX=_ H, ZF=_。 C. MOV AX,BX;问AX=_H, CF=_。,二、填空题,1.SCAS 2.硬件 软件 3.CS DS ES SS 4. A.3200H, 0B.0E00H, 0C.0250H ,不影响,5.设DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H, 试计算出下列各种寻址方式下的有效地址,填入括号中。A.使用D的直接寻址( )。B.使用BX的寄存
5、器间接寻址( )。C.使用BX和D的寄存器相对寻址( )。D.使用BX、SI和D的相对基址变址寻址( )。E.使用BX、SI的基址变址寻址( )。,二、填空题,5. A. 0A2B1HB. 1000HC. 0B2B1HD. 0B3B1HE. 1100H,1.程序在数据段中定义的数组如下: ARRAY DB YES ISDB 20DB DO NOT 请指出下列指令是否正确?若不正确,错在哪里? A. MOV BX,OFFSET ARRAYMOV AX,BX+8 B. MOV AX,ARRAY C. MOV BX,2MOV SI,3MOV AX,ARRAYBXSI D. MOV BX,2*2MOV
6、 SI,3MOV AX,OFFSET ARRAYBXSIINC AX,三、简答题,A. 正确 B. 数据类型不匹配错 C. 前两条指令正确,第三条数据类型不匹配 D. 前两条正确,后两条不正确,在汇编过程中,OFFSET操作将得到变量的偏移值,但对相对基址变址寻址方式形成的值在汇编指令时还是未知的,所以第三条指令不正确。第四条指令中,AX不能作为基址寄存器用。,2. 如TABLE为数据段中0100单元的符号名,其中存放的内容为0FF00H,试问以下两条指令有什么区别?指令执行后,AX寄存器的内容是什么? MOV AX,TABLE MOV AX,OFFSET TABLE 3. 对于下面的数据定义
7、,三条MOV指令分别汇编成什么?(3分)TAB1 DW 10 DUP(?)TAB2 DB 10 DUP(?)TAB3 DB 1234MOV AX,LENGTH TAB1MOV BL,LENGTH TAB2MOV CL,LENGTH TAB3,三、简答题,2. 第一条指令传送的是0100H单元中的内容 AX=0FF00H第二条指令传送的是地址0100H AX=0100H 3. MOV AX,10MOV BL,10MOV CL,1,4.分别指出下列指令中源操作数的寻址方式: A. MOV SI,100 B. MOV CX,DATASI C. MOV SI,AX D. ADD AX,BXDI E.
8、POPF,三、简答题,A.立即寻址B.寄存器相对寻址C.寄存器寻址D.基址加变址寻址E.寄存器寻址,1.下列程序段完成什么工作?DAT1 DB 30 DUP(?)DAT2 DB 10 DUP(?)MOV CX,10MOV BX,20MOV SI,0MOV DI,0 NEXT:MOV AL,DAT1BXSIMOV DAT2DI,ALINC SIINC DILOOP NEXT,四、程序分析,把DAT1+20存储单元开始的10个字节搬到DAT2开始的连续10个存储单元中。,2.执行下列指令后,AX寄存器中的内容是什么? START DW 10H,20H,30H,40H,50H EE1 DW 3 MO
9、V 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: ,四、程序分析,2.3000H 3.判断AL的内容,若为AZ的大写字母时,程序转LETTER处理,否则转OTHER处理。,4.下面程序段执行完以后,BX的内容是什么?MOV BX,00FFHAND BX,0FFFHOR BX,0F0FHXOR BX,00FFH,四、程序分析,4.0F00H,1.试编写出把DX、AX中的双字右移四位的程序段。2.定义一个数
10、据区,它包含有23H,24H,25H和26H四个字符数据,把这个数据区复制20次,并显示出复制结果。3.内存自BUF单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90100,6089,60以下者各有多少人?并把结果连续存放到自RESUT开始的单元中,(要求画出程序流程图,各段定义完整),五、程序设计,MOV CL,04 SHR AX,CL MOV BL,DL SHR DX,CL SHL BL,CL OR BL,AH,五、程序设计,DATA SEGMENTDA1 DB 23H,24H,25H,26HDA2 DB 80 DUP(?),$ DATE ENDS CODE SEGMEN
11、TCLDLEA DI,DA2MOV BX,20 NEXT:LEA SI,DA1MOV CX,4REP MOVSBDEC BXJNZ NEXTMOV AH,09HLEA DX,DA2INT 21HRET CODE ENDS,五、程序设计,DATA SEGMENTBUF DB 40H,64H,51H,RESUT DB 3 DUP(0) DATA ENDS CODE SEGMENTASSUME DSDATA,ESDATA, CSCODE MAIN PROC FARPUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXLEA SI,BUFMOV CX,1
12、00,CLD AO: LODSBCMP AL,5AHJL L60INC RESUTJMP COM L60: CMP AL,3CHJGE K8960INC RESUT+1JMP COM K8960: INC RESUT+2 COM: LOOP AORET MAIN ENDP CODE ENDSEND,1指令JMP FAR PTR DONE属于( )。 A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 2执行下面指令序列后,结果是( )。 MOV AL,82H CBW A.AX=0FF82H B. AX=8082H C. AX=0082H D. AX=0F82
13、H 3. 物理地址(10FF0H )=10H,(10FF1H )=20H,(10FF2H )=30H,从地址10FF1H中取一个字的内容是 ( )。 A.1020H B.3020H C.2030H D.2010H 4. 将AX 清零, 下列指令错误的是( )。 A.SUB AX,AX B.XOR AX,AX C.OR AX,00H D.AND AX,00H,一、单项选择题,1.C 2.A 3.B 4.C,5.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( )。A.1FFFH B.1998H C.2002H D.1FFEH 6.条件转移指令JB产生程序转移的条件是( )。A.
14、CF=1 B.CF=0 C.CF=1和ZF=1 D.CF=1和ZF=0 7.有指令MOV AX, 1234H,指令中的立即数1234H是存储在( )。A.数据段 B.代码段 C.附加段 D.堆栈段 8.要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是( )。A.BUF DW 9 B.BUF DB 9C.BUF DB 9 DUP(?) D.BUF DW 9 DUP(?),一、单项选择题,5.D 6.D 7.B 8.C,9.TEST AH,30H指令的功能与( )指令功能相类似。 A.AND B.CMP C.SUB D.OR 10.有定义NUM DB 12345 ,汇编后,NUM占有( )
15、字节存储单元。 A.1 B.5 C.6 D.7 11、MOV SP,3210HPUSH AX 执行上述指令序列后,SP寄存器的值是( )。A.3211H B.320EH C.320FH D.3212H 12、BUF DW 10H DUP(3 DUP(2,10H),3,5) 上述语句汇编后,为变量BUF分配的存储单元字节数是( )。A.80H B.100H C.124 D.192,一、单项选择题,9.A/B 10.B 11.B 12.A,13对于下列程序段:AGAIN:MOV AL,SIMOV ES:DI,ALINC SIINC DILOOP AGAIN也可用( )指令完成同样的功能。AREP
16、MOVSB BREP LODSB CREP STOSB DREPE SCASB 14下面指令序列执行后完成的运算,正确的算术表达式应是( )。MOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,AL AY=X*2+1 BX=Y*2+1 CX=Y*2-1 DY=X*2-1,一、单项选择题,13.A 14.D,15把汇编语言源程序翻译成目标代码的程序是( )。A编译程序 B. 解释程序 C. 汇编程序 D.连接程序 16下列指令中,不影响PSW的指令是( )。A. MOV B. TEST C. SAL D. CLD 17. 已定义数据段 DATA SEGME
17、NTORG 0213HDA1 DB 15H,34H,55HADR DW DA1 DATA ENDS 能使AX中数据为偶数的语句是( )。A. MOV AX, WORD PTR DA1 B. MOV AL, DA1+2C. MOV AL, BYTE PTR ADR+1 D. MOV AX, WORD PTR DA1+2,一、单项选择题,15.C 16.A 17.C,18. 如代数据段名为DATA_SEG,它的起始地址为20A00H,对数据段寄存器DS赋值段地址值的方法是( )。A. MOV DS,20A0H B. ASSUME DS:DATA_SEGC. DATA_SEG SEGMENT D.
18、MOV AX,DATA_SEGMOV DS,AX 19. 设SP=1FFEH,执行下列指令后,SP寄存器的值是( )。POPFPUSH AXA. 2000H B. 2002H C. 1FFCH D. 1FFEH 20. 下面有语法错误的指令是( )。A. ADD AL,AH B. ADD BX+3,ALC. ADD AH,DI D. ADD BP+2,DA1;(DA1是变量名),一、单项选择题,18.D 19.D 20.D,1、现有如下程序段: DATA SEGMENT ORG 0020HDA1 DW 12H,23HDA2 DB 11H,21HDA3 EQU 1234HDA4 EQU -DA2
19、DA5 DB 31H,32H DATA ENDS请回答: (1)该程序段已占有的存储字节数是多少? (2)符号名DA4的值是多少?符号名DA5的值是多少?,(1)该程序段已占有的存储字节数是8个字节。 (2)符号名DA4的值为2,符号名DA5的值是0026H。,二、程序分析,2、现有如下程序段:BUF1 DB 41H,42H,43H,44H,45H,46HBUF2 DB 6 DUP(?)MOV SI,OFFSET BUF1MOV DI,OFFSET BUF2MOV CX,6 LOP:MOV AL,SISUB AL,7AND AL,0FHMOV DI,ALINC SIINC DILOOP LOP
20、 试回答(1)程序段执行后,BUF2开始的6个字节存储单元的内容是什么? (2)程序功能不变,AND AL,0FH指令可否用SUB AL,30H指令替代。,(1)0AH,0BH,0CH,0DH,0EH,0FH (2)可以。,二、程序分析,1、以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。BUF DB 5,6,7,58H,62,45H,127,COUNT EQU $-BUF ;COUNT等于变量BUF的字节数MAX DB ?MOV BX,OFFSET BUFMOV CX,COUNT-1MOV AL,BXLOP1:INC BX_JAE NEX
21、TMOV AL,BXNEXT:DEC CX_MOV MAX,AL,三、程序填空题,(1)CMP AL,BX (2)JNZ LOP1,3、DA1数据区中有50个字节数据,下面程序段将每个数据的低四位变反,高四位不变,并依次存入DA2数据区中。请将程序补充完整。MOV CX,50LEA SI,DA1LEA DI,DA2K1:MOV AL,SI_MOV DI,ALINC SIINC DIDEC CX_,三、程序填空题,(1)XOR AL,0FH (2)JNZ K1,1设在内存单元SQTAB首址开始存放了010的平方数表。要求用直接查表法编一程序,求出A单元中给定数(=10 )的平方值送B单元保存。
22、DATA SEGMENT SQTAB DB 0,1,4,9,16,25,36,49,64,81, 100 A DB 8 B DB? DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATAMAIN PROC FAR START: PUSH DXXOR AX,AXPUSH AX,四、编程题,MOV AX,DATA MOV DS,AX MOV BX,OFFSET SQTAB MOV AL,A XLAT MOV B,AL RET MAIN ENDP CODE ENDS END START,2A1单元开始定义了一长度为N的字符串,找出其中所有的小写字母并存放到以A2单元
23、开始的存储区中。统计出小写字母的个数,存放到SL单元中。请编一完整的源程序。数据段如下: DATA SEGMENT A1 DB N EQU $ -A1 A2 DB N DUP(?) SL DB ? DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA MAIN PROC FAR START: PUSH DXXOR AX,AXPUSH AX MOV AX,DATAMOV DS,AX,四、编程题,MOV BX,OFFSET A1MOV AL,0MOV CX,N NEXT: MOV DL,BXCMP DL,aJB KCMP DL,zJA KINC AL K: INC BXLOOP NEXT MOV SL,ALRET MAIN ENDP CODE ENDS END START,