内容发布更新时间 : 2024/11/5 23:31:30星期一 下面是文章的全部内容请认真阅读。
2.下面程序完成的是两个无符号数的相乘,但采用重复相加的方法实现。请在空格处填上指令,使程序完整。
DATA SEGMENT AV1:XOR AX,AX DA1 DB 5AH MOV CH,0 DA2 DB 26H AV2:
DA3 DW ? (5) DATA ENDS ADC AH,0 ………
MOV BL,DA1 (6) MOV CL,DA2 MOV DA3,AX CMP CL,BL HLT (4) XCHG CL,BL 五、编制程序题(14分)
1.编写程序段计算:(Z-X*Y+540)/X,其中X、Y、Z、均为16位带符号数,已分别装入X、Y、Z、单元中,要求上式计算结果的商存入AX、余数存入DX寄存器.(勿须写出源程序格式,只须写出指令序列,本小题6分).
5
2. 设有10个学生的成绩分别是76,69,84,90,73,88,99,63,100和80分。试编制一个汇编语言程序统计60~69分,70~79分,80~89分,90~99分和100分的人数,分别存放到S6,S7,S8,S9和S10单元中(要求写出完整的汇编语言程序,本小题8分)。
浙江理工大学2009—2010学年第 1 学期
《汇编语言A》期末试卷( B)卷标准答案和评分标准
一、单项选择题(答对一题2分)
1.B 2.B 3.A 4.A 5.D 6.C 7.A 8.C 9.A 10.C 11.D 12.C 13.A 14.C 15.C 二、简答题
1.(1)用编辑软件(例如:EDIT)编辑扩展名为 .ASM的汇编语言源程序(1分) (2)用汇编程序MASM汇编源程序产生目标文件扩展名为.OBJ(1分)
(3 ) 用连接程序LINK连接目标程序产生可执行文件,扩展名为 .EXE(1分) (4 ) 用DOS命令直接键入文件名运行该可执行程序,或进入DEBUG运行(1分) 2.(1 ) ((SP)+1,(SP))→IP 也可以写为栈顶内容→IP , SP+2→SP
或 IP←POP( )(2分)
(2 ) 栈顶内容→IP , SP+2→SP 栈顶内容→CS , SP+2→SP
或IP←POP( ),CS←POP( ) (2分)
3. (1 ) ADC AL, 52H(2分)
(2 ) MOV BX, SEG TABLE(2分)
4. 当中断发生时,由中断机构自动完成哪些动作?(中断过程) 取中断类型号、标志寄存器内容入栈(1分)、当前代码段寄存器入栈、前指令计数器入栈(1分)、禁止硬件中断和单步中断、从中断向量表中取4×N的字内容送IP及4*N+2中的字内容送CS、转中断处理程序(2分)。 5. SEND MACRO DA1, DA2,DA3,MIN
LOCAL NEXT, EXIT MOV AL,DA1 MOV BL,DA2
MOV CL,DA3
CMP AL,BL JLE DON1 MOV AL,BL DON1:CMP AL, CL
JLE DON2 MOV AL,CL
DON1:MOV MIN,AL
ENDM(4分) 三、程序分析题
1.AL=5CH (2分) BL=03H(2分) CL=5FH(2分) 2.(1)共占用10个字节(3分) (2)BASUB=4(3分) 3.(1)实现2+4+6+……+100(3分) (2)AX=09F6H或2550(3分) 4.(1)0,1,2,3,4,5,6,7,8,9(3分)
(2)将A2单元开始的10个数据传送到A1开始的10个字节单元中(3分) 四、1.(1) JGE NEXT;(2) MOV AL,[BX];(3)JNZ LOOP
7
2.(4) JBE AV1;(5)ADD AL,BL;(6)LOOP AV2 五、1.MOV AX,X
IMUL Y
MOV CX,AC MOV BX,DX MOV AX,Z CWD
SUB CX,AX SBB BX,DX ADD CX,540 ADC BX,0 MOV AX,CX MOV DX,BX IDIV X(6分)
2. DSEG SEGMENT
RECORD DW 76,69,84,90,73,88,99,63,100,80 S6 DW 0 S7 DW 0 S8 DW 0 S9 DW 0 S10 DW 0 DSEG ENDS CSEG SEGMENT
MAIN PROC FAR
ASSUME CS: CSEG, DS: DSEG
START: PUSH DS
SUB AX, AX PUSH AX
MOV AX, DSEG MOV DS, AX
BEGIN: MOV CX, 10
CALL COUNT RET
MAIN ENDP COUNT PROC NEAR
MOV SI, 0
NEXT: MOV AX, RECORD[SI]
MOV BX, 10 DIV BL MOV BL, AL SUB BX, 6 SAL BX, 1 INC S6[BX] ADD SI, 2 LOOP NEXT RET
COUNT ENDP CSEG ENDS
END START(8分)