




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编作业1:选择填空题:单项选择题:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是(D) ADB 41,42,43,44,45,46 BDW 4142H,4344H,4546H CDW AB,CD,EF DDW BA,DC,FE 2在同一程序段中,定义下面伪指令,正确的是(C)? APORT EQU ALBCONT EQU 3500H AND OFFH PORT EQU 2000H CSTRl DBABCD DSTR2 DWABCD3DA2 DWAB,CD MOV AX,WORD PTR DA2+1 上述语句执行后AX中的值是(C) AAD BBC CDA DCB 4下列数据定义语句中可实现留空20H个字节存储单元的是(D) ADB 20 DUP(?) BDW 20H DUP(?) CDB 10H DUP(4 DUP(?) DDB 20H DUP(?) 5设DL=55H,执行指令后能使DL中的数据为OAAH的指令是 ( D ) A.TST DL, OAAH B.OR DL, OAAH C.NEG DL D.XOR DL, OFFH6DW 10H DUP (2 DUP(3),300H) 上述定义的数据单元中,能构成0303H字存储单元的个数是( D ) A.10H B.20H C.1EH D.OFH7下列寄存器中用来指示堆栈中任意数据区的偏移地址的是(B) ABX BBP CSI DDI 8下列指令中有语法错误的是(C) APUSH AX BPUSH 20H+SI+BX CPOP CS DPUSH CS 9循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是( B ) A.CX0且ZF=1 B.CX0且ZF=0 C.CX0或ZF=1 D.CX0或ZF=010设AX=0CCBBH, CF=1 AND AX, 7FFEH RCR AX, 1 上述两条指令执行后,AX和CF中的内容分别是( C ) A.AX=265DH,CF=0 B.AX=265DH,CF=1 C.AX=A65DH, CF=0 D.AX=A65DH, CF=111把BL中的数据输出到端口8CH中,正确指令是(C) AOUT 8CH,BL BIN 8CH,BL CMOV AL,BL DMOV AL,BLOUT 8CH,AL IN 8CH,AL12结果为零的条件转移指令,其测试条件是(B) AZF=1 BZF=0 CSF=l DSF=0 13下面程序段完成测试DA_BYTE字节单元中数是否为负数,若是则将全l送DH中,否则全0送DH中,那么程序段中空格里应填的语句是 MOV CH,0 TEST DA_BYTE,80H _ MOV CH,0FFH ZERO:MOV DH,CH(C) AJNZ ZERO BJS ZERO CJZ ZERO DJC ZERO 14设NUM=11011011B,指令“MOV AX,NUM SHL 3”执行后AX中的值是(B )A.11011011000B B.11011000BC.00011011B D.00011011011B 15设SP初值为3050H,执行指令PUSH BX后,SP的值是(B) A304FH B304EH C3048H D3049H 16下列指令执行后影响CF值的是(D) ADEC BXCHG CLEA DSHL 17设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为(B) AAL=57H,BL=24H BAL=33H,BL=24HCAL=57H,BL=33H DAL=33H,BL=0 18设CL8(6),AL=0C8H,执行SAR AL,CL后,AL中的数据是(A) A0FFH B80H C00H D0FEH B19.在程序运行过程中,确定下一条指令的物理地址的计算表达式是( D )。(A) DS*16+SI (B) SS*16+SP(C) ES*16+DI (D) CS*16+IP20.物理地址(10FF0H)=10H, (10FF1H)=20H, (10FF2H)=30H, 从地址10FF1H中取一个字的内容是( B )。(A) 1020H (B)3020H (C)2030H (D)2010H21下列指令中操作数在代码段中的是( A )。?(A) MOV AL,42H (B) ADD AL,BL(C) SUB BX,DI (D) INC DI22下列指令执行后,对源操作数和目的操作数均无影响的是( D )。(A) MOV BX+2,AX(B) SUB AX,2467H(C) ADD SI,BX(D) CMP AX,BX23数据段定义如下,要求实现取DA1的偏移地址送到SI寄存器中,下面的指令错误的是:( D )。DA1 DB 50H DUP(?)DA2 DW DA1 (A) LEA SI,DA1 (B) MOV SI,OFFSET DA1 (C) MOV SI,DA2 (D) MOV SI,DA124.设(SS)=1234H,(SP)=0102H,执行PUSH BX后,堆栈顶部的物理地址是( A )。(A) 12440H (B) 12444H (C) 12344H (D) 12340H25.下面数据段共占用( D )字节的存储空间。 da1 DB ABCDEFGHIJ da2 DW 10 DUP(20H) da3 EQU 100 (A) 21 (B) 31 (C) 20 (D) 30a) 将AX清零,下列指令错误的是( C )。 (A) SUB AX,AX (B) XOR AX,AX(C) OR AX,00H (D) AND AX,00Hb) 设(AL)=79,ADD AL,0B1H指令执行后, CF和OF的值是( D )。(A) CF=0 OF=1 (B) CF=1 OF=1(C) CF=0 OF=0 (D) CF=1 OF=0c) 设AX=1000H, 执行上述指令后,正确的结果是( B )。d) NEG AXNOT AX ( B )(A) AX=1001H (B) AX=0FFFH (C) AX=1000H (D) AX=0111H填空题1. 汇编语言程序中常量定义伪指令在( 汇编 )阶段被执行。?(不太了解常量定义伪指令的一些知识点)2. 0B1D:1000单元的物理地址是(0C1D0H ),该物理地址的另一种分段表示形式是(0A12:20B0 )。3. 在8088CPU中按照分段规则对1M存储空间进行分段,其可作为段首单元的地址共有(16 )个,每个相邻的段首地址相差( 64K )个单元。4. 一个汇编语言程序最少由( 1 )个代码段构成,(选择:必须有一个/可有可无)可有可无数据段,数据段内(不可以)(选择:可以/不可以)存储指令代码。5. 指令MOV AX,SEG BUF的功能是把( BUF变量的所在段的段地址值 )送到AX中。6. 要使AL寄存器中数据的高4位不变,低4位取反,可使用XOR AL,( 0FH )指令实现。7. 要使AL寄存器中负数变为正数,可以使用 ( NOT/NEG )指令实现。8. 指令MOV AX,ES:BXSI源操作数的物理地址计算表达式是( ES*10H+BX+SI )。9. 条件转移指令的跳转地址范围是(-128+127 ),如(IP)=1000H,位移量是0F8H,则条件转移指令的转移地址是( 10F8H )。10. 条件转移指令计算跳转地址的方法是(当前IP+位移量 ),它的寻址方式属于( 相对寻址 )。11. 写出将AL寄存器中的数据输出到378H号端口的指令(OUT 378H,AL )。12. 已知(BX)=2AH,字变量VAR存放的内容为0AAH,执行指令XOR BX,VAR后(BX)=( 80H )。13. 已知(BX)=2AH,字变量VAR存放的内容为0AAH,执行指令CMP BX,VAR后(BX)=(2AH )。14. MOV AX,-2指令执行后,AX寄存器中的16进制数值是(FFFEH )。15. 已知AX=1234H,CL=4,CF=1,ROR AX,CL指令执行后,AX=(4123)H。汇编作业2分析题1现有程序如下: DATA SEGMENT BUF DB AI39*5867Jfe=KJYKGNGK339385 C= BUF N1 DB 0 N2 DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV CX,C LEA SI,BUF L: MOV AL,SI CMP AL,30H JB NEXT CMP AL,39H JA NEXT INC N1 JMP CONT NEXT: INC N2 CONT: INC SI LOOP L MOV AH,4CH INT 21H CODE ENDS END START 请回答:(1)该程序完成什么功能?答:统计BUF字符串中数字的个数和非数字的个数 (2)该程序执行完后,N1和N2的内容各是多少?答:N1中为0CH,N2中为0FH 2现有程序如下: DATA SEGMENT BUF DB ER39*5867JgeewFGHYUO9385 C = BUF DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV CX,C LEA SI,BUF L: MOV AL,SI CMP AL,61H JB NEXT CMP AL,7AH JA NEXT SUB AL,20H MOV SI,AL NEXT: INC SI LOOP L MOV AH,4CH INT 21H CODE ENDS END START 请回答:(1)该程序完成什么功能?答:将字符串中的小写字母转换成大写字母 (2)该程序执行完后,BUF缓冲区的内容是什么?答:程序执行完后,BUF缓冲区的内容为ER39*5867JGEEWFGHYUO9385 3现有程序如下: DATA SEGMENTBUF DB 47H,0A4H,93H,38,-23,55H,251,0,78HC=$-BUFBUF1 DB C DUP (0)BUF2 DB C DUP (0) DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,CLEA SI,BUFLEA DI,BUF1LEA BX,BUF2L: MOV AL,SICMP AL,0JGE PMOV BX,ALINC BXJMP NEXTP: MOV DI,ALINC DINEXT: INC SILOOP LMOV AH,4CHINT 21HCODE ENDSEND START 请回答:(1)该程序完成什么功能? (2)该程序执行完后,BUF1和BUF2缓冲区的内容各是什么? 答:(1)该程序的功能是:若BUF缓冲区的内容是大于等于0的数,则送至BUF1中,若为小于0的数则送至BUF2中(2)BUF1缓冲区的内容是:47H,38,55,0,78 BUF2缓冲区的内容是:0A4,93H,-23,251 4现有程序如下: DATA SEGMENT BUF1 DB 100 DUP (?) BUF2 DB 200 DUP (0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CX,100 LEA SI,BUF1 LEA DI,BUF2+100 L: MOV AL,SI MOV DI,AL INC SI INC DI LOOP L MOV , AH,4CH INT 21H CODE ENDS END START 请回答 :(1)该程序完成什么功能? (2)如果将指令“LEA DI,BUF2+100”改为“LEA DI,BUF2”之后,程序执行完后的结果如何? 答:(1)该程序的功能是:将BUF1缓冲区的的100个字节内容送到BUF2缓冲区的后100个字节单元中 (2)将BUF1缓冲区的的100个字节内容送到BUF2缓冲区的前100个字节单元中 5现有程序如下: DATA SEGMENT BUF1 DB 100 DUP (?) BUF2 DB 100 DUP (0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CX,100 LEA SI,BUF1 LEA DI,BUF2 L: MOV AL,SI CMP AL,100 JB NEXT MOV DI,AL I NC DI NEXT: INC SI LOOP L MOV AH,4CH INT 21H CODE ENDS END START 请回答 :(1)该程序完成什么功能? (2)如果将指令“JB NEXT”改为“JAE NEXT”,则程序执行结果如何?答:(1)该程序的功能是:将BUF1缓冲区的大于等于100的数送至BUF2缓冲区中(2)将BUF1缓冲区的小于100的数送至BUF2缓冲区 6现有程序如下: DATA SEGMENT BUF1 DB 100 DUP (?) SUM DW 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CX,100 LEA SI,BUF1 MOV AX,0 L: ADD AL,SI ADC AH,0 INC SI LOOP L MOV SUM,AX MOV AH,4CH INT 21H CODE ENDS END START 请回答 :(1)该程序完成什么功能? (2)如果去掉指令“ADC AH,0”,则程序执行结果将如何?答:(1)将BUF1缓冲区100个字节单元的内容累加,其结果送至SUM中(2)ADC为二进制带进位相加,若去掉该指令,结果的最高进位会被自动丢掉,从而导致结果不正确。 7现有程序如下: DATA SEGMENT BUF1 DB 32H,64H,72H,38H,68H,9AH,89H,0 SUM DW 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,BUF1 MOV AX,0 L: CMP SI,BYTE PTR 0 JZ NDO ADD AL,SI ADC AH,0 INC SI JMP L NDO: MOV SUM,AX MOV AH,4CH INT 21H CODE ENDS END START 请回答 :(1)该程序完成什么功能?(2)程序执行完后,共执行了多少次相加的操作?答:(1)将BUF1缓冲区中的以0为结尾的若干个字节单元的内容累加,结果送到SUM中?(2)一共执行了7次相加的操作8现有程序如下: STACK SEGMENT STACK STACK DW 100 DUP(0) STACK ENDS DATA SEGMENT BUF DB 100 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX LEA DI,BUF L: MOV AH,1 INT 21H CMP AL,0DH JZ EXIT CALL STO JMP L EXIT: MOV BYTE PTRDI, LEA DX,BUF MOV AH,9 INT 21H MOV AH,4CH INT 21H STO PROC CMP AL,30H JB NEXT CMP AL,39H JA NEXT MOV DI,AL INC DI NEXT: RET STO ENDP CODE ENDS END START 请回答:(1)STO子程序完成的功能是什么? (2)该程序完成的功能是什么?答:(1)若AL寄存器的内容为数字09的ASCII码值,则将其宋代BUF缓冲区对应的内存单元。(2)该程序的功能是:用键盘一个个输入字符,将其中数字组成的字符串在屏幕上显示输出,最后以回车键结束。9阅读以下程序后回答问题。DD2DB0,l,2,3,4,5,6,7,8,9LEA SI,DD2LEA DI,DD2+1MOV CX,5LOP:MOV AL,SIXCHG AL,DIMOV SI,ALADD SI,2ADD DI,2DEC CXJNZ LOP回答:(1) 该程序段完成什么功能? (2) 程序运行后,DD2开始的l0个字节数应是什么值?答:(1)相邻的两个字节单元的内容发生交换(2)1,0,3,2,5,4,7,6,9,8 10现有程序如下: STACK SEGMENT STACK STACK DW 20h DUP(0) STACK ENDS DATA SEGMENT BUF Dw 1 C DB 2 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV BL,C MOV SI,BUF L1: PUSH SI CALL SUBP1 CALL SUBP2 POP SI INC SI DEC BL JNZ L1 MOV AH,4CH INT 21H SUBP1 PROC PUSH AX PUSH DX L2: MOV DL,41H MOV AH,2 INT 21H DEC SI JNZ L2 POP DX POP AX RET SUBP1 ENDP SUBP2 PROC PUSH AX PUSH DX MOV CX,8 L3: MOV DL,* MOV AH,2 INT 21H LOOP L3 MOV DL,0DH MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H POP DX POP AX RET SUBP2 ENDP CODE ENDS END START 请回答:(1)SUBP1子程序完成的功能是什么? (2)SUBP2子程序完成的功能是什么? (3)该程序完成的功能是什么?答:(1)输出大写字母A (2)输出8个*,并回车换行 (3)输出以下字符:A* A* 11现有程序如下: DATA SEGMENT X DB 0ABH FLAG DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,X CMP AL,0 JGE L MOV FLAG,0 JMP EXIT L: MOV FLAG,1 EXIT: MOV AH,4CH INT 21H CODE ENDS END START 请回答:(1)该程序完成什么功能? (2)程序执行完后FLAG中的内容是多少?答:(1)判断变量X值的正负:当X大于等于0时,FLAG=1;否则,FLAG=0(2)程序执行完后FLAG的内容为0 12现有程序如下: DATA SEGMENT BUF DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AH,1 INT 21H CMP AL,61H JB N CMP AL,7AH JA N SUB AL,20H N: MOV BUF,AL MOV AH,4CH INT 21H CODE ENDS END START 请回答:(1)该程序完成什么功能? (2)如果要将“CMP AL,7AH”改为“CMP AL,7BH”,则相应的指令“JA N”应改为什么指令?答:(1)将从键盘输入的小写字母转换成对应的大写字母并存在AL寄存器里,其余字符不改变,并送到BUF里(2)JAE N 13现有程序如下: DATA SEGMENT A DB 23 B DB 0F0H C DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,A CMP AL,B JZ L JG M MOV C,1 JMP EXIT L: MOV C,0 JMP EXIT M: MOV C,1 EXIT: MOV AH,4CH INT 21H CODE ENDS END START 请回答:(1)该程序完成什么功能? (2)程序运行后,C中的内容是什么?答:(1)计算C变量的值:当AB时,C=1;当A=B时,C=0;当AB时,C=-1。(2)程序运行后,C= 1 14现有程序如下: DATA SEGMENT X DW 7000H Y DW 9000H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,X SUB AX,Y JO L MOV DL,N JMP EXIT L: MOV DL,Y EXIT: MOV AH,2 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 请回答:(1)请程序完成什么功能? (2)程序执行完后,显示输出的结果如何?答:(1)判断X-Y的结果是否溢出,若有溢出,则屏幕上显示输出Y,否则显示输出N(2)显示输出的结果为Y 15阅读以下程序,该程序段完成什么功能?ANDCX,0101HANDDX,0101HTESTCL,DLJEABCTESTCH,DHJEABCSTIJMPEXITABC:CLIEXIT:RET答:该程序的功能是:判断CX和DX的第1,4位是否完全对应相同?,若完全相同,则将中断标志位设为1,否则为0。 16现有程序如下: DATA SEGMENT BUF DB 23,125,96 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,BUF MOV AL,SI MOV BL,SI+1 MOV CL, SI+2 CMP AL, BL JAE N1 XCHG AL, BL N1: CMP AL, CL JAE N2 XCHG AL, CL N2: CMP BL, CL JAE N3 XCHG BL, CL N3: MOV SI, AL MOV SI+1, BL MOV SI+2, CL MOV AH, 4CH INT 21H CODE ENDS END START 请回答:(1)该程序完成什么功能? (2)程序运行后BUF中的内容依次是什么?答:(1)将BUF缓冲区中的3个数按从小到大的顺序排列起来(2)程序运行后BUF中的内容依次是125,96,23 17现有程序如下: DATA SEGMENTX DB 4FHBUF DB 2 DUP (0)DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODESTART: MOV AX,DATAMOV DS,AXMOV AL,XMOV CL,4SHR AL,CLCMP AL,9JBE LADD AL,7L:ADD AL,30HMOV BUF,ALMOV AL,XAND AL,0FHCMP AL,10JB MADD AL,7M:ADD AL,30HMOV BUF+1,ALMOV AH,4CHINT 21HCODE ENDSEND START 请回答:(1)该程序完成什么功能? (2)程序运行后BUF中的内容依次是什么?答:(1)将X中的两位16进制数转换成ASCII码值并放到BUF中(2)34H,46H 18现有程序如下: DATA SEGMENT A DW 1234H B DW 5678H S DB NO SWAP! DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关节保护器材市场跨界合作案例分析考核试卷
- 出租车行业城市形象塑造中的社区参与与共建共享模式研究考核试卷
- 新质生产力的未来机遇展望
- 税务视角下的新质生产力发展
- 术后疼痛的护理
- 医疗用品质量管理体系紧急情况应对计划考核试卷
- 消费者行为分析在化学品网络营销中的应用考核试卷
- 地下管网排水系统优化设计方案
- 煤矿井下通信与信息系统方案
- 保护装置集成方案分析报告
- 统计分析在资产评估中的运用
- 网络基础知识课件教学
- 信号工-矿井提升运输安全培训课件
- 劳务派遣与工厂签合同
- 支气管哮喘防治指南(2024年版)解读
- 2024辽宁交投艾特斯技术股份有限公司招聘笔试参考题库附带答案详解
- 舞蹈艺术概论
- 2025年农业社会化作业合作协议
- 化工设备基础知识培训课件
- 《Linux培训基础》课件
- 工程职称评定工作总结(3篇)
评论
0/150
提交评论