《汇编实验练习题目.ppt》由会员分享,可在线阅读,更多相关《汇编实验练习题目.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、汇编实验练习题目3.调试问题:3-7,3-8,3-9附录E3-7 用DEBUG的E命令来进入下列的机器语言程序:机器码(在00H中):A0 00 D0 E0 F6 26 01 02 A3 02 02 90 数据(在200H中):2A 12 00 00 程序的实现的功能如下:.把DS:0200(2A)中的一个字节的内容移到AL寄存器。.把Al 中的一个位移动到左边(结果是54。).把在DS:0201中的一字节内容与AL相乘。.把结果从AX中移到 DS:0202的开始的字;键入程序后,键入D 命令来查看代码和数据。键入R 和连续的T 命令来一步步运行程序直到到达NOP。这时,AX 应该包含了结果0
2、5E8H。键入另一个D DS:0200,且注意到在DS:0202 中的结果是E805。3-7解决方案-E CS:100 A0 00 02 D0 E0 F6 26 01 02 A3 02 02 90 ;输入E指令-D CS:100 LC1370:0100 A0 00 D0 E0 F6 26 01 02-A3 02 02 90 .&.-E DS:200 2A 12 00 00-D DS:200 L41370:0200 2A 12 00 00-RAX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B41 ES=0B4
3、1 SS=0B41 CS=0B41 IP=0100 NV UP EI PL NZ NA PO NC0B41:0100 A00002 MOV AL,0200 DS:0200=2A-TAX=002A BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=0B41 ES=0B41 SS=0B41 CS=0B41 IP=0103 NV UP EI PL NZ NA PO NC0B41:0103 D0E0 SHL AL,1-TAX=0054 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=
4、0000DS=0B41 ES=0B41 SS=0B41 CS=0B41 IP=0105 NV UP EI PL NZ NA PO NC0B41:0105 F6260102 MUL BYTE PTR 0201 DS:0201=12-0B41:0105 F6260102 MUL BYTE PTR 0201 DS:0201=12-TAX=05E8 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=0B41 ES=0B41 SS=0B41 CS=0B41 IP=0109 OV UP EI PL NZ NA PO CY0B41:0109
5、A30202 MOV 0202,AX DS:0202=0000-TAX=05E8 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=0B41 ES=0B41 SS=0B41 CS=0B41 IP=010C OV UP EI PL NZ NA PO CY0B41:010C 90 NOP-D DS:202 L2 0B41:0200 E8 053-8 问题问题3-7,键入命令进入写在硬盘上的程序键入命令进入写在硬盘上的程序HEXMULT.COM.-U 100 10C0B41:0100 A00002 MOV AL,02000B41:01
6、03 D0E0 SHL AL,10B41:0105 F6260102 MUL BYTE PTR 02010B41:0109 A30202 MOV 0202,AX0B41:010C 90 NOP-N HEXMULT.COM-R BXBX 0000:0-R CXCX 0000:000B-WWriting 0000A bytes3-9.用 DEBUG的A命令来进入下列指令:MOV CX,3B ADD CX,1C SHL CX,01 SUB CX,36 NOP 反汇编这些指令跟踪指令的运行直到NOP.并且对每条指令,都查看CX寄存器的值。3-9-A0B41:0100 MOV CX,3B0B41:010
7、3 ADD CX,1C0B41:0106 SHL CX,10B41:0108 SUB CX,360B41:010B NOP-U 100 10B0B41:0100 B93B00 MOV CX,003B0B41:0103 83C11C ADD CX,+1C0B41:0106 D1E1 SHL CX,10B41:0108 83E936 SUB CX,+360B41:010B 90 NOP-TAX=0000 BX=0000 CX=003B DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=0B41 ES=0B41 SS=0B41 CS=0B41 IP=0103 NV
8、UP EI PL NZ NA PO NC0B41:0103 83C11C ADD CX,+1C-TAX=0000 BX=0000 CX=0057 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=0B41 ES=0B41 SS=0B41 CS=0B41 IP=0106 NV UP EI PL NZ AC PO NC0B41:0106 D1E1 SHL CX,1-TAX=0000 BX=0000 CX=00AE DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=0B41 ES=0B41 SS=0B41 CS=0B41 IP=01
9、08 NV UP EI PL NZ AC PO NC0B41:0108 83E936 SUB CX,+36-TAX=0000 BX=0000 CX=0078 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=0B41 ES=0B41 SS=0B41 CS=0B41 IP=010B NV UP EI PL NZ NA PE NC0B41:010B 90 NOP5.连接和执行程序问题(PC上):5.1 用如下指令来写程序:REPE COMPSB REPEN SCASBC51.LST Microsoft(R)Macro Assembler Version 5.00
10、4/17/4 Page 1-10000DATASG SEGMENT PARA DATA 0000 48 41 4F 51 49 41 4E STRING1 DB HAOQIANG 47 0008 48 41 62 63 64 65 66 STRING2 DB HAbcdefg 67 0010DATASG ENDS 0000CODESG SEGMENT PARA CODE 0000MAIN PROC FAR ASSUME DS:DATASG,CS:CODESG 0000 B8-R MOV AX,DATASG 0003 8E D8 MOV DS,AX 0005 8E C0 MOV ES,AX 00
11、07 B9 0008 MOV CX,8H;000A 8D 3E 0000 R LEA DI,STRING1 000E 8D 36 0008 R LEA SI,STRING2 0012 F3/A6 REPE CMPSB 0014 B8 4C00 MOV AX,4C00H 0017 CD 21 INT 21H 0019MAIN ENDP 0019CODESG ENDS END MAIN C51.MAPWarning:No STACK segment Start Stop Length Name Class 00000H 0000FH 0010H DATASG DATA 00010H 00028H
12、0019H CODESG CODE Origin GroupProgram entry point at 0001:0000TITLE C51b USING THE INSTRUCTION OF REPNE SCASB .MODEL SMALL .STACK 64 .DATASTRING DB INTERNATIONAL;-.CODEMAIN PROC FAR MOV AX,DATA MOV DS,AX CLD MOV CX,13 LEA DI,STRING REPNE SCASBMAIN ENDP END MAINC51b.LST 1TITLE 5_2 USING THE INSTRUCTI
13、ON OF REPNE SCASB 2 .MODEL SMALL 3 0040 .STACK 64 4 0000 .DATA 5 0000 49 4E 54 45 52 4E 41STRING DB INTERNATIONAL 6 54 49 4F 4E 41 4C 7;-8 0000 .CODE 9 0000MAIN PROC FAR 10 0000 B8-R MOV AX,DATA 11 0003 8E D8 MOV DS,AX 12 0005 FC CLD 13 0006 B9 000D MOV CX,13 14 0009 8D 3E 0000 R LEA DI,STRING 15 000D F2/AE REPNE SCASB 16 000FMAIN ENDP 17 000F END MAIN C51b.MAP Start Stop Length Name Class 00000H 0000EH 000FH _TEXT CODE 00010H 0001CH 000DH _DATA DATA 00020H 0005FH 0040H STACK STACK Origin Group 0001:0 DGROUPProgram entry point at 0000:0000
限制150内