版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编语言程序设计 第三次作业11. 文件结尾的部分信息就没有被写入磁盘,从而造成写入的文件不完整。12. 下面的ASCIZ串有什么错误?PATH_NAME DB C:PROGRAMSTEST.DAT答:此ASCIZ串的最后少了一个全0字节,应改为:PATH_NAME DB C:PROGRAMSTEST.DAT, 013. 据定义如下: X1 DB 10H,100,1X2 DW 10H,100,1X3 DD ?COUNT EQU X3X1变量COUNT的值是
2、60; ,其表示的意义是 。答:
3、0;9 X1和X2两个变量所占内存字节单元的个数。(写为内存单元的个数也正确。如果写为字单元则为错误)14. 执行指令MOV AX,0MOV AL,09HADD AL,4若要获得结果AX0103H,则在ADD指令之后,加一条 指令,若要获得结果AL13H,在ADD指令之后加一条
4、160; 指令。答:DAA AAA15. 实现AL中高四位置1的指令为 。实现AL中高四位取反的指令为 &
5、#160; 。答: OR AL,0F0H XOR AL,0F0H16. 为中断向量区。答:最低1K字节
6、160; (0-3FFH) 0000开始的1K 字节以上三个答案都正确17. X、Y、Z是双精度数,他们分别存放在X、X+2、Y、Y+2、Z、Z+2的内存单元中,高位字存放在高位地址中,低位字存放在低位地址中,下列指令序列实现X+Y+24-Z W。并且用W和W+2单元存放运算结果: MOV
7、;AX,X MOV DX,X+2 ADD AX,Y ADC
8、 DX,Y+2 ADD AX,24 SUB AX,Z
9、60;SUB DX,Z+2 MOV W,AX MOV W+2,DX分析以上指令序列,指出程序中出现的错误:
10、 ;
11、; 。答: 在ADD和SUB两条指令之间加上 ADC DX,0(仅
12、仅写出这条指令就正确)把SUB DX,Z+2改成SBB DX,Z+2(仅仅写出这条指令就正确)18. 在数据段中有一个字符串,其长度是17,要求把他们传送到附加段中的一个缓冲区。 DATA SEGMENT MESS1 DB PERSONAL COMPUTER &
13、#160; DATA ENDS EXTRA SEGMENT MESS2 DB 17 DUP(?) EXTRA ENDS
14、CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE, DS:DATA,ES:EXTRA START: PUSH DS
15、160; SUB AX,AX PUSH AX LEA SI,MESS1
16、0; LEA DI,MESS2 CLD REP MOVSB RET&
17、#160; MAIN ENDP CODE ENDS END START以上是完整的程序段,请分析主过程,修改主过程中的错误。1、
18、0; ;2、 &
19、#160; ;
20、3、
21、0; ;4、 &
22、#160; ;5、
23、0; 。答: MOV AX,DATAMOV DS,AXMOV AX,EXTRAMOV ES,AXMOV CX,17 只要写出以上5条指令就给分,每条指令1分。评分标准:指令中没有写出逗号、没有写对相应数据、写错操作码都视为错误答案。19. 已知主程序和子程序之间的调用如下:STACK SEGMENT DB 100 DUP(0)ST
24、ACK ENDSCODE1 SEGMENTASSUME CS:CODE1,SS:STACKBEG: ¼MOV AX, 0A3BHMOV CX, 1234HCALL FAR PTR AA ;断点(IP)=1110H, (CS)=0200H¼CODE1 ENDSCODE2 SEGMENTASSUME CS:CODE2AA
25、PROC FARPUSH AXPUSH CXBB: ¼RETAA ENDPCODE2 ENDSEND BEG画出执行到标号BB时,堆栈的情况图。答:1234H0A3BH1110H0200H 20. 寄存器的二进制数用十六进制数的形式在屏幕上显示出来。答:1、 CODE SEGMENTMAIN PROC FAR ASSUME CS:CODE
26、60; START: PUSH DS SUB AX,AX PUSH AX MOV CH,4
27、160; ROTATE:MOV CL,4 ROL BX,CL MOV AL,BL
28、; AND AL,0FH ADD AL,30H CMP AL,3AH JL PRINTIT&
29、#160; ADD AL,07H PRINTIT:MOV DL,AL MOV AH,2 INT 21H &
30、#160; DEC CH JNZ ROTATE RETMAIN ENDPCODE ENDSEND START 21. 写出一段子程序,完成输出空行的功能。空出的行数在
31、AX寄存器中。答:CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE START: PUSH DS
32、; SUB AX,AX PUSH AX MOV AX,5
33、;OUTPUT:PUSH AX CALL DISP POP AX
34、 DEC AX 22. 假定(DS)=2000H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H则MOV AX,BX+10的寻址方式是
35、 ;操作数的物理地址是 。MOV AX,BPSI的寻址方式是 ;操作数的物理地址是
36、0; 。答:寄存器相对寻址 物理地址:20110H 基址变址寻址 物理地址:150B0H23. 如果TABLE为数据段中0032H单元的符号名,其中存放的内容为1234H,则执行MOV AX,TABLE 后AX寄存器的内容是
37、160; ;执行LEA AX,TABLE后AX寄存器的内容是 。答:1234H 0032H24. 如果TABLE为数据段中0032H单元的符号名,其中存放的内容为1234H,则执行MOV AX,TABLE
38、0;后AX寄存器的内容是 ;执行LEA AX,TABLE后AX寄存器的内容是 。答:1234H
39、60;0032H25. 1、汇编语言程序上机操作的步骤是
40、60; ; ; &
41、#160; ;
42、 。答:用编辑器编写汇编源程序ASM文件用MASM命令编译ASM文件为OBJ文件用LINK命令连接OBJ文件为EXE文件在DOS下运行程序查看结果或者进入DEBUG查看结果26. 假设X和X+2单元的内容为双精度数P, Y和Y+2单元的内容为双精度数Q(X,Y为低位字)
43、,试说明下列程序段做什么工作? MOV DX,X+2 MOV AX,X ADD AX,X ADC DX,X+2
44、60; CMP DX,Y+2 JL L2 JG L1 CMP AX,Y JBE L2L1:
45、0;MOV AX,1 JMP EXITL2: MOV AX,2EXIT:分析以上程序段。写出该程序段实现的功能:
46、 。答:程序功能: AX =1 (2PQ) =2 (2PQ)
47、 用语言描述也正确。27. MOV CL,4SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL分析以上程序段。写出该程序段实现的功能: &
48、#160; 。答: 程序功能:把DX AX构成的双精度数左移四位28. 以下程序段实现从键盘输入一个十进制数并转换成二进制数,试分析程序并填写恰当的指令使程序完整。 MOV BX,0 NEWCHAR: &
49、#160; INT 21H SUB AL,30H
50、160; JL EXITCMP AL,9DJG EXIT XCHG AX,BXMOV CX,10D XCHG AX,BXADD
51、 BX,AXJMP NEWCHAR EXIT:RET答:MOV AH,1CBW MUL CX 29. 下列程序段实现计算(V-(X*Y+Z-540)/X,并把结果的商存入AX,余数存入DX,其中X,Y,Z,V都是16位带符号数,已经分别装入了X,Y,Z,V单元中。试分析程序并填写恰当的指令使程序完整。
52、60; MOV AX,X IMUL Y MOV CX,AX MOV
53、BX,DX MOV AX,Z CWD ADD CX,AX
54、; SUB CX,540 &
55、#160; MOV AX,V
56、; SUB AX,CX SBB DX,BX IDIV X答: ADC BX,DXSBB DX,0CWD &
57、#160; 平分标准:有写错指令操作码的不给分。30. 在ADDR单元中存放着数据Y,试编写一程序把Y中1的个数存入COUNT单元中。答: DATA SEGMENTADDR DW YCOUNT DW ?DATA ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE ,DS:DATA
58、0; START: PUSH DS SUB AX,AX
59、PUSH AX MOV AX,DATA MOV DS,AX MOV
60、 CX,0 MOV AX,ADDR REPEAT:TEST AX,0FFFFH JZ EXIT
61、0; JNS SHIFT INC CX SHIFT:S
62、HL AX,1 JMP RETEAT EXIT:MOV COUNT,CX
63、160; RET MAIN ENDP CODE ENDS END START 31. 设有5个学生的成绩分别是76,69,84,90,55。试编写程序统计成绩在80100,6079以及60分以下人数的个数分别存放在COUNT开始的三个字节单元中。答:DATA SEGMENT ARRAY DB 76,69,84,90
64、,55 COUNT DB 3 DUP(0)DATA ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE ,DS:DATA
65、160;START: PUSH DS SUB AX,AX PUSH AX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年温州市瓯海区第三人民医院面向社会招聘工作人员5人笔试参考题库及答案详解
- 2026年喀什大学附属中学银龄教师招聘(5人)笔试参考题库及答案详解
- 2026内蒙古师范大学科研助理招聘7人(第二批)笔试备考题库及答案详解
- 词块教学:开启专业学位硕士研究生英语写作能力提升之门
- 2026年陕西特岗教师招聘383人考试参考题库及答案详解
- 2026湖南长沙宁乡市所属事业单位公开选调工作人员3人笔试模拟试题及答案详解
- 招聘1人!西宁市妇幼保健计划生育服务中心招募志愿者笔试模拟试题及答案详解
- 2026济宁高新区实验学校附属幼儿园招聘考试参考题库及答案详解
- 2026新疆水发润鑫水处理科技有限公司第二批社会招聘2人笔试模拟试题及答案详解
- 2026四川二滩实业发展有限责任公司九龙孟底沟分公司招聘16人笔试模拟试题及答案详解
- 2026年湖北高考物理考试试题及答案
- 2026年危险化学品重点县专家指导服务自查表
- 2026年贵州综合评标专家库评标专家考试经典试题及答案
- 代煎中药评估考核制度
- 厂中厂安全培训教学课件
- 煤矿生产区队交接班制度
- 酒店标准品牌化运营方案
- 2026年1月浙江首考英语真题(原卷版)
- 银行消防安全教育培训课件
- 水资源保护规划编制规程(2025版)
- 2026年高考全国II卷历史真题解析含答案
评论
0/150
提交评论