1、4. 当标志位_CF_=1时候表示无符号数运算产生溢出。而当标志位_OF_=1是表示带符号位数运算产生溢出。三.简单题1. 实模式下写出段地址和偏移地址为 1234:2002、1430:0042、FF00:0FFF的物理地址。答:物理地址=段地址*10H+偏移地址(1)14342H(2)14342H(3)FFFFFH2.从物理地址为00100H开始到00103H单元中顺序存放的数据为12H,34H,56H,78H。请画出数据存放示意图,并回答一下为题:(1)写出地址00101H字节单元的内容。(2)写出地址00102字单元内容。00100H12H00101H34H00102H45H00103H
2、78H(1)(00101H)字节=34H(2)(00102H)字=7845H第三章 IBM PC机的寻址方式和指令系统一、选择题 AX,ES:1000H 源操作数的寻址方式是( B )A.立即寻址 B.直接寻址C.变址寻址 D.基址寻址 COUNTDI 源操作数的寻址方式是( C )A.基址寻址 B.立即寻址C.变址寻址 D.基址变址寻址 DX,COUNTBPDI的源操作数的寻址方式是( D )A.变址寻址 B.基址寻址 C.直接寻址 D.基址变址寻址4.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( B ),BX,CX,DX ,BP,SI,DI ,IP,BP,DX ,DS,ES,S
3、S5.下列四组寄存器中,属于通用寄存器的是( A ),BX,CX,DX,BP,IP ,DI,FLAGSD.上属三者都是6.指令指针寄存器是(A) DBX7.指令MOV BX,MASKBP,若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为(B) 8.指令MOV AX,COUNTBX,若COUNT=0400H,SS=1200H,DS=1000H,BX=5000H,那么物理地址为(C) 8088系统中,存储器是分段组织的,存储器物理地址计算式是(B)A.段地址+偏移地址 B.段地址*10H+偏移地址C.段地址*16H+偏移地址 D.段地址+10H*偏移地址
4、10.当程序顺序执行时,每取一条指令语句,IP指针增加的值是( D )。A1 B2 C3 D由指令长度决定的11.下列属于合法的指令是( D )AMOV DS,ES BMOV SI,DI CMOV AX,BL DMOV DI,BL12.下列传送指令中有语法错误的是( A )。 CS,AX DS,AX SS,AX ES,AX13.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF1,下面的叙述正确的是(D)A.表示结果中含1的个数为偶数 B.表示结果中含1的个数为奇数C.表示该数为偶数 D.表示结果中低八位含1的个数为偶数14.下面指令执行后,改变AL寄存器内容的指令
5、是( D )。 AL,02H AL,AL AL,BL AL,BL15.与MOV BX,OFFSET VAR指令完全等效的指令是( D )。 BX,VAR BX,VAR BX,VAR BX,VAR16.将DX的内容除以2,正确的指令是(C)。ADIV 2 BDIV DX,2 CSAR DX,1 DSHL DX,117.下列数值表达式和地址表达式中,错误的是( D )。AMOV AL,8*14+4 BMOV SI,OFFSET BUF+13CMOV CX,NUM2-NUM1 DMOV CX,NUM2+NUM118.为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是( C )。 C
6、X JZ MINUS CX,OFFFFH JZ MINUS CX,OFFFFH JZ MINUS CX,OFFFFH JZ MINUS19.完成对CL寄存器的内容乘以4的正确操作是( C ) AROL CL,1 BMUL 4 ROL CL,1 CSHL CL,1 SHL CL,1 DMOV CL,2 SHL CL,CL20.在下列串操作指令中,同时使用源串和目的串地址指针的指令是( D ) ASTOSW BLODSW CSCASW DCMPSW21. AL=0AH,下列指令执行后能使AL=05H的是( C ) ANOT AL BAND AL,0FH CXOR AL,0FH DOR AL,0FH
7、22. 下面指令执行后,改变AL寄存器内容的指令是( D )。A、TEST AL,02H B、OR AL,AL C、CMP AL,BL D、AND AL,BL23.堆栈指针SP的内容是(B)A.栈顶单元内容B.栈顶单元地址C.栈底单元内容D.栈底单元地址24. 执行指令PUCH CX后堆栈指针SP自动(C)A.+1B.不操作25. 指令ADD ES:DI,AX和存放在(B)A.寄存器B.附加段 C.堆栈段D.代码段26.将DX的内容除以2,正确的指令是(C)。27. 下列数值表达式和地址表达式中,错误的是( D )。28.为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是(
8、C )。29. 在下列串操作指令中,同时使用源串和目的串地址指针的指令是( D ) 30. 下面指令中,合理而有意义的指令是(D)。 LODSB SCASB CMPSB MOVSB1.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA为_20A8H _,其物理地址为_11488H _。2.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是_ IP_,而后两个字节存放的是_ CS_。3.下列指令属于基址加变址寻址方式的是( MOV DX,DS:BPSI )。4.在串操作程序中,通常
9、在重复前缀指令REPZ或REPNZ后,选用的串操作指令是_ STOS_或_ CMP_才有实际意义。5.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是_ IP_,而后两个字节存放的是_ CS_。6.已知AX=0FF60H,CF=1 MOV DX,96XOR DH,0FFHSBB AX,DX执行上述指令序列后,AX=_0_,CF=_0_。7.设寄存器AL,BL,CL中内容均为76H,XOR AL,0FHAND BL,0FHOR CL,0FH执行上述指令序列后,AL=_79H _,BL=_06H _CL=_7FH_。8. 已知AX=0A33AH,DX=0
10、F0F0HAND AH,DLXOR AL,DHNEG AHNOT AL执行上述指令序列后,AH=_60H_,AL=_35H_。9.执行下面指令序列后,结果是( AX=0FF82H )。MOV AL,82HCBW10. MOV AH,7896HADD AL,AH上述指令执行后,标志位CF和OF的值是( CF=1,OF=0 )。10.设AL0B4H,BL11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为(OF1,CF1 )。三.综合题1.在debug下设置(SP)=20H,设置AX,BX,CX,DX为不同值,把这四个寄存器内容依次压入堆栈,再从堆栈中依次弹出到SI、DI
11、、BP、BX寄存器。写出一段程序实现上述操作,并画出每条入栈指令执行后SP和堆栈中数据的变化。(1)修改(SP):-r SPSP *:20AX,BX,CX,DX相同方式(2)push AXPush BXPush CXPush DX。Pop BXPop BPPop DIPop SI2.测试AL寄存器,如果最高位和最低位同时为0,则转L0,如果最高位和最低位只有一个为1,则转L1,如果最高位和最低位同时为1,则转L2,画出流程图,并写出程序段。参考ROL AL,1AND AL,3JZ L0SUB AL,3JZ L3 JMP L2第四章 汇编语言程序格式一选择题1.下列叙述正确的是(C)。A对两个无
12、符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令B对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令D对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令2.源程序结束语句为(C) MAIN :MOV AL,20H中操作数为(D)或20H 和20H4.下列为不合法的标志符的是(B)C.ATTD.ABC 5.下列地址表达式正确的是(C)A.BX-SI B.BP-DI C.BX+2D.BP+BX标号的类型值为(B) 7.组合类型中本段与其它段无逻辑关系,每
13、段均有自己的基址的组合类型是(A)8.下面哪一个命令是显示内存单元的内容(A)A.命令B.命令C.命令D.命令9.取变量偏移属性的分析运算符是(A)10.分析运算符LENGTH只有用(C)定义的变量才有意义。A.表达式B.字符串 D.疑问号11.在段定义中,(B)是默认的定位类型 12.定义缓冲区BUF,保留100个字节存储空间的语句是(D)。 DB 100 DW 100 DW 100 DUP() DB 100 DUP()13.使计算机执行某种操作的命令是(B)A.伪指令B.指令 C.标号D.助记符14.使用DOS系统功能调用时,使用的软中断指令是(b)AINT 21 BINT 10HCINT
14、 16H DINT 21H二填空题1.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为( F=1)2.指令JMP FAR PTR DONE属于(段间转移直接寻址)。3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是(12C59H)。4.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是(进位值在CF中,校正后根据CF内容再加在AH中)5.执行后使BX=0的同时也使CF=0,OF=0的指令是( OR BX,BX )第五章 循环与分支程序设计1.编写分支程序,在进行条件判断前,可用指
15、令构成条件,其中不能形成条件的指令有( D )。A、CMP B、SUB C、AND D、MOV2. 测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是( B)。A. TEST BL,4FH JZ NEXT B. XOR BL,4FH C. AND BL,4FH D. OR BL,4FH JZ NEXT1. 下列程序段将AX中值乘以9,请将程序填写完整(1)_ MOV CL,3(2)_ POP BXADD AX,BX(1)PUSH AX(2)SHL AX,CL2. MOV BL,64HMOV CL,03HXOR AX,AXAGAIN:ADD AL,BLADC AH,
16、0DEC CLJNZ AGAIN问:(1)该程序段完成的功能是:将AX内容乘3送BX中 (2)AX=_012CH_。3.设AX,BX中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程序中所缺指令语句补上。TEST AX,8000H JE K1或JZ K1 MOV PLW,BX JMP DONE K1:MOV PLW,ADONE:4.下面程序段是判断寄存器AH和AL中第3位是相同,如相同,AH置0,否则AH置全1。试把空白处填上适当指令。_ XOR AH,AL_AND AH,08H_ JE ZERO_MOV AH,OFFHJMP NEXTZERO:MOV AH,0NE
17、XT:5.下列程序段求数组ARRAY的累加和。请将程序填写完整。ARY DW 45H,68H,0ABC1H,9600H;共10项COUNT DW 10MOV CX,COUNTADD AX,SIADD SI,2(2)_(1)LEA SI,AKY(2)LOOP AGAIN6以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。BUF DB 5,6,7,58H,62,45H,127,COUNT EQU $-BUFMAX DBMON BX,OFFSET BUFMOV CX,COUNT-1MOV AL,BXLOP1:INC BX_ CMP AL,BX_ _
18、JAE NEXTDEC CX_ JNZ LOP1_MOV MAX,AL三、编程题1. 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。 BEGIN:MOV AH,1INT 21HCMP AL,aJB STOPCMP AL,zJA STOPSUB AL,20HMOV DL,ALMOV AH,2JMP BEGINSTOP:RET2. 在给定个数的数中寻找最大值,放至指定的存储单元。参考程序:DATASEGMENTBUFFERDB2,4,3,6,1,5COUNT DW6MAX DBDATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOV
19、 AX, DATAMOV DS, AXMOV CX, COUNTLEA BX, BUFFERMOV AX, BXINC BXDEC CXAGAIN:CMP AX, BXJGE NEXTNEXT: INC BXLOOP AGAINCODEENDSEND START第六章 子程序一 编程题1.主程序从键盘输入两个4位的十六进制数A和B,用子程序做十六进制计算A+B,并显示计算结果。参考:CODES SEGMENT ASSUME CS:CODES START: mov bl,0 mov cx,8loop1: clc mov ah,1h int 21h cmp al,0 jz rotate stc rotate: rcl bl,1 dec cx jnz loop1 print: neg bl mov dl,0dh mov ah,2h int 21h mov dl,0ah clcloop2: rcl bl,1 jnc dis0 mov dl,1 jmp displaydis0:display: jnz loop2exit:MOV AH,4CH INT 21H CODES ENDS END START
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1