汇编语言习题及答案_第1页
汇编语言习题及答案_第2页
汇编语言习题及答案_第3页
汇编语言习题及答案_第4页
汇编语言习题及答案_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上汇编语言复习题简答题1.存储器地址为什么要分段?物理地址是如何形成的? 2.IBM PC机的寻址方式(与数据有关的寻址方式)有几种?各举一例说明。 3.80x86微机的存储器中存放信息如下图所示。试读出30022H与30024H字节单元的内容与30021H和30022H字单元的内容。4.现有(DS) 2000H,(BX)0100H,(SI) 0002H, (20100)= 12H, (20101)=34H, (20102)= 56H, (20103)=78H, (21200)=2AH, (21201)= 4CH, (21202)=B7H, (21203) = 65H,

2、试说明下列各条指令执行完后AX的内容。1) MOV AX,1200H2) MOV AX,BX3) MOV AX,1200H4) MOV AX,BX5) MOV AX,1100BX5.完成下列各式补码数的运算,并根据结果设置标志位SF,CF,ZF,OF,指出运算结果是否有效1) b+b2) b-b6.有符号定义语句如下:BUFF DB 1,2,3,123EBUFF DB 0L EQU EBUFF-BUFF问L的值为多少?为什么?答案:1、IBM PC系列机的字长为16位,能够访问的最大存储空间64KB,而在IBM PC内存为1MB的情况下,访问这1MB的存储空间需要20位。为了解决字长为16位的

3、机器访问1MB的存储空间,将1MB空间每16B分为一段,共64K段,以16位段地址:16位偏移地址的形式组成,物理地址通过如下方式计算:物理地址 段地址×10h + 偏移地址2.IBM PC机的寻址方式有7种:1)立即寻址:MOV AX, 1234H;2)寄存器寻址:MOV AX, BX;3)直接寻址:MOV AX, 1234H;4)寄存器间接寻址:MOV AX, BX;5)寄存器相对寻址:MOV AX, 20HBX;6)基址变址寻址:MOV AX, BXSI;7)相对基址变址寻址:MOV AX, 100HBXSI;3.解:(30022H)= 12H(30024H) = 56H(30

4、021H) = 12CDH(30022H) = 3412H4.解:(1) MOV AX,1200H解:(AX)=1200H(2) MOV AX,BX解:(AX)= 0100H(3) MOV AX,1200H解:物理地址(DS)×10H1200H(AX) = 4C2AH(4) MOV AX,BX解:物理地址(DS)×10H0100H20100H(AX)3412H(5) MOV AX,1100BX解:物理地址(DS)×10H0100H1100H21200H(AX)4C2AH5. (1)b+b解:由此可得:SF=1 CF=0 ZF=0 OF = 0 计算结果有效(2)b

5、-b解:>+由此可得:SF=1 CF=1 ZF=0 OF=1 减法计算中,被减数、减数符号相反,结果符号与减数相同,OF=1计算结果无效6.有符号定义语句如下:BUFF DB 1,2,3,123EBUFF DB 0L EQU EBUFF-BUFF问L的值为多少?为什么?解:根据数据段的定义,BUFF长度定义为6个字节,分别存放1,2,3,1,2,3,而后紧接着为EBUFF的地址,故L值为6程序题1 MOV BL,64H MOV CL,03H XOR AX,AX AGAIN:ADD AL,BL ADC AH,0 DEC CL JNZ AGAIN 问:(1)该程序段完成的功能是:(2)AX=

6、_。2 已知数据段中定义 DAT1 DB 12H,34H,56H,78H MOV CX,0 MOV AX,WORD PTR DAT1 MOV CL,DAT1+3当程序段执行完后AX=_,CX=_。3 DA1 DB 83H,72H,61H,94H,5AH MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL 上述指令序列执行后,AL=_,CL=_。4、某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串COMPUTER(不显示字符$!).试在空白处填上适当的一条指令。 STRING DBCOMPUTER,$MOV BX,0FFSE

7、T STRINGLOP:MOV DL,BX MOV AH,02H INT 21H _ _ JNE LOP答案:1、AX=012CH,将AX内容乘3送BX中2、AX=3412H,CX=0078H3、AL=0A0H,CL=03H4、INC BX CMP BX,24H名词解释1.机器语言2.汇编语言3.堆栈4.物理地址5.汇编程序 6.SP:7.IP:答案:1、 机器语言:能被计算直接识别的恶语言;2、 汇编语言:用指令的助记符、符号地址、标号等符号书写程序的语言; 3、 堆栈:以后进先出(或先进后出)方式工作的存储空间; 4、 物理地址:唯一代表存储空间中每个字节单元的地址;5、 汇编程序:把汇编

