1、15、简述程序中指令和伪指令的区别。能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一操作。伪指令是对汇编起某种控制作用的特殊命令,其格式与通常的操作指令一样,并可加在汇编程序的任何地方,但它们并不产生机器指令。16、十六进制数88H,可表示成下面几种形式,请找出错误的表示( )。 无符号十进制数136 带符号十进制数120 压缩型BCD码十进制数88 8位二进制数8的补码表示 17、指令指针寄存器是(IP )。18、汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法(B) DXA名字的第一个字符可以是大写英文字母及小写英文字母B名字的第一个字符可以是字母、数字及、_ C名字
2、的有效长度31个字符D在名字中不允许出现$19、CS寄存器属于( 段寄存器 )。20、已知物理地址(371F0H)=12H,(371F1H)=34H,(371F2H)=56H,如从地址371F0H中取出一个字的内容是( 3412H )。21、一个有16个字的数据区,它的起始地址是70A0HDDF6H,则这个数据区最末一个字单元的物理地址是( 7E814H )。第2章:8086/8088的寻址方式和指令系统1、下列指令属于基址加变址寻址方式的是( MOV DX,DS:BPSI )。2、当程序顺序执行时,每取一条指令语句,IP指针增加的值是( D )。 A1 B2 C3 D由指令长度决定的3、下列
3、属于合法的指令是( D ) DX AMOV DS,ES BMOV SI,DI CMOV AX,BL DMOV DI,BL4、若AX=349DH,CX=000FH。则执行指令AND AX,CX后,AX的值是(000DH)。5、设DS=8225H,DI=3942H,指令NEG BYTE PTRDI操作数的物理地址是(85B92H ) DX6、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(A、AX,BX,CX,DX B、BX,BP,SI,DIC、SP,IP,BP,DX D、CS,DS,ES,SS7、对寄存器AX的内容乘以4的正确指令序列是(SHL AX,1 SHL,AX,18、执行INC指
4、令除对SF、ZF有影响外,还要影响的标志位是(OF,AF,PF9、设DH=10H,执行NEG DH指令后,正确的结果是(DH=0F0H CF=110、下列传送指令中有语法错误的是(AA、MOV CS,AX B、MOV DS,AXC、MOV SS,AX D、MOV ES,AX11、下面指令执行后,改变AL寄存器内容的指令是(DA、TEST AL,02H B、OR AL,ALC、CMP AL,BL D、AND AL,BL12、执行除法指令后,影响的标志位是(AF,CF,OF,PF,SF,ZF都不确定13、执行下面指令序列后,结果是(AX=0FF82HMOV AL,82HCBW14、与MOV BX,
5、OFFSET VAR指令完全等效的指令是(A、MOV BX,VAR B、LDS BX,VARC、LES BX,VAR D、LEA15、在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是(PARA )。16、MOV SP,3210HPUSH AX执行上述指令序列后,SP寄存器的值是(320EH17、BUF DW 10H DUP(3 DUP(2,10H),3,5)上述语句汇编后,为变量BUF分配的存储单元字节数是(100H18、MOV AX,7896H ADD AL,AH 上述指令执行后,标志位CF和OF的值是( CF=1,OF=0 )。19、完成将带符号数AX的内容除以2的正确指
6、令是( SHR AX,1 )。20、在汇编语言程序中,对END语句的叙述正确的是( C )。 AEND语句是一可执行语句 BEND语句表示程序执行到此结束 CEND语句表示源程序到此结束 DEND语句在汇编后要产生机器码21、已知BX=2000H,SI=1234H,则指令MOV AX,BX+SI+2的源操作在(数据段中偏移量为3236H的字节)中。22、下面指令序列执行后完成的运算,正确的算术表达式应是(y=x2-1)。MOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,AL 23、已知(AX)=1234H,执行下述三条指令后,(AX)= (0000H)
7、。MOV BX,AXNEG BXADD AX,BXA1234HB0EDCCHC6DCCHD024、将DX的内容除以2,正确的指令是(C)。 DX ADIV 2BDIV DX,2CSAR DX,1DSHL DX,125、有如下指令序列: ORG 40H DA1 DW 0AB12H,8574H MOV AX,DA1 MOV BX,OFFSET DA1 上述指令执行后,寄存器AX和BX的值分别为( AB12H,40H )。26、下列数值表达式和地址表达式中,错误的是( D )。 AMOV AL,8*14+4 BMOV SI,OFFSET BUF+13 CMOV CX,NUM2-NUM1 DMOV C
8、X,NUM2+NUM127、数据段定义如下: X1 DB 10H,50,1 X2 DW 10H,20,3 X3 DD ? COUNT EQU X3-X1 变量COUNT的值是( 9 )。28、为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是(A、INC CX JZ MINUS B、SUB CX,OFFFFH JZ MINUSC、AND CX,OFFFFH JZ MINUS D、XOR CX,OFFFFH29、AL和VAR字节单元中分别存放一个带符号数,执行CMP AL,VAR时,如ALVAR,那么溢出位和符号位 的关系是(OF=SF30、下面是关于汇编语言程序中使用RET的
9、描述,不正确的是( C )。 A每一个子程序中允许有多条RET指令。 B每一个子程序结束之前一定要有一条RET指令。 C每一个子程序中只允许有一条RET指令。 D以过程形式表示的代码段,一定有RET指令存在。31、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是( CX=0或ZF=0 )。32、用MOV指令将十进制64以组合型BCD码格式送入AX,正确使用的指令是( MOV AX,0604H )。33、重复前缀指令REP的重复次数由 CX 决定。34、DR1 DB 10H,30H DR2 DW 10H DUP(0,2 DUP(2) MOV BL,LENGTH DR1 MOV CL
10、,LENGTH DR2 请问指令执行后,BL和CL的值分别为 1 和 10H 。35、设(SP)=100H,(AX)=0FFFFH STC PUSH AX ADC AX,0 POP BX 上述程序段运行后,(BX)= 0 ,(SP)= 0FEH 。 CXFX36、假设数据段定义如下: DA1 DW C,D DA2 DB 18 DUP(?) DA3 DW $DA2 MOV BX,DA3 上述指令执行后,BX寄存器中的内容是 12H(或18) ,AH寄存器中的内容是 00H ,AL寄存器中的内容是 43H 。37、现有如下数据段 DATA SEGMENT ARRAY1 DB 1,26,3456 A
11、RRAY2 DW 7,89H,10 VAL EQU ARRAY2-ARRAY1 DATA ENDS 请问:该数据段已占有 12(或0CH) 字节的存储空间。38、当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF1,下面的叙述正确的是( )。 表示结果中含1的个数为偶数 表示结果中含1的个数为奇数 表示该数为偶数 表示结果中低八位含1的个数为偶数 39、AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是(C) DXA指令XOR AX,AX执行后,AX内容不变,但设置了标志位B指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C指令AND
12、 AX,0FH执行后,分离出AL低四位DNOT AX,执行后,将AX清040、完成对CL寄存器的内容乘以4的正确操作是(C) DXAROL CL,1 BMUL 4ROL CL,1 CSHL CL,1 DMOV CL,2SHL CL,1 SHL CL,CL41、下面各传送指令中,正确的是(C) DXAMOV DI,SIBMOVDX+DI,ALCMOV WORD PTR BX,0100HDMOV AL,BX42、要实现使BETA的值为56,应采用语句为(BETA EQU 56) DX43、REPZ CMPSW指令,重复执行的终止条件是(CX=0或ZF=0) DX44、下面程序段执行后,AL中的内容
13、是(21H) DXMOV AX,8833HADD AL,AHDAA45、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是( )。 MOV AL,00H AND AL,00H XOR AL,AL SUB AL,AL 46、下列指令执行后总是使CF0,OF0的是( AND)。47、完成同指令XCHG AX,BX相同功能的指令或指令序列是( )。 MOV AX,BX MOV BX,AX PUSH AX POP BX MOV CX,AX MOV AX,BX MOV BX,CX 48、设AH0,AL06H,BL09H,执行指令 ADD AL,BL AAA 之后,其结果应是(AH01,AL05
14、 )。49、设AL0B4H,BL11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为(OF1,CF1 )。50、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是(CX0或ZF0 )。51、下面指令中,合理而有意义的指令是( )。 REP LODSB REP SCASB REP CMPSB REP MOVSB 52、在下列串操作指令中,同时使用源串和目的串地址指针的指令是(D) DXASTOSW BLODSWCSCASW DCMPSW53、AL=0AH,下列指令执行后能使AL=05H的是(C) DXANOT AL BAND AL,0FHCXOR AL,0F
15、H DOR AL,0FH54、DA1 DW AB,CD,EF,GH MOV AX,DA1+3 指令执行后AX中的内容是(FC)。55、在汇编语言程序中,对END语句的叙述正确的是( )。 END语句是一可执行语句 END语句表示程序执行到此结束 END语句表示源程序到此结束 END语句在汇编后要产生机器码 56、下面的数据传送指令中,错误的操作是( )。 MOV SS:BX+DI,1000H MOV DX,1000H MOV WORD PTRBX,1000H MOV DS,2000H 57、下面指令执行后,变量DAB中的内容是(0F5H )。 DAW DW 2A05H DAB DB 0FAH
16、: MOV AL,BYTE PRT DAW SUB DAB,AL 58、执行下列指令后,正确的结果是( )。 MOV AL,100 MOV BL,2 AL100H BL02H AL64H BL0FEH AL64H BL82H AL100H 59、设数据段中已有: DA1 DB 12H,34H DA2 DW 56H,78H 下面有语法错误的语句是( )。 ADR1 DW DA1 MOV DA11,AX MOV BYTE PTR DA21,AL MOV WORD PTR DA11,AX 60、 DATA SEGMENT TA1 DW 0102H,0304H,0506H TA2 DB 02H,03H
17、,04H MOV BX,DS:0006H AND BX,0FFH ADD BH,BX 上述指令序列运行后,BX的内容是( 0402H)。61、若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,SI+COUNT中,源操作数的有效地址EA为_20A8H _,其物理地址为_11488H _。62、如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是_ IP_,而后两个字节存放的是_ CS_。63、在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是_ SCAS_或_ CMPS_才有实际意义。64、已知:BX=
18、1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。(1)MOV AL,BX 21357H(2)MOV CS:BX+DI,AH43357H65、0P1 DB 1,20P2 DW 3412H,5678HMOV AX,OP1+1;字单元(OP1+1)=MOV BL,OP2+1;字节单元(OP2+1)= BL上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。MOV AX,WORD PTR(OP1+1) MOV BL,BYTE PTR(OP2+1)66、下列语句在存储器中分别为变量分配多少字节?(1)AD2 DW 10 DUP(?),
19、1022(2)AD3 DD 100 DUP(?40067、简述下面两条指令分别是什么语法错误?MOV BX,SIMOV AX,DLMOV指令不能在两个存储器操作数之间进行; 操作数类型不匹配。68、在指令系统中,段内、段间返回均为RET指令。试回答:(1)执行段内返回RET指令时,执行的操作是:栈顶内容IP,SP+2SP (2)执行段间返回RET指令时,执行的操作是:栈顶内容IP,SP+2SP 栈顶内容CS,SP+2SP 69、ARY DW 10 DUP(?MOV AL,TYPE ARYMOV BL,LENGTH ARYMOV CL,SIZE ARY上述MOV指令序列执行后的结果是什么?AL=
20、2 BL=10 CL=20 70、设某数据段:DATA SEGMENTORG 20HNUM1=8NUM2=NUM1+10HDA1 DB COMPUTERDB 0AH,0DHCOUNT EQU $-DA1DA2 DW CO,MPUTERDATA ENDS(1)DA1的偏移地址是:_20H _(2)COUNT的值是_0AH _(3)DA2+5字节单元的内容是_U的ASCII码_71、已知AX=0FF60H,CF=1 MOV DX,96XOR DH,0FFHSBB AX,DX执行上述指令序列后,AX=_0_,CF=_0_。72、设寄存器AL,BL,CL中内容均为76H,XOR AL,0FHAND B
21、L,0FHOR CL,0FH执行上述指令序列后,AL=_79H _,BL=_06H _CL=_7FH_。73、已知AX=0A33AH,DX=0F0F0HAND AH,DLXOR AL,DHNEG AHNOT AL执行上述指令序列后,AH=_60H_,AL=_35H_。74、假定(DX)=10111001B,(CL)=3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。(1)SHR DX,1(2)RCR DL,1(3)RCL DX,CL答:(1) 005CH (2) 00DCH (3) 05CCH 75、写出完成下述功能的程序段:(1)传送25H到AL寄存器(2)将AL的内容乘以2(3)
22、传送15H到BL寄存器(4)AL的内容乘以BL的内容并请写出最后(AX)=?(1)MOV AL, 25H(2)SHL AL, 1(3)MOV BL, 15H (4)MUL BL最后,(AX)=612H =155476、写一程序段,求双字长数DXbX的相反数。答: NEG DX NEG BX SBB DX, 0 Not dx Not bx Add bx,1 Adc dx,077、在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。例如: PUSH AX PUSH BX 保护现场 PUSH CX / PUSH DX/ 恢复现场 试写出恢复现场时的指令
23、序列。 答:POP DX POP CX POP BX POP AX78、完成下列操作,选用什么指令: (1)将AX的内容,减去0520H,和上次运算的借位; (2)将变量名TABL的段地址送AX;(1)SBB AX,0520H(2分) (2)MOV AX,SEG TABL(2分) 79、D1 DB 20H DUP(?) D2 DW D1 请写出用一条指令实现取D1的偏移地址=SI中的三种方法。答: LEA SI,D1 MOV SI,OFFSET D1 MOV SI,D2 80、 A DW 1234H B DW 5678H PUSH A PUSH B POP A POP B 试回答:上述程序段执行后(A)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1