汇编语言 期末复习 南京信息工程大学 谢永华.docx_第1页
汇编语言 期末复习 南京信息工程大学 谢永华.docx_第2页
汇编语言 期末复习 南京信息工程大学 谢永华.docx_第3页
汇编语言 期末复习 南京信息工程大学 谢永华.docx_第4页
汇编语言 期末复习 南京信息工程大学 谢永华.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

填空(1*20)l 书P47 【3-97】已知(AL)=0B4H,(CF)=1,分析下列指令执行后对AL和CF的影响SALAL,1移位后(AL)=68H,CF=1SARAL,1移位后(AL)=0DAH,CF=0SHLAL,1 移位后(AL)=68H,CF=1SHRAL,1 移位后(AL)=5AH,CF=0具体理解见书上图3.9,左移无特别,右移中SAR带符号右移的最高位用此高位补齐。l 书P59 【3-53】:已知中断向量表内容如下,求INT 08H指令所对应的中断向量0000:0020 76105FE288205FE2_6FEF00F06FEF00F0OA=08H*4=20H(十六进制乘法),以OA为偏离量在向量表中取出IP指针为76 10以OA+2为偏移量取出CS指针为5F E2,所以CS:IP=E25F:1076l 书P78 【4-8】DATA1 DB 10H,20H,30HDATA2 DW 4023H,1A84HMOVAX,WORD PTR DATA1强制从字节数据变为子数据(AX)=2010HMOVBL,BYTE PTR DATA2强制从字数据变为字节数据(BL)=23Hl 书P135,系统中断有三部分组成:功能、入口参数、出口参数l 笔记1:举例已知(SS)=4000H (AX)=1234H (BX)=5226H (SP)=1202H (BP)=1000H (41202H)=1A2BH (41200H)=1234H若执行PUSH AX问(SP)=1200H若执行POP BX 问(BX)=1A2BH (SP)=1204Hl 笔记2:注:此题也可能是计算题老师上课说重了!已知(DS)=1000H (CS)=2000H (ES)=3000H (SS)=4000H (SI)=102BH (DI)=0012H (BX)=0130H (BP)=02A3H (AX)=1003H写出下了指令的寻址方式和对应的源操作数物理地址MOVAX,1234H立即寻址方式物理地址未知MOVAX,BX寄存器寻址方式无物理地址MOVAX,1234H直接寻址方式1000H*16+1234H=11234HMOVAX,SI寄存器间接寻址方式1000H*16+102BH=1102BHMOVAX,BP寄存器间接寻址方式4000H*16+02A3H=402A3HMOVAX,SIBP基址变址寻址方式4000H*16+102BH+02A3H=412CEHMOVAX,ES:1000H直接寻址方式3000H*16+1000H=31000Hl 设有数据段定义如下: DATA SEGMENT PARADATAORG 0020HSTRING DB 10H, 30H,78HARRAY DW AB,2000H,3040HCNT EQU $-STRINGNUM1 EQU STRING+ARRAYDATA ENDS 试回答: 1)STRING、ARRAY的偏移量分别为 0020H 和 0023H 2)符号常量CNT和NUM1的值分别为 9 和 43H 3)STRING+5单元的内容是 0 判断题(2*5)分析下列指令在语法是是否有错误。MOVCS,AX错,CX不能作为目的操作数MOCDS,ES错,不能同为段寄存器操作数PUSHCS对POPCS错,CS不能为目的操作数IN100H,AL错,IN的写法是INT AL,PORT且当PORT8时,需要用MOV DX,100HINAL,DXOUT100H,AL错,当PORT8时,需要用MOV DX,100HOUTDX,ALLEABX,4300H错,SRC不能为立即数程序填空(30)l 求累加和看loop指令:1.算法,2.子程序和主程序调用,3.不用loop用什么指令替代(18)1. ARRAY DB 12H,34H,56H,78H2. MOV AX,03. LEA SI,ARRAY4. MOV CX,105. AGAIN:6. ADD AL,SI7. ADC AH,00H8. INC SI9. LOOP AGAIN10. MOV SUM,AX不用loop用什么指令替代1. ARRAY DB 12H,34H,56H,78H2. MOV AX,03. LEA SI,ARRAY4. MOV CX,105. AGAIN:6. ADD AL,SI7. ADC AH,00H8. INC SI9. DEC CX10. CMP CX,011. JNZ AGAIN12. MOV SUM,AX子程序和主程序的调用1. CODE SEGMENT2. ASSUME CS:CODE3. START:4. MAINPROC FAR5. ;主程序6. CALL DISPLAY7. ;上一行的DISPLAY是子程序名8. MOV AH,4CH9. INT 21H10. MAINENDP11.12. DISPLAY PROC NEAR13. ;上一行的DISPLAY是子程序名14. ;子程序15. RET16. DISPLAYENDP17. CODE ENDS18. END STARTl 数据传送(数据段到附加段,数据段到数据段)(12)1. DATA SEGMENT2. ARRAY DB 12H,34H,56H,78H,A,B3. COUNT EQU $-ARRAY4. DATA ENDS5. EXTRA SEGMENT6. ORG 0010H7. DESTIN DB COUNT DUP(?)8. EXTRA ENDS9.10. CODE SEGMENT11. ASSUME DS:DATA,ES:EXTRA,CS:CODE12. START:13. MOV AX,DATA14. MOV DS,AX15. MOV AX,EXTRA16. MOV ES,AX17. LEA SI,ARRAY18. LEA DI,DESTIN19. CLD20. MOV CX,COUNT21. REP MOVSB22. MOV AH,4CH23. INT 21H24. CODE ENDS25. END START从数据段到数据段1. DATA SEGMENT2. ARRAY DB 12H,34H,56H,78H,A,B3. COUNT EQU $-ARRAY4. ORG 0010H5. DESTIN DB COUNT DUP(?)6. DATA ENDS7. CODE SEGMENT8. ASSUME DS:DATA,CS:CODE9. START:10. MOV AX,DATA11. MOV DS,AX12. MOV AX,DATA13. MOV ES,AX14. LEA SI,ARRAY15. LEA DI,DESTIN16. CLD17. MOV CX,COUNT18. REP MOVSB19. MOV AH,4CH20. INT 21H21. CODE ENDS22. END START程序中RET指令可用 MOV AH,4CH;INT 21H两句指令来代替计算题(2*5)指出下列指令的寻址方式,并计算相应的物理地址。指令执行前(DS)=3000H,(BX)=0700H,(SI)=0604H,(DI)=0100H;TABLE=1200H,DISP=0A00H,(SS)=4000H,(BP)=0D00H。MOVAX,BX寄存器寻址无物理地址MOVAX,BX寄存器间接寻址3000H*16+0700H=30700HMOVAX,TABLE SI变址寻址3000H*16+0604H+1200H=31804HMOVAX,BP DISP基址寻址4000H*16+0D00H+0A00H=41700HMOVAX,BX DI基址变址寻址3000H*16+0700H+0100H=30800HMOVAX,BP SI TABLE相对基址变址寻址4000H*16+0D00H+0604H+1200H=42504H程序设计(10*3)l 试编写一程序,统计DATA_W字数组中正数、负数和0的个数,并分别保存在变量COUT1、COUT2、COUT3变量中。1. DATA SEGMENT2. DATA_W DB 10,-3,43,0,4,-8,03. COUNT EQU $-DATA_W4. COUNT1 DB 00H5. COUNT2 DB 00H6. COUNT3 DB 00H7. DATA ENDS8.9. CODE SEGMENT10. ASSUME CS:CODE,DS:DATA11. START:12. MOV AX,DATA13. MOV DS,AX14.15. MAINPROC FAR16. LEA SI,DATA_W17. MOV CX,COUNT18. COMPA:19. MOV AL,SI20. CMP AL,021. JLE NEXT122. INC COUNT123. JMP EXIT24. NEXT1:25. JZ NEXT226. INC COUNT227. JMP EXIT28. NEXT2:29. INC COUNT330. EXIT:31. INC SI32. LOOP COMPA33. MOV AL,COUNT134. CALL DISPLAY35. MOV AL,COUNT236. CALL DISPLAY37. MOV AL,COUNT338. CALL DISPLAY39.40. MOV AH,4CH41. INT 21H42. MAINENDP43.44. DISPLAY PROC NEAR45. ;输出部分46. MOV AH,00H47. MOV BL,64H48. DIV BL49. MOV BH,AH50. OR AL,30H51. MOV AH,02H52. MOV DL,AL53. INT 21H54. MOV AL,BH55. MOV AH,056. MOV BL,0AH57. DIV BL58. MOV BH,AH59. OR AL,30H60. MOV AH,02H61. MOV DL,AL62. INT 21H63. MOV DL,BH64. ADD DL,30H65. MOV AH,02H66. INT 21H67. MOV DL,0DH68. MOV AH,02H69. INT 21H70. MOV DL,0AH71. MOV AH,02H72. INT 21H73. RET74. DISPLAYENDP75. ;结束76. CODE ENDS77. END STARTl 有数据段如下:D_SEG SEGMENTVAR DB 50H,35H,46H,0F1H,10HLEN EQU $-VARMAX DB ?MIN DB ?SUM DW ?D_SEG ENDS编程找出VAR缓冲区中的最大值和最小值,并分别存入MAX和MIN单元;最后求最大值与最小值之和,存入SUM单元D_SEG SEGMENT1. D_SEG SEGMENT2. VAR DB 50H,35H,46H,0F1H,10H3. LEN EQU $-VAR4. MAXDB ?5. MIN DB ?6. SUM DW ?7. STRING1 DB The Max is:$8. STRING2 DB The Min is:$9. STRING3 DB The Sum is:$10. D_SEG ENDS11.12. CODE SEGMENT13. ASSUME CS:CODE,DS:D_SEG14. START:15. MOV AX,D_SEG16. MOV DS,AX17.18. MAINPROC FAR19. LEA SI,VAR20. MOV CX,LEN21.22. MOV AL,SI23. MOV BL,SI24. AGAIN:25. CMP SI,AL26. JB XIAOYU27. CMP SI,BL28. JA DAYU29. JMP NEXT30. XIAOYU:31. MOV AL,SI32. JMP NEXT33. DAYU:34. MOV BL,SI35. NEXT:36. INC SI37. LOOP AGAIN38.39. MOV MAX,BL40. MOV MIN,AL41. MOV AH,00H42. MOV BH,00H43. ADD AX,BX44. MOV SUM,AX45.46. MOV AH,09H47. LEA DX,STRING148. INT 21H49. MOV AL,MAX50. MOV AH,00H51. CALL DISPLAY52.53. MOV AH,09H54. LEA DX,STRING255. INT 21H56. MOV AL,MIN57. MOV AH,00H58. CALL DISPLAY59.60. MOV AH,09H61. LEA DX,STRING362. INT 21H63. MOV AX,SUM64. CALL DISPLAY65.66. MOV AH,4CH67. INT 21H68. MAINENDP69.70. DISPLAY PROC NEAR71. ;输出部分72. MOV BL,64H73. DIV BL74. MOV BH,AH75. OR AL,30H76. MOV AH,02H77. MOV DL,AL78. INT 21H79. MOV AL,BH80. MOV AH,081. MOV BL,0AH82. DIV BL83. MOV BH,AH84. OR AL,30H85. MOV AH,02H86. MOV DL,AL87. INT 21H88. MOV DL,BH89. ADD DL,30H90. MOV AH,02H91. INT 21H92. MOV DL,0DH93. MOV AH,02H94. INT 21H95. MOV DL,0AH96. M

温馨提示

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

评论

0/150

提交评论