东 北 大 学 继 续 教 育 学 院
	  汇编语言程序设计  试 卷(作业考核 线上)  B  卷
	学习中心:           院校学号:            姓 名:           
	(共    6   页)         
	总分        题号        一        二        三        四        五        六
	        得分                                               
一、单项选择题(从四个备选答案中选出一个正确的答案填在题干的括号内)(20分)
	(     )1. 指令MOV AL,[BX]的源操作数的寻址方式为?
	A. 基址寻址                                    B. 寄存器间接寻址   
	C. 变址寻址                                    D.基址变址寻址
	(     )2.确定下列哪些数据在汇编语言中的表示是错误的?
	A. 2 AND 3*5                                        B. 2+10B           
	C. AX+3                                                D. 10H SHL 2
	(     )3.若栈顶指针SP的值为100H,当执行完指令CALL AX后,SP的值为?
	A. 00FCH                                                   B. 0098H            
	C. 00FEH                                              D. 0102H
	(     )4. 已知在寄存器 AX和 BX 中分别存放着一个带符号数据,在满足条件 AX≥BX 时转到标号OK去执行,能实现该功能的程序段是?
	            A. CMP  AX,BX                                         B. CMP  AX,BX
	                      JAE  OK                                                    JNB  OK
	            C. CMP  AX,BX                                         D. CMP  AX,BX
	                      JG   OK                                               JGE   OK
	(     )5. 下列程序段在语法上是正确的是?
	A. X1  DB  ‘ABCD’                                B. X1  DW  ‘ABCD’
	C. X1  DD  ‘ABCD’                          D. X1  DB  1234H
	(     )6. 已知AL=87H,BL=34H, 则指令ADD AL,BL执行后,OF和CF的值分别为?
	                  A. 0,0                                                    B. 0,1               
	C. 1,0                                                      D. 1,1
	(     )7. 已知AL,BX中各存放一个无符号数,计算AL和BX的乘积,用下述哪个程序段?
	                 A. MUL  BX                                          B. IMUL  BX
	                 C. CBW                                                        D. XOR  AH,AH
	          MUL  BX                         MUL  BL
	(      ) 8. NEXT是程序中某指令语句标号,下述哪个程序段不能实现转移到NEXT语句执行。
	                  A.         JMP         NEXT                          B.         MOV          BX, OFFSET NEXT
	                                               JMP                BX
	                C.         MOV        BX, NEXT                D.         LEA          AX, NEXT
	               JMP                BX                       JMP          AX
	(     )9. 初始化8259A时,ICW2的值为18H,当IR3端有中断请求时,8259A送出的中断方式码是什么?
	A. 10H                        B. 13H                        C. 18H                        D. 1BH?
	(     )10. 在两个8259A级联的中断系统中,从8259A连接在主8259A的IR5上,主8259A和从8259A的ICW3应设置为多少?
	A. 20H,05H                B. 10H,05H                C. 05H,05H                D. 20H,20H?
	二、判断题(判断每题正误,对的在题后括号内划“√”,错的划“×”)。(10分)
	1. MOV          DS, 2000H                (   )                    6. LEA           BX, AX                   (   )
	2. MOV          SI,[SI]           (   )             7. OUT         DX,AL                           (   )
	3. IN                AL, 200H                 (   )             8. JS                     [BX]                           (   )
	4. PUSH          AL                             (   )             9. LOOP          AX                                  (   )
	5. XCHG          AX, 1234H                (   )                   10. CALL          AX                       (   )
	三、。(20分)
	1.        已知:BX=100H,BP=200H,SI=300H,DS=1000H,SS=2000H,CS=3000H,指出下述指令中存储器操作数的有效地址及实际地址。(6分)
	指      令        有效地址        实际地址
	MOV  AL,CS:[SI+100H]               
	MOV  AL,[BP+200H]               
	MOV  [BX+SI-100H],AL               
	2. 写出下述两条数据定义伪指令语句经过汇编后的内存分配情况。(4分)
	                DATA1  DB  -32,‘XY’
	                DATA2  DW  -32,‘XY’
	        DATA1                                          DATA2
	                                               
	
	3. 已知部分中断向量表的内容给出如下, 则方式码为13H的中断服务程序的入口偏移地址为(        ),段地址为(         )。(4分)
	C>DEBUG
	-d 0:0
	0000:0000  9E 0F C9 00 65 04 70 00-16 00 C1 08 65 04 00 00
	0000:0010  65 04 70 00 54 FF 00 F0-00 80 00 F0 6F EF 00 F0  
	0000:0020  00 00 00 C8 28 00 C1 08-6F EF 00 F0 6F EF 00 F0  
	0000:0030  6F EF 00 F0 6F EF 00 F0-9A 00 C1 08 65 04 70 00  
	0000:0040  07 00 70 C8 4D F8 00 F0-41 F8 00 F0 97 25 58 FD 
	0000:0050  39 E7 00 F0 40 02 2D 06-2D 04 70 00 28 0A 76 06 
	0000:0060  A4 E7 00 F0 2F 00 82 09-6E FE 00 F0 04 06 76 06  
	0000:0070  1D 00 00 C8 A4 F0 00 F0-22 05 00 00 C6 57 00 C0
	4.依据下述子程序说明文件把子程序补充完整。(6分)
	(1)子程序名:MSUB
	        (2)子程序功能:求两个多字节数据之差
	        (3)入口条件:两个数据的低字节地址分别在SI和DI中,数据长度在CL中
	        (4)出口条件:差的低字节地址在SI中
	        (5)受影响的寄存器:F       
	        MSUB        PROC        NEAR
	                        PUSH        AX
	                        PUSH        DI
	                        PUSH        SI
	                        PUSH        CX
	                     CLC
	        AGAIN:MOV        AL,[DI]
	             (                        )
	             (                        )
	             (                        )
	                        DEC        CL
	                        JNZ                AGAIN
	                        POP                CX
	                        POP                SI
	                        POP                DI
	                        POP                AX
	                     RET
	        MSUB        ENDP
	四、改错题。(10分)
	下列程序有错, 请将它们找出并改正过来。已知程序欲完成的功能是从两个带符号数中选出较大者送入MAX单元, 若二者相同, 将MAX清0。
	要求:不必抄题,直接在试题上修改。在错误的部分下面划一条线,然后在本行的后面给出正确的答案即可。
	1.   SEGA   SEGMENT
	4.   DAX:   DB     A0H
	8.   DAY    DB     1000H
	12.  MAX           DB     0
	15.  SEGA   ENDS
	18.  CSEG   SEGMENT
	21.         ASSUME CS:CSEG; DS:SEGA
	25.  BEGIN:MOV DS,SEGA       
	27.        MOV AL,DAX
	29.         CMP AL, DAY
	33.         JA  XGY
	35.         JZ  ZERO
	40.         MOV AL,DAY
	43.  XGY:   MOV MAX,AL
	47.  ZERO   MOV AL,4CH
	49.        INT 21
	50.  CSEG   END
	56.         END START
	五、(25分):用尽可能少的指令编写完成下列功能的程序段
	1. 已知DX和AX联合存放一个32位整数(DX存放高16位),将该数据逻辑右移一位。
	
	2.将寄存器AL的第i位置1,其它位状态不允许改变,已知i在CL中。
	
	3.将AL中的字符配成偶校验码。
	
	4. 已知AL,BL中各存放一个带符号数,如果两数同正,则将AH清0;如果两数同负,则将AH置1;否则将AH置全1。
	
	5.已知中断服务程序的入口地址为SEVER,对应的中断方式码为10H,写出将其入口地址写入中断向量表的程序段。
	六、程序设计题。(15分)
	    已知一组带符号字节数据存放在内存DATA开始的连续单元中,数据个数在CNT单元存放。编制程序求出该组数据的平均值,并将其存入AVE单元。
