29. 有程序段如下,该程序段的功能是 。 CLD
MOV CX,10 LEA SI,FIRST LEA DI,SECOND
REP MOVSB
30. 条件转移指令的目标地址应在本条件转移指令的下一条指令地址的 字节范围内。
31. 指令LOOPZ/LOOPE是结果为 或相等发生转移的指令。
32. 一个有16个字的数据区,它的起始地址为70A0:DDF6,那么该数据区的最后一个字单元的物理地址为 H。
33. 假设(DS)=B000H,(BX)=080AH,(0B080AH)=05AEH,(0B080CH)=4000H,执行指令“LES DI,[BX]”后,(DI)= , (ES)= 。
34. 指令SAR可用来实现对 数除2。
35. 当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是 。
36. 令(AL)=98H, (BL)=12H, 则执行指令MUL BL后,(AX)= 。
37. 假设(SS)=2250H,(SP)=0140H,如果在堆栈中存入5个数据,则栈顶的物理地址为 。
38. 对于字节乘法指令,其目的操作数存放在 中,而其源操作数可以用除立即数以外的任一种寻址方式。其乘积为 位,应存放在 中。 39. 执行以下程序段后,AX= 。 MOV CX,5 MOV AX,50
NEXT: SUB AX,CX
LOOP NEXT HLT
40. 执行指令SUB AX,BX后,CF=1,说明最高有效位 。
41.程序结构化的首要问题是 ,它是通过 的手段来实现的。
42.程序由一些基本结构组成,这些基本结构包括 、 和 。
43.8086/8088存储器结构要求存储空间分段使用。因此,要分别定义 、 、 和 。
44.下面程序段完成将字变量OPR1转换成反码和补码分别存入自变量COMP和NEGA单元,将语句补充完整。
OPR1 DW -XXXXXD COMP DW ? NEGA DW ?
MOV AX,OPR1 (1)
MOV COMP,AX (2)
MOV NEGA,AX HLT
45. 用于控制重复执行的次数,一般是检测 。当循环结束条件不满足时,返回去继续 循环体;当循环结束条件满足时,退出循环执行循环结构外的 。
46.在重复执行次数已知的情况下,采用 来控制循环,它又可分为 和 。
47.对循环次数未知的循环结构, 是最常用的一种控制方法。该方法有两种形式,分别为 和 。
48.一个完整的子程序结构,必须包括 、 、 。
49.汇编语言所操作处理的对象主要是 ,主程序调用子程序时,已经占用了一定的寄存器,子程序执行时又要使用寄存器,返回主程序后,又要保证主程序按原有状态继续正常执行,所以要对寄存器的内容加以保护即 ,子程序执行完毕后再恢复被保护寄存器的内容,即 。
50.子程序是通过 来定义的。子程序的定义不仅要说明所定义子程序的 ,而且还应指出子程序的 。
51.主程序传递输入参数和子程序传递输出参数的过程称为 ,实现该过程的方法有三种,它们分别为 、 和 。
52.DOS系统功能调用分为三步: 、 、 。
53.DOS系统功能调用中00H号调用的功能是 ;0AH号调用的功能是 。
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 HECA HECA PROC FAR CMP AL,10
JC K1 ADD AL,7 K1: ADD AL,30H MOV DL,AL MOV AH,2 INT 21H RET HECA ENDP
问: 程序执行后,DL= ,屏幕上显示输出的字符是 。
56. 程序执行的 问题,在某些实时控制、跟踪等程序中显得特别突出。
57. 循环结构有两种形式: 和 。
58. 流程图一般是利用一些带方向的 和 等把解决问题的先后次序直观地描述出来。流程图种类比较多,如 、 、 等。
59. 利用流程图进行程序设计是一种最基本的方法,流程图一般由四部分组成: 、
、 和 。
60. 分析下面程序段,指出程序完成的功能和运行结果。 0000000001010000 MOV AL,28H 0000000001010000 0000000010100000 0000000101000000 MOV AH,0 0000000110010000 SAL AX,1 MOV BX,AX SAL AX,1 SAL AX,1 ADD AX,BX
(1)该程序段完成的功能是 。 (2)程序运行后AX= 。
61. 一个循环结构的程序主要由三部分组成: 、 、 。
62. 循环程序的初始状态,需要在进入循环以前给出,一般成为设置 。循环初值又可分为 的初值和 的初值。
63. 在多重循环中,最简单最常用的是 ,它是指一个循环的循环体中含有一个或多个相互独立的 。该类型的循环是两层嵌套循环,外面一层称 ,里面一层循环称 。
64. 现场保护和现场恢复的方法有 和 。
65. 子程序定义时的类型属性有 和 两种。
66. PC-DOS系统中设置了两层内部子程序供用户使用,即 和 。这些子程序对用户来说均可看成 ,它们的入口地址都存放在 中。
67. 系统功能调用是微机的 为用户提供的一组例行子程序,它们的功能比BIOS更加齐全、完整,主要功能是 、 、 和 等。
68. 调用系统功能时总是先采用 ,如果这层模块内容达不到要求,再选用 。
三、问答()
1.什么是原码、反码及补码?计算机中常用补码表示数,有什么意义?
2.计算机中为什么采用二进制?
3. 布尔代数有哪两个特点?
4.指出下列指令的错误的原因,并更正。
(1)MOV [BX],[SI] (2) POP CS
(3) MOV DS,2000H (4) MOV BL,F5H
5.要想完成把[2000H]的一个字送[1000H]中,用指令:MOV [1000H],[2000H]是否正确?如果不正确,应用什么方法?
6.假定LAB是标号,VAR是变量,CON是常数,列出下列操作数或传送指令的寻址方式。
(1)VAR[BX] (2)CON+50H (3)VAR (4)LAB (5)VAR[BX+3] (6)VAR[BX][DI]
(7)MOV word ptr[BP][SI],100 (8)MOV VAR[BX],CX (9)MOV AX,VAR[BX][DI] (10)MOV [BX+1000],DI
7.试问下面的程序段完成什么功能? MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL
8.分析下面的程序,回答指定的问题。 START: XOR AX,AX MOV CX,10 MOV BX,2 LOP1: ADD AX,BX INC BX DEC CX JNZ LOP1 MOV SUM,AX HLT CODE ENDS 问:
(1)该程序完成的功能是什么?
(2)程序执行完后,SUM单元的内容是什么?
9.下面有四条等值语句 C1 EQU 1000
C2 EQU 1
C3 EQU 20000 C4 EQU 25000
下列指令哪些是不对的?请说明原因。
(1)ADD AL,C1-C2 (2)MOV AX,C3+C4 (3)SUB BX,C4-C3 (4)SUB AH,C4-C3-C1 (5)ADD AL,C2
10. 什么是寻址方式?简述8086/8088的寻址方式。
11. 说明存储器操作数有效地址EA的构成。
12. 指出下列操作数的寻址方式。
(1) POPF (2) IN AL,20H (3) CALL (4) INT 16H
13. 分别说明下列每组指令中两条指令的区别。
(1) MOV AX,2010H MOV AX,[2010H] (2) AND BL,0FH OR BL,0FH
(3) JMP SHORT L1 JMP NEAR PTR L1 (4) MOV AX,[BX] MOV AX,BX (5) SUB DX,CX CMP DX,CX
(6) MOV [BP][SI],CL MOV DS:[BP][SI],CL
14. 假如想用100中减去AL中的内容,用SUB 100,AL是否正确?如果不正确,就用什么方法?
15. 当执行CMP AL,BL后,ZF=0,CF=0,SF=1,OF=0,试问:
(1)若AL,BL中的内容是两个无符号数,比较结果如何? (2)若AL,BL中的内容是两个带符号数,比较结果如何? 试举例说明。
16. 若8086执行SUB AH,AL后的结果是(AH)=85H,OF=1,问:
(1)执行前AH和AL内的数哪个大?
(2)AH中原存的是正数还是负数?其理由是什么? (3)结果(AH)=85H是否正确?理由是什么?
17. 试问下面的程序段完成什么样的操作功能? MOV DX,8001H IN AL,DX MOV AH,AL DEC DX IN AL,DX MOV DX,AX
18. 分析下面的程序,回答指定的问题。
BEGIN: LEA BX,BUFFER
XOR AL,AL MOV CL,64H
REPEAT: MOV BYTE PTR[BX],AL
INC BX DEC CL
JNZ REPEAT