8、语言程序翻译成机器语言的系统程序。6、 SP:保存当前栈顶地址的寄存器;7、 IP:指示下一条要执行指令的地址的寄存器编程题1、试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符Y(设DA_BY存储区已有ES指向)。2、试编制一源程序,统计DA1字单元中含0的个数,如统计的个数为 奇数,则将进位位置1,否则进位位清0。 DATA SEGMENT DA1 DW XXXXDATA ENDS3、已知在N到N+i的存储区内有一ASCII码字符串(共i+1个),试编写一个汇编语言程序,将此字符串传送到NI到NI+i单元中,并使字符串的顺序与原顺序相反。(只写出关键代码段即

9、可)(6)1、 编写程序,求解sum= =a1+a2+a100,要求写出完整程序。(9)2、 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。只写关键代码段即可(8)3、 试编写一程序,比较两个字符串STRING1与STRING2所含有的字符是否完全相同,若相同则显示“MATCH”,如不同则显示“NO MATCH”,字符串内容自定义,要求写出完整的程序。(12)答案:1、 LEA DI,DA_BY MOV CX,32 MOV AL,Y CLD REP STOSB。2、 CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DAT

10、A MOV DS,AX LEA SI,DA1 MOV CX,16 XOR BL,BL AGAIN: MOV AL,SI HL AL,1 JC NEXT INC BL NEXT:INC SI LOOP AGAIN TEST BL,01H JNE L1 CLC JMP DONE L1: STC DONE: MOV AH,4CH INT 21H CODE ENDS END START 3、解:LEA SI,NLEA DI,NIADD DI,IMOV CX, IADD CX,1MOVE:CLDLODSBSTDSTOSBLOOP MOVE4、解:DATA SEGMENTARR DW a1, a2, a3

11、, a4, a5, a6, , a100SUM DW ?DATA ENDSCODE SEGMENTASSUME DS: DATA, CS: CODESTART:MOV AX, DATAMOV DS, AXLEA BX, ARRMOV CX, 100MOV AX, 0AGAIN:ADD AX, BXADD BX, 2LOOP AGAINMOV AX, 4C00HINT 21HCODE ENDSEND START5、解:BEGIN:MOV AH, 01HINT 21HCMP AL,aJB FINCMP AL,zJA FINSUB AL, 20HMOV DL, ALMOV AH, 02HINT 21

12、HJMP BEGINFIN:RET6、解:DATA SEGMENTSTRING1 DB HERE YOU ARESTRING2 DB HERE YOU AERYES DB MATCH, 0DH, 0AH, $NO DB NO MATCH, 0DH, 0AH, $ DATA ENDSCODE SEGEMTNASSUME CS:CODE, DS: DTATSTART:MOV AX, DATAMOV DS, AXBEGIN:LEA AL, STRING1LEA DL, STRING2MOX CX, STRING2 STRING1REP CMPSBJNE DISPNOMOV AH, 09HLEA DX

13、, YESINT 21HJMP EXITDISPNO:MOV AH, 09HLEA DX, NOINT 21HEXIT:MOV AX, 4C00HINT 21HCODE ENDSEND START阅读下列各指令序列段,写出它们各完成什么功能1 SUB AX, CXSBB DX, BX2 PUSH AXPUSH BXPOP AXPOP BX3 假设DS,ES初始化到同一数据段CLDMOV CX, 20LEA SI, STRING1LEA DI, STRING2REP MOVSB4 CLDMOV CX,COUNTMOV AL, ;空格LEA DI, CHAR_FIELDREP STOSB5 MOV

14、 CX, MMOV SI, 0NEXT:INC ARRAYSIADD SI, 2LOOP NEXT6 MOV DX, A+2MOV AX, AADD AX, AADC DX, A+2CMP DX, B+2JL L1JG L2CMP AX, BJB L1L2:MOV AX, 2JMP EXITL1:MOV AX, 1EXIT:HLT答案:1、 SUB AX, CXSBB DX, BX解:完成双精度数减法功能,即(DX, AX)(DX, CX) (DX, AX)2、 PUSH AXPUSH BXPOP AXPOP BX解:将AX与BX的内容交换3、 假设DS,ES初始化到同一数据段CLDMOV CX, 20LEA SI, STRING1LEA DI, STRING2REP MOVSB解:将STRING1中的20个字符移到STRING2中4、 CLDMOV CX,COUNTMOV AL, ;空格LEA DI, CHAR_FIELDREP STOSB解:用空格符将字符区CHAR_FIELD中的字符全部清除,字符数存在COUNT单元中5、 MOV CX, MMOV SI, 0NEX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论