A.3FFFH B.0FFFH C.0FFFCH D.0FFF5H19. 指令SCAS的寻址方式是( )。
A 源操作数为寄存器寻址,目的操作数为寄存器间接寻址B 源操作数为寄存器间接寻址,目的操作数为寄存器间接寻址C 源操作数为寄存器间接寻址,目的操作数为寄存器寻址D 源操作数为寄存器寻址,目的操作数为寄存器寻址22. 下列指令中不合法的指令是(C)。
A IN AX, 03F8H B MOV BX, AX
C REP CMPSB D SHR BX, CL
23. 下列指令中正确的是( )。
A MOV SS, 2400H B MOV SS, [2400H] C MOV SS, DS D MOV SS, SP
24. 下列指令中正确的是(A)。
A XCHG AH, AL B XCHG AL, 20H
C XCHG DS, AX D XCHG SP, [20H]
29. 下列程序段执行完后,BX寄存器中的内容是( C )。 MOV CL, 3
MOV BX, 0B7H ROL BX, 1 ROR BX, CL
A 002DH B 00EDH C C02DH D 000DH30. 执行下列程序: MOV AX, 0 MOV BX, 1 MOV CX, 100
A: ADD AX, BX INC BX LOOP A HLT
执行后的结果为:(AX)= ( C ),(BX)= ( ).A 5050,99 B 2500,100 C 5050,101 D 2550,102
35. 逻辑位移指令SHR用于(D),而算术位移指令SAR用于带符号数除2。
A 带符号数减2 B 带符号数除2
C 无符号数乘2 D 无符号数除239. 执行下列指令后:
MOV AX, 1234HMOV CL, 4ROL AX, CLDEC AXMOV CX, 4MUL CX
寄存器AL的值是( B )。
A 60H B 00H C 04H D 08DH 43. 对于下列程序段:
AGAIN: MOV ES:[DI],AL
INC DI LOOP AGAIN
可用指令( )完成相同的功能。
A REP MOVSB B REP LODSB C REP STOSB D REPE SCASB
45. 使得JB指令执行转移操作的条件是( )。A CF=1 B CF=1且ZF=0 C ZF=0 D CF=0或ZF=1
46. 在“先判断后工作”的循环程序结构中,循环执行的次数最少是( )。
A 1 B 0 C 2 D 不定
47. 下列指令中,指令( )先执行CX-1赋给CX操作,然后再根据CX的值决定是否转移、循环或进行重复操作。
A JNC B REP C JCXZ D LOOP48. 指令LOOPZ的循环执行条件是( )。A CX≠0并且ZF=0 B CX=0或ZF=0 C CX≠0并且ZF=1 D CX=0或ZF=1
51. 运算型指令的寻址和控制转移型指令的寻址,其不同点在于( )。
A 前者取操作数,后者决定程序的转移地址B 后者取操作数,前者决定程序的转移地址C 两者都是取操作数
D 两者都是决定程序的转移地址
53. 汇编语言语句格式中的名字项,下列哪一个不正确?( ) A. FFFFFH B. @Variable C. 0FFFFH D. Third_street二、填空
11.已知:(AX)=01CDH,(BX)=0AFH,(CX)=0BE02H,CF=1,写出单步执行每条指令时CF,ZF及相关寄存器的内容。 TEST AX,BX ;AX=01CDH,BX=0AFH;CF= ,ZF= ,(AX)= H,(BX0= H ROL BX,CL ;(BX)=2BC H,(CL)=02H;CF= ,ZF= ,BX= H,CL= H13.对于字除法指令,目的操作数存放在 AX 中,指令执行后,商放在 AL ,余数在 AH 中。
15. 在除法指令IDIV BX中,被除数隐含为 AX或DX:AX 。
16. 在乘法指令MUL WORD PTE[BX]中,被乘数隐含为 AX ,乘积在DX:AX 中。
17. 执行XLAT指令前,要将表的首地址放在 BX 中,表内偏移地址放在 AL 。
18. 若AL=34H,CL=4,CF=0,执行SAL AL, CL指令后,AL= 40H ,CF= 1 。
20. 若DF=1,执行指令LODSB后,SI的内容会自动 。22. 利用指令JO实现转移的条件为 。
23. 利用指令JZ后,程序顺序执行下一条指令的条件是 。28. 试分析下列程序段: ADD AX,BX JNO L1 JNC L2 SUB AX,BX JNC L3 JNO L4
JMP SHORT L5
如果AX和BX的内容给定如下,问该程序执行完后转向哪里? AX BX
⑴ 147B 80DC 转向 L1 。⑵ B568 54B7 转向 L5 。⑶ 42C8 608D 转向 L1 。⑷ D023 9FD0 转向 L5 。
⑸ 94B7 B568 转向 L5 。我也不会
30. 条件转移指令的目标地址应在本条件转移指令的下一条指令地址的 字节范围内。
32. 一个有16个字的数据区,它的起始地址为70A0:DDF6,那么该数据区
的最后一个字单元的物理地址为 H。
33.假设(DS)=B000H,(BX)=080AH,(0B080AH)=05AEH,(0B080CH)=4000H,执行指令“LES DI,[BX]”后,(DI)= , (ES)= 。
36. 令(AL)=98H, (BL)=12H, 则执行指令MUL BL后,(AX)=。
37. 假设(SS)=2250H,(SP)=0140H,如果在堆栈中存入5个数据,则栈顶的物理地址为 。
38. 对于字节乘法指令,其目的操作数存放在 中,而其源操作数可以用除立即数以外的任一种寻址方式。其乘积为 位,应存放在 中。
44.下面程序段完成将字变量OPR1转换成反码和补码分别存入自变量COMP和NEGA单元,将语句补充完整。 OPR1 DW -XXXXXD COMP DW ? NEGA DW ?
MOV AX,OPR1 (1)
MOV COMP,AX (2)
MOV NEGA,AX HLT
54.分析下面程序段,回答指定问题: XOR AL,AL CALL SUBROUT MOV BL,AL CALL SUBROUT RCR AL,1 HLT
SUBROUT PROC NEAR NOT AL JS NEXT STC NEXT: RET SUBROUT ENDP
问:程序运行后,AL= ,BL= ?55.分析下面程序段,回答指定问题。BUF DB 0CH
MOV AL,BUF
CALL FAR PTR HECAHECA PROC FAR CMP AL,10 JC K1 ADD AL,7K1: ADD AL,30H MOV DL,AL MOV AH,2 INT 21H RETHECA ENDP
问: 程序执行后,DL= ,屏幕上显示输出的字符是 。三、问答()
16. 若8086执行SUB AH,AL后的结果是(AH)=85H,OF=1,问:(1)执行前AH和AL内的数哪个大?
(2)AH中原存的是正数还是负数?其理由是什么?(3)结果(AH)=85H是否正确?理由是什么?
23.下列语句中,哪些是无效的汇编语言指令?并指出无效指令中的错误。
(9) INC [BX]
(14) MOV AX,[BX*7]
24.若数组ARRAY在数据段中已作以下定义 ARRAY DW 100 DUP(?)
试指出下列语句中操作数中的各操作符的作用,指令执行后各寄存器产生了什么变化?
MOV BX,OFFSET ARRAY MOV CX,LENGTH ARRAY MOV SI,0
ADD SI,TYPE ARRAY
26.执行下列程序段前,BUFFER存储区的数据为: DB 1,2,3,4,5,6
请给出执行下面程序段后BUFFER存储区中的数据。 MOV SI,OFFSET BUFFER MOV CX,5 XOR AL,ALAGAIN: SHL [SI],1
INC SYTE PTR[SI] ADD AL,[SI] INC SI
LOOP AGAIN MOV [SI],AI HLT
28.假设VAR1和VAR2为自变量,LAB为程序中的一个标号,试找出下列指令的错误之处。
(1)ADD VAR1,VAR2(2)SUB AL,VAR1(3)JNZ VAR1(4)JMP LAB[SI](5)JMP NEAR LAB
31. 指出下列每一对伪指令语句的区别。
(1) X1 DB 76
X2 EQU 76
(4) X1 DW 3678H
X2 DB 36H,78H
五、应用。
4. 试编写一程序段,要求在长度为100H字节的数组ARRAY中,找出大于42H的无符号数的个数并存入字节单元UP中;找出小于42H的无符号数的个数并存入字节单元DOWN中。5. 试编写一个程序求出双字节数的绝对值。双字长数在A和A+2单元中,结果存放在B和B+2单元中。
6. 编写程序段,把字符串STRING中的第一个‘&’字符用空格符代替。 STRING DB ‘The date is FEB&03’
7. 下列ASCⅡ码串(包括空格符)依次存储在起始地址为CSTRING的字节单元中:
CSTRING DB ‘BASED ADDRESSING’
请编写指令将字符串中的第1个和第7个字符传送给DX寄存器。
8. 若地址偏移量为2000H~2003H有一个4字节的数,现要把该数左移1位,写出完成该操作的程序段。(要求不超过5条指令)9. 写出对存放在DX和AX中的双字长数求负的指令序列。
10. 用其他指令完成和下列指令一样的功能。
(1) REP MOVSB (2) REP STOSB(3) REPNE SCASB (4) REPE CMPSB
12. 编写一程序段,比较两个5字节的字符串OLDS和NEWS,如果OLDS字符串不同于NEWS字符串则执行NEW_LESS;否则顺序执行程序。
13. 已知在N到N+I的存储区中有一组ASCⅡ码字符串(共I+1个),试编写一个汇编语言程序,将此字符串传送到NI到NI+I单元中,并使字符串的顺序与原来的顺序相反。
16. 已知DATA单元为一个16位带符号数的原码形式,试用补码形式表示该数。
17. 在内存的数据段中存放了若干个8位带符号数,数据块的长度为COUNT(不超过255),首地址为TABLE,试统计其中正元素、负元素及零元素的个数,并分别将个数存入PLUS、MINUS和ZERO单元中。
18. 编写程序将ELEMS中的100个字节数据的位置颠倒过来(即第一个字节和第100个字节的内容交换,第二个字节和第99个字节的内容交换……)。程序设计题
2.测定ALPHA字节变量单元中的ASCⅡ码字符,进行如下操作:(1)若为数字字符,送入NUM字节单元中。
(2)若为大写字母字符,送入BIGCHR字节单元中。(3)若为小写字母字符,送入SMLCHR字节单元中。
编写出程序段。
3.设在变量单元A、B和C中存放有三个数,若三个数都不为零,则求出三个数之和存入D中;若有一个数为零0,则将其他两个单元也清零,请编写此程序段。
5.已知两个整数变量A和B,试编写完成下述操作的程序:
(1)若两个数中有一个是奇数,则将奇数存入ABUF单元,偶数存入BBUF单元中。
(2)若两个数均为奇数,则两数分别加1,并存回原变量处。(3)若两个数均为偶数,则两变量不变。
6.编写一循环结构程序段,完成从LETTER字节存储单元开始,连续存放‘A’-‘Z’共26个字母(数据定义伪指令只定义存储空间,不指定值)。
7.定义一数组GRADE存放有100个学生某门功课的考试成绩,要求编一程序,统计各分数段的人数。即统计90~100分,80~89分,70~79分,60~69分,以及60分以下的各有多少人。
8.试编写一个程序,比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示‘MATCH’,若不同则显示‘NO MATCH’。
9.试编写一个程序段,求出首地址为DATA的100个字数组中的最小偶数,并把它存放于AX中。
11.编写一个汇编语言程序,统计变量X中的值有多少位为1,并记入ONE变量中。
18. 从XX单元开始的30个连续单元中存放有30个无符号数,从中找出最大者送入yy单元中。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务