【VIP专享】汇编程序设计--内存操作数及寻址方法 实验报告

合集下载

汇编语言程序设计实验报告

汇编语言程序设计实验报告

汇编语言程序设计实验报告汇编语言程序设计实验报告引言:汇编语言是计算机中最基本的语言,通常用于处理硬件相关问题。

在这个实验中,我们学习了汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。

以下是我们的实验报告。

正文:1. 实验环境我们使用的实验环境是Intel 8086微处理器与高级汇编语言。

微处理器使用的是PCB-512主板,而高级汇编语言是MASM。

2. 实验目的我们的实验目的主要是学习汇编语言的基础知识和编程技巧,包括了汇编语言的寄存器、指令、内存管理等方面的知识。

我们的另一个目的是掌握汇编语言的常用编程技巧,能够独立完成一些简单的汇编程序。

3. 实验内容我们的实验内容主要包括以下几点:(1)学习汇编语言的基础知识,包括寄存器、指令、内存管理等方面的知识。

(2)掌握汇编语言的常用编程技巧,包括数据输入输出、运算、跳转等基本操作。

(3)实践用汇编语言编写程序,如计算器、菜单等实用程序。

(4)了解8086微处理器的结构和原理。

4. 实验过程在这个实验过程中,我们完成了以下几个程序:(1)计算器计算器是一个简单的程序,主要用于实现两个数之间的加、减、乘、除等基本运算。

我们通过输入输出指令、存储指令等指令实现了这个程序的功能。

(2)菜单菜单是一个实用程序,主要用于展示一个简单的菜单并实现用户选择相关功能的功能。

我们使用了汇编语言中的跳转指令、输入输出指令等实现了这个程序。

5. 实验结果在我们的实验中,我们成功完成了上述两个程序。

我们通过输入输出指令、存储指令等指令实现了这个程序的功能。

6. 实验总结在这个实验过程中,我们学习汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。

我们通过编写计算器和菜单等简单实用程序,加深了对汇编语言的理解和认识。

我们认为这个实验对我们今后的学习和工作都有很大的帮助。

结论:通过这个实验,我们学习了汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。

实验二 内存操作数及寻址方法

实验二 内存操作数及寻址方法

实验二内存操作数及寻址方法-A0B03:0100 MOV AX,12340B03:0103 MOV[1000],AX0B03:0106 MOVBX,10020B03:0109 MOVBYTE PTR[BX],200B03:010C MOVDL,390B03:010E INCBX0B03:010F MOV[BX],DL0B03:0111 DECDL0B03:0113 MOVSI,30B03:0116 MOV[BX+SI],DL0B03:0118 MOV[BX+SI+1],DL0B03:011B MOVWORD PTR[BX+SI+2],28460B03:0120-T100AX=7674 BX=1003 CX=000A DX=8A92 SP=FFB2 BP=000A SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008F NV UP EI PL NZ NA PE NC0B03:008F 52 PUSH DXAX=7674 BX=1003 CX=000A DX=8A92 SP=FFB0 BP=000A SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0090 NV UP EI PL NZ NA PE NC0B03:0090 3D4130 CMP AX,3041AX=7674 BX=1003 CX=000A DX=8A92 SP=FFB0 BP=000A SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0093 NV UP EI PL NZ NA PE NC0B03:0093 0D6464 OR AX,6464AX=7674 BX=1003 CX=000A DX=8A92 SP=FFB0 BP=000A SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0096 NV UP EI PL NZ NA PE NC0B03:0096 7265 JB 00FDAX=7674 BX=1003 CX=000A DX=8A92 SP=FFB0 BP=000A SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0098 NV UP EI PL NZ NA PE NC0B03:0098 7373 JNB 010DAX=7674 BX=1003 CX=000A DX=8A92 SP=FFB0 BP=000A SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=010D NV UP EI PL NZ NA PE NC0B03:010D 394388 CMP [BP+DI-78],AX SS:FF92=C696-D0B03:0100 B8 34 12 A3 00 10 BB 02-10 C6 07 20 B2 39 43 88 .4......... .9C.0B03:0110 17 FE CA BE 03 00 88 10-88 50 01 C7 40 02 46 28 .........P..@.F(0B03:0120 BA 92 8A E9 53 FF A1 BC-98 80 FC 3A 74 02 B0 40 ....S......:t..@0B03:0130 8A 0E D8 99 0C 20 2C 60-A2 76 97 A0 BB 98 8A 26 ..... ,`.v.....&0B03:0140 1E 99 25 02 02 0A C0 74-13 3A C4 75 0F 80 3E D9 ..%....t.:.u..>.0B03:0150 99 00 74 08 FE 06 17 99-32 C0 EB 06 34 02 22 C4 ..t.....2...4.".0B03:0160 D0 E8 0A 06 D9 99 A2 C7-96 D0 E0 D0 E0 A2 D2 99 ................0B03:0170 80 3E D4 99 00 75 24 A2-D8 99 0A C9 75 1D 0A C0 .>...u$.....u...-T103AX=7674 BX=1003 CX=0014 DX=8A91 SP=FF76 BP=0014 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0118 NV UP EI NG NZ NA PO CY0B03:0118 885001 MOV [BX+SI+01],DL DS:1007=91 AX=7674 BX=1003 CX=0014 DX=8A91 SP=FF76 BP=0014 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=011B NV UP EI NG NZ NA PO CY0B03:011B C740024628 MOV WORD PTR [BX+SI+02],2846 DS:1008=2846AX=7674 BX=1003 CX=0014 DX=8A91 SP=FF76 BP=0014 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0120 NV UP EI NG NZ NA PO CY0B03:0120 BA928A MOV DX,8A92AX=7674 BX=1003 CX=0014 DX=8A92 SP=FF76 BP=0014 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0123 NV UP EI NG NZ NA PO CY0B03:0123 E953FF JMP 0079AX=7674 BX=1003 CX=0014 DX=8A92 SP=FF76 BP=0014 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0079 NV UP EI NG NZ NA PO CY0B03:0079 0000 ADD [BX+SI],AL DS:1006=91 AX=7674 BX=1003 CX=0014 DX=8A92 SP=FF76 BP=0014 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=007B NV UP EI PL NZ NA PE CY0B03:007B 0000 ADD [BX+SI],AL DS:1006=05 -D0B03:0180 74 19 8B 0E D5 96 E3 13-B0 1A 06 33 FF 8E 06 B4 t..........3....0B03:0190 96 F2 AE 07 75 05 4F 89-3E D5 96 BB BA 97 80 3E ....u.O.>......>0B03:01A0 C7 96 00 74 03 BB 00 98-BE 77 97 8B 3E B9 98 B9 ...t.....w..>...0B03:01B0 08 00 E8 12 00 80 3C 20-74 09 B0 2E AA B9 03 00 ......< t.......0B03:01C0 E8 04 00 32 C0 AA C3 B4-00 8A F1 80 FC 01 74 09 ...2..........t.0B03:01D0 B4 00 8A 07 E8 DC E2 74-02 FE C4 AC 3C 3F 75 27 .......t....<?u'0B03:01E0 80 FC 00 74 20 80 FC 01-75 22 3A CE 75 05 80 3C ...t ...u":.u..<0B03:01F0 20 74 0A 80 3C 3F 75 14-83 F9 01 76 0F 8A 07 AA t..<?u....v....-T106AX=7674 BX=1003 CX=001E DX=8A92 SP=FF38 BP=001E SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008B NV UP EI PL ZR NA PE NC0B03:008B 41 INC CXAX=7674 BX=1003 CX=001F DX=8A92 SP=FF38 BP=001E SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008C NV UP EI PL NZ NA PO NC0B03:008C 53 PUSH BXAX=7674 BX=1003 CX=001F DX=8A92 SP=FF36 BP=001E SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008D NV UP EI PL NZ NA PO NC0B03:008D 54 PUSH SPAX=7674 BX=1003 CX=001F DX=8A92 SP=FF34 BP=001E SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008E NV UP EI PL NZ NA PO NC0B03:008E 45 INC BPAX=7674 BX=1003 CX=001F DX=8A92 SP=FF34 BP=001F SI=0003 DI=00000B03:008F 52 PUSH DXAX=7674 BX=1003 CX=001F DX=8A92 SP=FF32 BP=001F SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0090 NV UP EI PL NZ NA PO NC0B03:0090 3D4130 CMP AX,3041-D0B03:0200 43 46 49 FE C4 8A 07 3C-20 74 01 AA 43 E2 BC C3 CFI....< t..C...0B03:0210 F6 46 04 02 75 43 8B D5-83 C2 05 57 B8 00 6C BB .F..uC.....W..l.0B03:0220 40 00 33 C9 8B F2 BA 01-01 CD 21 5F 73 15 E8 8C @.3.......!_s...0B03:0230 DB 3D 02 00 74 23 3D 03-00 74 1E 3D 05 00 74 19 .=..t#=..t.=..t.0B03:0240 E9 AB D8 8B D8 B8 00 44-CD 21 B4 3E CD 21 F6 C2 .......D.!.>.!..0B03:0250 80 75 53 F6 46 04 04 74-4D 8B 56 05 80 FA 00 74 .uS.F..tM.V....t0B03:0260 05 80 FE 3A 74 02 B2 40-80 CA 20 80 EA 60 E8 3C ...:t..@.. ..`.<0B03:0270 E4 73 06 E8 47 DB E9 75-D8 8B D5 83 C2 05 8A 7E .s..G..u.......~-T109AX=7674 BX=1003 CX=0029 DX=8A91 SP=FEF8 BP=0029 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0120 NV UP EI NG NZ NA PO NC0B03:0120 BA928A MOV DX,8A92AX=7674 BX=1003 CX=0029 DX=8A92 SP=FEF8 BP=0029 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0123 NV UP EI NG NZ NA PO NC0B03:0123 E953FF JMP 0079AX=7674 BX=1003 CX=0029 DX=8A92 SP=FEF8 BP=0029 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0079 NV UP EI NG NZ NA PO NC0B03:0079 0000 ADD [BX+SI],AL DS:1006=91 AX=7674 BX=1003 CX=0029 DX=8A92 SP=FEF8 BP=0029 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=007B NV UP EI PL NZ NA PE CY0B03:007B 0000 ADD [BX+SI],AL DS:1006=05 AX=7674 BX=1003 CX=0029 DX=8A92 SP=FEF8 BP=0029 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=007D NV UP EI PL NZ NA PO NC0B03:007D 0000 ADD [BX+SI],AL DS:1006=79 AX=7674 BX=1003 CX=0029 DX=8A92 SP=FEF8 BP=0029 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=007F OV UP EI NG NZ NA PE NC0B03:007F 0000 ADD [BX+SI],AL DS:1006=ED -D0B03:0280 04 80 E7 06 80 FF 06 75-18 8B 76 02 B3 3A 38 5C .......u..v..:8\0B03:0290 FE 75 06 C6 46 00 02 EB-05 C6 46 00 01 4E E9 83 .u..F.....F..N..0B03:02A0 00 80 FF 02 75 05 C6 46-00 00 C3 E8 8C EB B4 3B ....u..F.......;0B03:02B0 CD 21 72 39 8B FA 33 C0-8B C8 49 26 8A 05 47 0A .!r9..3...I&..G.0B03:02C0 C0 74 0C 32 E4 E8 EB E1-74 F1 47 FE C4 EB EC 4F .t.2....t.G....O0B03:02D0 A0 B7 96 C6 46 00 02 0A-E4 75 05 3A 45 FF 74 05 ....F....u.:E.t.0B03:02E0 AA C6 46 00 01 80 4E 04-06 E8 74 00 C3 E8 CD DA ..F...N...t.....0B03:02F0 3D 03 00 74 05 3D 05 00-75 60 C6 46 00 00 8A 7E =..t.=..u`.F...~-T10CAX=7674 BX=1003 CX=0034 DX=8A92 SP=FEB4 BP=0034 SI=0003 DI=00000B03:0098 7373 JNB 010DAX=7674 BX=1003 CX=0034 DX=8A92 SP=FEB4 BP=0034 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=010D NV UP EI PL NZ NA PE NC0B03:010D 394388 CMP [BP+DI-78],AX SS:FFBC=FFBEAX=7674 BX=1003 CX=0034 DX=8A92 SP=FEB4 BP=0034 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0110 NV UP EI NG NZ NA PO NC0B03:0110 17 POP SSAX=7674 BX=1003 CX=0034 DX=8A91 SP=FEB6 BP=0034 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0113 NV UP EI NG NZ NA PO NC0B03:0113 BE0300 MOV SI,0003AX=7674 BX=1003 CX=0034 DX=8A91 SP=FEB6 BP=0034 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0116 NV UP EI NG NZ NA PO NC0B03:0116 8810 MOV [BX+SI],DL DS:1006=61 AX=7674 BX=1003 CX=0034 DX=8A91 SP=FEB6 BP=0034 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0118 NV UP EI NG NZ NA PO NC0B03:0118 885001 MOV [BX+SI+01],DL DS:1007=91 -D0B03:0300 04 F6 C7 04 74 E6 C6 46-00 02 8B 76 02 80 3C 00 ....t..F...v..<.0B03:0310 74 4B B3 2E 38 1C 74 45-B3 3A 38 5C FE 74 05 C6 tK..8.tE.:8\.t..0B03:0320 46 00 01 4E 32 DB 86 1C-E8 0F EB 3B D6 73 1B 56 F..N2......;.s.V0B03:0330 51 8B CE 8B F2 AC E8 7A-E1 74 09 AC 3B F1 72 F5 Q......z.t..;.r.0B03:0340 59 5E EB 0B 3B F1 72 ED-59 5E 3A 5C FF 74 0E B4 Y^..;.r.Y^:\.t..0B03:0350 3B CD 21 86 1C 73 95 E8-63 DA E9 91 D7 E9 8B D7 ;.!..s..c.......0B03:0360 89 7E 02 80 46 01 0C B8-3F 2E B9 08 00 F3 AA 86 .~..F...?.......0B03:0370 C4 AA 86 C4 B1 03 F3 AA-32 C0 AA C3 BE BC 98 BF ........2.......-T10EAX=7674 BX=1003 CX=003F DX=8A92 SP=FE74 BP=003E SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008E NV UP EI PL NZ NA PE NC0B03:008E 45 INC BPAX=7674 BX=1003 CX=003F DX=8A92 SP=FE74 BP=003F SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008F NV UP EI PL NZ NA PE NC0B03:008F 52 PUSH DXAX=7674 BX=1003 CX=003F DX=8A92 SP=FE72 BP=003F SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0090 NV UP EI PL NZ NA PE NC0B03:0090 3D4130 CMP AX,3041AX=7674 BX=1003 CX=003F DX=8A92 SP=FE72 BP=003F SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0093 NV UP EI PL NZ NA PE NC0B03:0093 0D6464 OR AX,6464AX=7674 BX=1003 CX=003F DX=8A92 SP=FE72 BP=003F SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0096 NV UP EI PL NZ NA PE NC0B03:0096 7265 JB 00FDAX=7674 BX=1003 CX=003F DX=8A92 SP=FE72 BP=003F SI=0003 DI=00000B03:0098 7373 JNB 010D-D0B03:0380 82 93 B4 60 CD 21 BE 2B-93 BF 82 93 E8 93 E3 C3 ...`.!.+........0B03:0390 33 C0 89 3E E6 99 A2 E9-99 A2 EA 99 8A F8 9C 57 3..>...........W0B03:03A0 33 C9 88 0E 15 98 AC E8-3B E3 75 1D 3C 20 74 F6 3.......;.u.< t.0B03:03B0 3C 09 74 F2 86 06 EA 99-0A C0 74 EA F6 C7 80 74 <.t.......t....t0B03:03C0 05 C6 06 15 98 01 E9 2D-01 3A C3 75 05 80 CF 80 .......-.:.u....0B03:03D0 EB D4 3C 0D 75 03 E9 18-01 3A 06 B6 96 75 03 E9 ..<.u....:...u..0B03:03E0 17 01 B2 3A 38 14 75 1D-80 3E A4 98 01 75 03 E8 ...:8.u..>...u..0B03:03F0 EB E0 E8 5C 01 AC E8 58-01 89 3E E6 99 C6 06 E8 ...\...X..>.....-T10FAX=7674 BX=1003 CX=0049 DX=8A92 SP=FE36 BP=0049 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0088 NV UP EI PL ZR NA PE NC0B03:0088 20424C AND [BP+SI+4C],AL SS:0098=00 AX=7674 BX=1003 CX=0049 DX=8A92 SP=FE36 BP=0049 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008B NV UP EI PL ZR NA PE NC0B03:008B 41 INC CXAX=7674 BX=1003 CX=004A DX=8A92 SP=FE36 BP=0049 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008C NV UP EI PL NZ NA PO NC0B03:008C 53 PUSH BXAX=7674 BX=1003 CX=004A DX=8A92 SP=FE34 BP=0049 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008D NV UP EI PL NZ NA PO NC0B03:008D 54 PUSH SPAX=7674 BX=1003 CX=004A DX=8A92 SP=FE32 BP=0049 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008E NV UP EI PL NZ NA PO NC0B03:008E 45 INC BPAX=7674 BX=1003 CX=004A DX=8A92 SP=FE32 BP=004A SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008F NV UP EI PL NZ NA PO NC0B03:008F 52 PUSH DX-D0B03:0400 99 00 E9 B3 00 89 3E E6-99 C6 06 E8 99 00 80 3E ......>........>0B03:0410 A4 98 01 75 1D E8 57 E3-75 18 50 A0 C6 96 04 41 ...u..W.u.P....A0B03:0420 E8 2E 01 B0 3A E8 29 01-58 89 3E E6 99 C6 06 E8 ....:.).X.>.....0B03:0430 99 00 E8 7E E0 74 06 E8-17 01 AC EB 78 80 3E A4 ...~.t......x.>.0B03:0440 98 01 75 03 E8 96 E0 3C-2E 75 09 FE 06 E9 99 C6 ..u....<.u......0B03:0450 06 E8 99 FF 3C 3F 75 03-80 CF 02 3C 2A 75 30 80 ....<?u....<*u0.0B03:0460 CF 02 80 3E 22 9A 00 75-04 EB 24 EB 78 B4 07 80 ...>"..u..$.x...0B03:0470 3E E9 99 00 74 02 B4 02-B0 3F 2A 26 E8 99 72 EB >...t....?*&..r.-T111AX=7674 BX=1003 CX=0054 DX=8A92 SP=FDF6 BP=0054 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0084 NV UP EI PL NZ NA PE NC0B03:0084 205345 AND [BP+DI+45],DL SS:0099=00 AX=7674 BX=1003 CX=0054 DX=8A92 SP=FDF6 BP=0054 SI=0003 DI=00000B03:0087 54 PUSH SPAX=7674 BX=1003 CX=0054 DX=8A92 SP=FDF4 BP=0054 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0088 NV UP EI PL ZR NA PE NC0B03:0088 20424C AND [BP+SI+4C],AL SS:00A3=00 AX=7674 BX=1003 CX=0054 DX=8A92 SP=FDF4 BP=0054 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008B NV UP EI PL ZR NA PE NC0B03:008B 41 INC CXAX=7674 BX=1003 CX=0055 DX=8A92 SP=FDF4 BP=0054 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008C NV UP EI PL NZ NA PE NC0B03:008C 53 PUSH BXAX=7674 BX=1003 CX=0055 DX=8A92 SP=FDF2 BP=0054 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008D NV UP EI PL NZ NA PE NC0B03:008D 54 PUSH SP-D0B03:0480 86 E1 E3 09 86 E1 E8 C8-00 86 E1 E2 F7 86 E1 E8 ................0B03:0490 DD E2 75 21 80 CF 04 80-3E 22 9A 00 74 05 F6 C7 ..u!....>"..t...0B03:04A0 02 75 48 89 3E E6 99 FF-06 E6 99 C6 06 E8 99 FF .uH.>...........0B03:04B0 C6 06 E9 99 00 E8 99 00-AC E8 29 E2 74 38 3C 0D ..........).t8<.0B03:04C0 74 34 3A 06 B6 96 74 2E-3A C3 74 2A 3C 3A 74 03 t4:...t.:.t*<:t.0B03:04D0 E9 5F FF 80 3E A4 98 02-75 05 E8 74 00 EB D9 46 ._..>...u..t...F0B03:04E0 EB 14 E9 4D FF BA 89 8A-E9 93 E5 BA B1 8B E9 8D ...M............0B03:04F0 E5 4E 5F 9D F9 C3 4E EB-51 80 CF 01 81 CD 00 80 .N_...N.Q.......-T113AX=7674 BX=1003 CX=005F DX=8A92 SP=FDB4 BP=005F SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0084 NV UP EI PL NZ NA PE NC0B03:0084 205345 AND [BP+DI+45],DL SS:00A4=00 AX=7674 BX=1003 CX=005F DX=8A92 SP=FDB4 BP=005F SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0087 NV UP EI PL ZR NA PE NC0B03:0087 54 PUSH SPAX=7674 BX=1003 CX=005F DX=8A92 SP=FDB2 BP=005F SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0088 NV UP EI PL ZR NA PE NC0B03:0088 20424C AND [BP+SI+4C],AL SS:00AE=00 AX=7674 BX=1003 CX=005F DX=8A92 SP=FDB2 BP=005F SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008B NV UP EI PL ZR NA PE NC0B03:008B 41 INC CXAX=7674 BX=1003 CX=0060 DX=8A92 SP=FDB2 BP=005F SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008C NV UP EI PL NZ AC PE NC0B03:008C 53 PUSH BXAX=7674 BX=1003 CX=0060 DX=8A92 SP=FDB0 BP=005F SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008D NV UP EI PL NZ AC PE NC0B03:008D 54 PUSH SP-D0B03:0500 E8 DA E1 46 E8 AC DF 74-0D E8 45 00 AC E8 41 00 ...F...t..E...A.0B03:0510 81 CD 00 40 EB 34 3C 0D-75 09 B0 00 AA 81 CD 00 ...@.4<.u.......0B03:0520 40 EB CE E8 2B 00 E8 B4-DF 06 57 51 0E 07 BF A3 @...+.....WQ....0B03:0530 8F B9 06 00 81 CD 00 40-F2 AE 75 0B 81 E5 FF BF .......@..u.....0B03:0540 B8 01 00 D3 E0 0B E8 59-5F 07 B0 00 AA 5F 9D F8 .......Y_...._..0B03:0550 C3 AA 41 FE 06 E8 99 C3-2E C7 06 55 91 00 00 2E ..A........U....0B03:0560 89 0E DF 91 2E 89 26 E1-91 2E 89 36 E3 91 FC 2E ......&....6....0B03:0570 89 0E 48 91 2E C7 06 4A-91 00 00 2E C7 06 5D 91 ..H....J......].-T116AX=7674 BX=1003 CX=006A DX=8A92 SP=FD70 BP=006A SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008B NV UP EI PL ZR NA PE NC0B03:008B 41 INC CXAX=7674 BX=1003 CX=006B DX=8A92 SP=FD70 BP=006A SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008C NV UP EI PL NZ NA PO NC0B03:008C 53 PUSH BXAX=7674 BX=1003 CX=006B DX=8A92 SP=FD6E BP=006A SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008D NV UP EI PL NZ NA PO NC0B03:008D 54 PUSH SPAX=7674 BX=1003 CX=006B DX=8A92 SP=FD6C BP=006A SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008E NV UP EI PL NZ NA PO NC0B03:008E 45 INC BPAX=7674 BX=1003 CX=006B DX=8A92 SP=FD6C BP=006B SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=008F NV UP EI PL NZ NA PO NC0B03:008F 52 PUSH DXAX=7674 BX=1003 CX=006B DX=8A92 SP=FD6A BP=006B SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0090 NV UP EI PL NZ NA PO NC0B03:0090 3D4130 CMP AX,3041-D0B03:0580 00 00 2E C7 06 4E 91 00-00 2E C7 06 1A 92 5B 5D .....N........[]0B03:0590 2E C7 06 1C 92 7C 3C 2E-C7 06 1E 92 3E 2B 2E C7 .....|<.....>+..0B03:05A0 06 20 92 3D 3B E8 83 09-73 13 B8 FF FF 53 26 8B . .=;...s....S&.0B03:05B0 1D 26 3A 0F 73 03 B8 02-00 5B E9 23 01 2E 89 36 .&:.s....[.# (6)0B03:05C0 57 91 53 57 55 8D 1E 5F-91 2E F6 06 56 91 20 75 W.SWU.._....V. u0B03:05D0 43 AC E8 0F 0A 72 3C E8-77 09 74 37 E8 A4 09 75 C....r<.w.t7...u0B03:05E0 18 2E F6 06 56 91 20 75-05 E8 3F 09 EB 26 2E F6 ....V. u..?..&..0B03:05F0 06 56 91 41 74 1E 4E EB-1B 2E 88 07 3C 3D 75 06 .V.At.N.....<=u.-T118AX=7674 BX=1003 CX=0076 DX=8A92 SP=FD28 BP=0076 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0090 NV UP EI PL NZ NA PO NC0B03:0090 3D4130 CMP AX,3041AX=7674 BX=1003 CX=0076 DX=8A92 SP=FD28 BP=0076 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0093 NV UP EI PL NZ NA PE NC0B03:0093 0D6464 OR AX,6464AX=7674 BX=1003 CX=0076 DX=8A92 SP=FD28 BP=0076 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0096 NV UP EI PL NZ NA PE NC0B03:0096 7265 JB 00FDAX=7674 BX=1003 CX=0076 DX=8A92 SP=FD28 BP=0076 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0098 NV UP EI PL NZ NA PE NC0B03:0098 7373 JNB 010DAX=7674 BX=1003 CX=0076 DX=8A92 SP=FD28 BP=0076 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=010D NV UP EI PL NZ NA PE NC0B03:010D 394388 CMP [BP+DI-78],AX SS:FFFE=F572AX=7674 BX=1003 CX=0076 DX=8A92 SP=FD28 BP=0076 SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0110 OV UP EI PL NZ AC PO NC0B03:0110 17 POP SS-D0B03:0600 2E 80 0E 56 91 01 43 E8-08 0A 73 C5 AC 2E 88 07 ...V..C...s.....0B03:0610 43 EB BE 4E 2E 89 36 4C-91 2E C6 07 00 2E 89 1E C..N..6L........0B03:0620 5B 91 26 8B 1D 8D 36 5F-91 2E 80 3C 2F 74 36 2E [.&...6_...</t6.0B03:0630 80 3C 22 74 08 2E F6 06-56 91 01 75 54 26 8A 47 .<"t....V..uT&.G0B03:0640 01 32 E4 2E 39 06 48 91-73 12 2E A1 48 91 D1 E0 .2..9.H.s...H...0B03:0650 43 43 03 D8 26 8B 1F E8-88 00 EB 69 2E C7 06 4A CC..&......i...J0B03:0660 91 01 00 EB 60 26 8A 47-01 32 E4 40 D1 E0 03 D8 ....`&.G.2.@....0B03:0670 26 8A 0F 32 ED 0B C9 74-0F 43 53 26 8B 1F E8 C6 &..2...t.CS&....-T11BAX=7674 BX=1003 CX=000B DX=8A92 SP=FFAA BP=000B SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0093 NV UP EI PL NZ NA PE NC0B03:0093 0D6464 OR AX,6464AX=7674 BX=1003 CX=000B DX=8A92 SP=FFAA BP=000B SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0096 NV UP EI PL NZ NA PE NC0B03:0096 7265 JB 00FDAX=7674 BX=1003 CX=000B DX=8A92 SP=FFAA BP=000B SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0098 NV UP EI PL NZ NA PE NC0B03:0098 7373 JNB 010DAX=7674 BX=1003 CX=000B DX=8A92 SP=FFAA BP=000B SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=010D NV UP EI PL NZ NA PE NC0B03:010D 394388 CMP [BP+DI-78],AX SS:FF93=46C6AX=7674 BX=1003 CX=000B DX=8A92 SP=FFAA BP=000B SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0110 NV UP EI NG NZ NA PO CY0B03:0110 17 POP SSAX=7674 BX=1003 CX=000B DX=8A91 SP=FFAC BP=000B SI=0003 DI=0000 DS=0B03 ES=0B03 SS=8A92 CS=0B03 IP=0113 NV UP EI NG NZ NA PO CY0B03:0113 BE0300 MOV SI,0003-D0B03:0100 B8 34 12 A3 00 10 BB 02-10 C6 07 20 B2 39 43 88 .4......... .9C.0B03:0110 17 FE CA BE 03 00 88 10-88 50 01 C7 40 02 46 28 .........P..@.F(0B03:0120 BA 92 8A E9 53 FF A1 BC-98 80 FC 3A 74 02 B0 40 ....S......:t..@0B03:0130 8A 0E D8 99 0C 20 2C 60-A2 76 97 A0 BB 98 8A 26 ..... ,`.v.....& 0B03:0140 1E 99 25 02 02 0A C0 74-13 3A C4 75 0F 80 3E D9 ..%....t.:.u..>. 0B03:0150 99 00 74 08 FE 06 17 99-32 C0 EB 06 34 02 22 C4 ..t.....2...4.".0B03:0160 D0 E8 0A 06 D9 99 A2 C7-96 D0 E0 D0 E0 A2 D2 99 ................ 0B03:0170 80 3E D4 99 00 75 24 A2-D8 99 0A C9 75 1D 0A C0 .>...u$.....u... -0B03:0170 80 3E D4 99 00 75 24 A2-D8 99 0A C9 75 1D 0A C0 .>...u$.....u... -A0AFF:0100 MOV BX,10000AFF:0103 MOV CX,100AFF:0106 SUB AX,AX0AFF:0108 ADD AL,[BX]0AFF:010A ADC AH,00AFF:010D INC BX0AFF:010E LOOP 1080AFF:0110 INT30AFF:0111-N AA-RBXBX 0000:10-RCXCX 0000:10-W 100Writing 100010 bytes-QC:\DOCUME~1\my91921>DEBUG AAInsufficient memoryWriting 100010 bytes-U0AFF:0100 BB0010 MOV BX,10000AFF:0103 B91000 MOV CX,00100AFF:0106 29C0 SUB AX,AX0AFF:0108 0207 ADD AL,[BX]0AFF:010A 80D400 ADC AH,000AFF:010D 43 INC BX0AFF:010E E2F8 LOOP 01080AFF:0110 CC INT 30AFF:0111 FA CLI0AFF:0112 E9AEFE JMP FFC30AFF:0115 240C AND AL,0C0AFF:0117 7A10 JPE 01290AFF:0119 50 PUSH AX0AFF:011A 2408 AND AL,080AFF:011C 3400 XOR AL,000AFF:011E EE OUT DX,AL0AFF:011F 0A24 OR AH,[SI]-E 10000AFF:1000 00.1 43.2 26.3 3A.4 01.5 74.6 07.7 E2.80AFF:1008 F8.9 3C.10 20.11 59.12 5B.13 C3.14 2E.15 A2.16-G=100 10EAX=0001 BX=1001 CX=0010 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AFF ES=0AFF SS=0AFF CS=0AFF IP=010E NV UP EI PL NZ NA PO NC0AFF:010E E2F8 LOOP 0108-TAX=0001 BX=1001 CX=000F DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AFF ES=0AFF SS=0AFF CS=0AFF IP=0108 NV UP EI PL NZ NA PO NC0AFF:0108 0207 ADD AL,[BX] DS:1001=02 -G 10EAX=0003 BX=1002 CX=000F DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AFF ES=0AFF SS=0AFF CS=0AFF IP=010E NV UP EI PL NZ NA PO NC0AFF:010E E2F8 LOOP 0108-TAX=0003 BX=1002 CX=000E DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AFF ES=0AFF SS=0AFF CS=0AFF IP=0108 NV UP EI PL NZ NA PO NC0AFF:0108 0207 ADD AL,[BX] DS:1002=03 -GAX=00B2 BX=1010 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AFF ES=0AFF SS=0AFF CS=0AFF IP=0110 NV UP EI PL NZ AC PO NC0AFF:0110 CC INT 3---A0B05:0100 MOV DI,10000B05:0103 MOV CX,80B05:0106 MOV SI,20000B05:0109 CLC0B05:010A MOV AL,[SI]B05:010C ADC [DI],AL0B05:010E INC SI0B05:010F INC DI0B05:0110 LOOP 10A0B05:0112 INT 200B05:0114-E 10000B05:1000 52.0 57.1 55.2 06.3 33.4 F6.5 8E.6 DE.70B05:1008 B8.8 00.9 63.10 CD.11 21.12 8C.13 DB.14 0B.15-E 20000B05:2000 0D.1 0A.3 16.4 41.5 63.6 74.7 69.8 76.90B05:2008 65.11 20.13 63.15 6F.17 64.19 65.21 20.23-GProgram terminated normally-D0B05:0100 BF 00 10 B9 08 00 BE 00-20 F8 8A 04 10 05 46 47 ........ .....FG0B05:0110 E2 F8 CD 20 0C 20 2C 60-A2 76 97 A0 34 00 F4 0A ... . ,`.v..4...0B05:0120 1E 99 25 02 02 0A C0 74-13 3A C4 75 0F 80 3E D9 ..%....t.:.u..>.0B05:0130 99 00 74 08 FE 06 17 99-32 C0 EB 06 34 02 22 C4 ..t.....2...4.".0B05:0140 D0 E8 0A 06 D9 99 A2 C7-96 D0 E0 D0 E0 A2 D2 99 ................0B05:0150 80 3E D4 99 00 75 24 A2-D8 99 0A C9 75 1D 0A C0 .>...u$.....u...0B05:0160 74 19 8B 0E D5 96 E3 13-B0 1A 06 33 FF 8E 06 B4 t..........3....0B05:0170 96 F2 AE 07 75 05 4F 89-3E D5 96 BB BA 97 80 3E ....u.O.>......>-A0B05:0100 MOV DI,10000B05:0103 MOV CX,80B05:0106 MOV SI,20000B05:0109 CLC0B05:010A MOV AL,[SI]B05:010C ADC [DI],AL0B05:010E INC SI-0B05:010F INC DI0B05:0110 LOOP 10A0B05:0112 INT 30B05:0113-E 10000B05:1000 52.0 57.1 55.2 06.3 33.4 F6.5 8E.6 DE.70B05:1008 B8.8 00.9 63.10 CD.11 21.12 8C.13 DB.14 0B.15-E 20000B05:2000 0D.1 0A.3 16.4 41.5 63.6 74.7 69.8 76.90B05:2008 65.11 20.13 63.15 6F.17 64.19 65.21 20.23-GAX=0009 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=2008 DI=1008 DS=0B05 ES=0B05 SS=0B05 CS=0B05 IP=0112 NV UP EI PL NZ NA PO NC0B05:0112 CC INT 3-D0B05:0100 BF 00 10 B9 08 00 BE 00-20 F8 8A 04 10 05 46 47 ........ .....FG0B05:0110 E2 F8 CC 99 0C 20 2C 60-A2 76 97 A0 34 00 F4 0A ..... ,`.v..4...0B05:0120 1E 99 25 02 02 0A C0 74-13 3A C4 75 0F 80 3E D9 ..%....t.:.u..>.0B05:0130 99 00 74 08 FE 06 17 99-32 C0 EB 06 34 02 22 C4 ..t.....2...4.".0B05:0140 D0 E8 0A 06 D9 99 A2 C7-96 D0 E0 D0 E0 A2 D2 99 ................0B05:0150 80 3E D4 99 00 75 24 A2-D8 99 0A C9 75 1D 0A C0 .>...u$.....u...0B05:0160 74 19 8B 0E D5 96 E3 13-B0 1A 06 33 FF 8E 06 B4 t..........3....0B05:0170 96 F2 AE 07 75 05 4F 89-3E D5 96 BB BA 97 80 3E ....u.O.>......>-A0B05:0100 MOV DI,10000B05:0103 MOV CX,80B05:0106 MOV SI,20000B05:0109 CLC0B05:010A MOV AL,[SI]0B05:010C ADC [DI],AL0B05:010E INC SI0B05:010F INC DI0B05:0110 LOOP 10A0B05:0112-E 10000B05:1000 52.0 57.1 55.2 06.3 33.4 F6.5 8E.6 DE.70B05:1008 B8.8 00.9 63.10 CD.11 21.12 8C.13 DB.14 0B.15 -E 20000B05:2000 0D.1 0A.3 16.4 41.5 63.6 74.7 69.8 76.90B05:2008 65.11 20.13 63.15 6F.17 64.19 65.21 20.23-GC:\Documents and Settings\my91921>-。

汇编内存操作数及寻址方法实验报告

汇编内存操作数及寻址方法实验报告

汇编内存操作数及寻址方法实验报告《微机原理与接口技术》课程实验报告一、实验目的1(熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。

2(掌握数据在内存中的存放方式和内存操作数的几种寻址方式。

3(掌握简单指令的执行过程。

二、实验环境1. 硬件环境:微型计算机一台。

2. 软件环境:装有MASM 5.0,DEBUG,LINK,EDIT等应用程序。

三、实验重点及难点区别几种寻址方式的不同及其在内存中存放数据的方式。

四、实验内容执行指令以下指令后,并查看结果1、立即数寻址:MOV AX,1234HMOV DH,12H2、直接寻址MOV AX,[1234H]MOV [1234H],BX3、寄存器间接寻址MOV CX ,[BX]MOV [BX],AXMOV DL ,[BP]五、实验分析和实验体会1、实验分析:(1)立即数寻址:I、 MOV AX,1234HAX=1234HII 、 MOV DH,12HDH=12H(2)、直接寻址I、MOV AX,[1234H]AX=5A5DII、MOV [1234H],BX[1234H]=4567 3、寄存器间接寻址I、MOV CX ,[BX]CX=000BII、MOV [BX],AXIII、MOV DL ,[BP]DL=20H2、实验体会通过本次实验使我了解了据在内存中的存放方式和内存操作数的几种寻址方式。

特别是对[BP]进行处理时注意到了数据段与堆栈段的区别,并对各种指令数据的传输有了进一步的了解,同时掌握简单指令的执行过程。

实验二内存操作数及寻址方法

实验二内存操作数及寻址方法

实验二内存操作数及寻址方法在计算机科学领域中,内存操作数是指指令中涉及到的内存位置的操作数。

内存操作数是计算机程序中的重要组成部分,它们用于存储和访问程序执行所需的数据。

内存寻址是指确定内存中具体位置的过程。

内存寻址方法是指通过其中一种规则或算法来确定内存中的特定位置。

内存操作数和寻址方法对于计算机的运行和性能非常重要。

了解不同的内存操作数和寻址方法可以帮助程序员更好地理解计算机的底层工作原理,并且有助于优化程序的性能。

在计算机中,内存是用来存储数据的重要组成部分。

在程序执行过程中,需要使用内存来存储和访问数据。

内存操作数是指指令中涉及到的内存位置的操作数。

计算机通过内存操作数来指示需要访问的数据在内存中的位置。

内存操作数可以是直接操作数或间接操作数。

直接操作数是指指令中明确指定的内存位置。

例如,指令MOVAX,[0x1000]将0x1000位置的数据移动到寄存器AX中,0x1000就是直接操作数。

间接操作数是通过寄存器间接访问的内存位置。

例如,指令MOVAX,[BX]将BX寄存器中的值作为内存地址,并将该地址中的数据移动到寄存器AX中,BX就是间接操作数。

了解内存操作数对于程序员来说非常重要。

通过选择合适的内存操作数,程序员可以更好地控制内存访问和数据存储,从而提高程序的执行效率。

内存寻址是确定内存中具体位置的过程。

内存寻址方法是通过其中一种规则或算法来确定内存中的特定位置。

常见的内存寻址方法包括直接寻址、间接寻址、相对寻址和寄存器寻址。

直接寻址是最简单的寻址方法,它直接使用指令中给定的内存地址。

例如,指令MOVAX,[0x1000]使用直接寻址方式将0x1000地址中的数据移动到AX寄存器中。

间接寻址是通过寄存器间接访问的寻址方法。

例如,指令MOVAX,[BX]使用间接寻址方式将BX寄存器中的值作为内存地址,并将该地址中的数据移动到AX寄存器中。

相对寻址是通过指令中的偏移量进行寻址的方法。

例如,指令JMPSHORT0x100将程序跳转到相对地址0x100处。

汇编语言实验报告_6

汇编语言实验报告_6

青岛理工大学课程实验报告
课程名称汇编语言程序设计班级实验日期
2013.11.3
姓名学号实验成绩
实验
名称
子程序
实验目的及要求1.掌握子程序设计相关指令和伪指令的使用方法
2.掌握子程序设计方法, 特别是参数传递方法
3.掌握主程序和子程序之间的调用关系和调用方法
4.熟悉循环和子程序结合应用解答问题的思路
实验环境1.命令行方式
2.MASM.EXE LINK.EXE DEBUG.EXE
实验内容1.设DATA1开始的内存单元中, 存放着一串带符号字数据, 要求采用冒泡排序算法(Bubble Sort)按照从小到大的顺序排序并将排好序的数据存在DATA1开始的单元。

然后在显示器输出排好序的数据, 中间用’,’隔开。

2.输出数据使用子程序方式。

算法描述及实验步骤步骤:
(1)设置数据段地址
(2)设置堆栈段地址
(3)设置堆栈指针
(4)调用9号功能, 输出一个提示性字符串。

(5)循环进入子程序, 输出原始数据。

(6)在子程序内循环输出每一位的十进制数字。

(7)主程序进行内外循环, 进行冒泡排序。

(8)再一次调用子程序输出排序后的结果。

调试过程及实验结果调试过程:
(2)(1)在输出时, 调用DOS 9号功能, 并不是只要语句MOV AH,09H
(3)它是存在入口条件的, 入口条件:DS:DX=输出字符缓冲区首地址。

所以前面必须加上MOV DX,OFFSET NOTE1。

(4)汇编语言是不会再输出汉字的。

(5)子程序结束时一定要有RET
(6)冒泡排序也遇到一些困难。

调试结果:。

汇编语言内存操作数及寻址

汇编语言内存操作数及寻址

实验一内存操作数及寻址通过实验掌握下列知识:80x86系统中数据在内存中的存放方式和内存操作数寻址方式。

80x86指令: MOV, ADD, SUB, ADC,SBB,INC, DEC, LOOP,CLC伪指令与操作符: BYTE PTR, WORD PTR,OFFSET,SIZEOF。

简单字符串处理、多字节加减法。

一、内存操作数及各种寻址方式:阅读下列程序段:... ....datawds WORD 1111h, 2222h, 3333hdwds DWORD 6 dup (0CDCDCDCDh)... ...MOV AX, 1234hMOV EBX, OFFSET wdsMOV [EBX], AXMOV BYTE PTR[EBX+2], 20hMOV DL, 39hMOV [EBX+4], DLADD EBX, SIZEOF wdsMOV ESI, 2DEC DLMOV [EBX+ESI], DLDEC DLMOV [EBX+ESI+1], DLMOV WORD PTR[EBX+ESI+2], 1068hMOV DWORD PTR[EBX+ESI*4], 2846h1)分析并写出每条指令执行的结果。

2)将程序补充完整,编译、连接后,单步执行,验证分析结果。

3) 说明程序中访问内存操作数的指令所使用的寻址方式,访问的内存地址,以及所访问的内存存储单元位数。

4)有关指令中BYTE PTR、WORD PTR、DWORD PTR伪指令不加会有何结果? 试一试。

二、阅读下列程序段:(指令CLC,Clear Carry Flag :清除进位标志)......MOV ECX,4CLCL1:MOV AL, [ESI]ADC [EDI],ALINC ESIINC EDILOOP L1......1) 分析该程序段的功能;2) 写出完整程序,验证分析的结果三、自编程序:1) 用8位加法指令实现一个完成64位数加法的程序;2)用16位减法指令编一个32位(4字节)数减法程序;四、凯撒密码:凯撒密码是一种替换密码,通过字母替换对信息进行加密,如A替换成D,B替换成E,C 替换成F,... ...Y替换成B,Z替换成C,这样,COMPUTER可被加密成FRPSXWHU。

汇编程序设计实验报告

汇编程序设计实验报告
四.实验结果(包括必要的截图)
1)程序未执行前,相关寄存器的内容: (AX)= 0000H ,(BX)= 0000H ,(SI)= 0000H , (DI)= 0000H ,(CS)= 0B32H ,(IP)= 0100H 。
2)在程序未执行前,DS:0200H,DS:0204H、DS:0208H 单元的内容
5)程序运行结果:(AX)= 00ABH ,(BX)= 00ABH DS:0208H四字节单元的内容: 00AB00ABH
附加题实验结果:1)运算结果:FF89 2)BX 的内容为 1234,1 的个数为 5 3)DS:0 27 均为 CC
五.实验体会
经过这次试验,对于 debug 环境有了一个基本的了解,同时通过对指令的使 用而对计算机的数据传送、算术运算、逻辑和移位操作、串操作、控制转移 和循环等指令有了更深的理解和更熟悉。通过实验也发现了不少平时在看书 是容易忽视,不太理解和误解的地方,例如,串操作指令是对一个一个字节 进行操作的,在 debug 环境下,所有的控制转移和循环指令后面的操作数都 可以是地址,E 命令后面一定要接上地址,在 debug 环境下以字母开头的十 六进制数前面不用加零等。总之,通过实践,使自己学到了很多。
0B3F:0100 MOV AX, [0000]
0B3F:0103 MOV BX, [0002]
0B3F:0107 MOV DX, 0
0B3F:010A IMUL BX
0B3F:010C ADD AX, [0004]
0B3F:0110 ADC DX, 0
0B3F:0113 SUB AX, 021C
0B3F:0116 SBB DX, 0
开始
AX←DATA DS←AX
AX←(X) DX,AX←(AX)*(Y)

内存操作数及寻址方法实验报告

内存操作数及寻址方法实验报告

内存操作数及寻址方法实验报告实验二内存操作数及寻址方法实验二内存操作数及寻址方法实验目的:通过实验掌握下列知识:1、DEBUG命令:G,N,W,L及Q。

2、8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。

3、8088指令:INC,DEC,LOOP,INT 3,INT 20H,寄存器SI,DI。

4、8088汇编语言伪操作:BYTE PTR,WORD PTR。

5、求累加和程序和多字节加减法程序。

实验内容和步骤:一、内存操作数及各种寻址方式使用:内容:MOV AX,1234MOV [1000],AXMOV BX,1002MOV BYTE PTR[BX],20MOV DL,39INC BXMOV [BX],DLDEC DLMOV SI,3MOV [BX+SI],DLMOV [BX+SI+1],DLMOV WORD PTR[BX+SI+2],2846步骤:1)用A命令键入上述程序,并用T命令逐条运行。

2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。

注意D命令显示结果中右边的ASCII字符及双字节数存放法。

思考:有关指令中BYTE PTR及WORD PTR伪操作不加行不行?试一试。

答:不行。

二、求累加和程序:程序:MOV BX,1000MOV CX,10SUB AX,AXLOP: ADD AL,[BX]ADCAH,0INC BXJ: LOOP LOPINT3步骤:1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。

-A 1002)用命令N AA将此程序命名为文件AA(文件名可任取)。

3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址)4)用命令W 100将此程序存到AA命名的磁盘文件中。

5)用命令Q退出DEBUG。

6)用命令DEBUG AA再次调入DEBUG和文件AA,可用U命令检查调入程序。

汇编语言实验报告

汇编语言实验报告

汇编语言实验报告一、实验目的本次汇编语言实验的主要目的是通过实际操作和编程实践,深入理解汇编语言的基本概念、指令系统和编程方法,提高对计算机底层硬件操作的认识和编程能力。

二、实验环境1、操作系统:Windows 102、编程工具:MASM(Microsoft Macro Assembler)三、实验内容1、数据传送与算术运算实现两个 16 位整数的加法和减法运算,并将结果存储在指定的内存单元中。

使用不同的数据传送指令,如 MOV、PUSH、POP 等,将数据在寄存器和内存之间进行传输。

2、逻辑运算与移位操作对给定的 8 位二进制数据进行逻辑与、或、异或运算,并观察结果。

执行移位操作,包括逻辑移位(SHL、SHR)和算术移位(SAL、SAR),理解移位对数据的影响。

3、分支与循环结构使用条件跳转指令(如 JZ、JE、JC 等)实现根据不同条件执行不同代码段的功能。

编写循环结构程序,如使用 LOOP 指令实现对数组元素的求和操作。

4、子程序调用定义一个子程序,实现特定的功能,如计算一个数的阶乘。

在主程序中调用子程序,并传递参数和获取返回值。

四、实验步骤1、数据传送与算术运算实验首先,在代码编辑器中编写汇编代码,定义数据段和代码段。

在数据段中初始化两个 16 位整数,例如 MOV WORD PTR DATA1, 1000H 和 MOV WORD PTR DATA2, 2000H 。

在代码段中使用 ADD 和 SUB 指令进行加法和减法运算,如 ADD WORD PTR RESULT_ADD, DATA1 和 SUB WORD PTRRESULT_SUB, DATA2 。

编译和链接代码,生成可执行文件。

运行程序,查看内存中存储的运算结果。

2、逻辑运算与移位操作实验类似地,定义数据段和代码段。

在数据段中初始化 8 位二进制数据,如 MOV AL, 01010101B 。

在代码段中使用AND、OR、XOR 指令进行逻辑运算,以及SHL、SHR、SAL、SAR 指令进行移位操作。

汇编实验报告

汇编实验报告

汇编实验报告一、实验目的本次汇编实验的主要目的是深入了解汇编语言的基本语法和编程结构,掌握汇编程序的编写、调试和运行过程,提高对计算机底层硬件的理解和操作能力。

二、实验环境1、操作系统:Windows 102、编程工具:MASM(Microsoft Macro Assembler)三、实验内容1、数据传送与运算编写程序实现不同寄存器之间的数据传送。

进行简单的算术运算,如加法、减法、乘法和除法,并将结果存储在指定的寄存器或内存单元中。

2、逻辑运算与移位操作进行逻辑运算,包括与、或、非和异或操作。

实现移位操作,如左移和右移,并观察数据的变化。

3、分支与循环结构使用条件跳转指令实现分支结构,根据不同的条件执行不同的代码段。

运用循环指令实现循环操作,如计数循环和条件循环。

4、子程序调用编写子程序来完成特定的功能,如计算阶乘、查找最大值等。

在主程序中调用子程序,并传递参数和获取返回值。

四、实验步骤1、数据传送与运算打开 MASM 编程工具,新建一个汇编源文件。

使用 MOV 指令将数据从一个寄存器传送到另一个寄存器,例如:MOV AX, BX 。

进行加法运算,使用 ADD 指令,如:ADD AX, CX 。

进行减法运算,使用 SUB 指令,如:SUB DX, BX 。

乘法运算使用 MUL 指令,除法运算使用 DIV 指令,并将结果存储在合适的位置。

2、逻辑运算与移位操作在源文件中使用 AND 、OR 、NOT 和 XOR 指令进行逻辑运算,例如:AND AX, BX 。

对于移位操作,使用 SHL (左移)和 SHR (右移)指令,如:SHL AX, 2 表示将 AX 的值左移 2 位。

3、分支与循环结构使用 CMP 指令比较两个值,然后根据比较结果使用 JZ (等于零跳转)、JL (小于跳转)、JG (大于跳转)等条件跳转指令实现分支结构。

对于循环结构,使用 LOOP 指令实现计数循环,例如:MOV CX, 10 ;LABEL: ;LOOP LABEL 。

汇编程序设计--内存操作数及寻址方法 实验报告

汇编程序设计--内存操作数及寻址方法 实验报告

《汇编语言程序设计》实验报告实验二内存操作数及寻址方法实验目的通过实验掌握下列知识:1、DEBUG命令:A,T,D,F,G;2、数据在内存中的存放方式和内存操作数的几种寻址方式;3、汇编指令:INC,DEC,LOOP,INT 3的应用;4、汇编语言伪指令:BYTE PTR和WORD PTR的应用。

实验内容和步骤一、内存操作数及各种寻址方式使用程序内容:寻址方式:MOV AX,2000MOV [200],AX ;直接寻址MOV BX,210MOV BYTE PTR[BX],50 ;寄存器间接寻址MOV CL,40INC BXMOV [BX],CL ;寄存器间接寻址DEC CLMOV SI,5MOV [BX+SI],CL ;基址加变址寻址MOV [BX+SI+1],CL ;基址变址相对寻址MOV WORD PTR[BX+SI+2],1234 ;基址变址相对寻址操作步骤1)用A命令键入上述程序,并用T命令逐条运行。

2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注意是什么寻址方式。

注:D命令显示结果时,双字节数在内存的存放是高地址对应高数据位;指令中出现的BYTE PTR及WORD PTR是因为操作数的宽度必须一致。

图 2-1 键入程序图2-2 U命令查看程序图2-3 T命令逐条运行,用D命令检查有关内存单元的内容相对应的寻址方式见程序处标注。

二、求累加和程序程序内容:MOV BX,200MOV CX,9XOR AX,AXADD AL,[BX] ;按字节相加ADC AH,0 ;若有进位则到AH中INC BXLOOP 108INT3操作步骤:1)进入DEBUG环境。

2)用命令F 200 L10 40 在内存200H-20FH地址处填入一系列值40H。

图 2-4 用命令F 200 L10 40 在内存200H-20FH地址处填入40H并查看3)用命令A 100 将上述程序键入到100H开始的内存中。

汇编实验报告一实验总结

汇编实验报告一实验总结

汇编实验报告一实验总结
实验报告一:汇编实验总结
实验目的:通过汇编实验,掌握汇编语言的基本语法和编程技巧,加深对计算
机底层工作原理的理解。

实验过程:在实验中,我们首先学习了汇编语言的基本语法和指令格式,包括
寄存器的使用、内存地址的访问、算术运算和逻辑运算等。

随后,我们进行了
一系列的编程练习,包括编写简单的程序来实现加法、乘法、比较大小等功能。

在实验的最后阶段,我们还学习了如何调用系统中断来实现输入输出操作。

实验结果:通过本次实验,我们深入了解了汇编语言的编程技巧和应用场景。

我们不仅掌握了汇编语言的基本语法,还学会了如何编写简单的汇编程序来实
现一些基本的功能。

同时,通过实验,我们对计算机底层的工作原理有了更深
入的理解,对计算机系统的运行机制有了更清晰的认识。

实验总结:本次汇编实验让我们深入了解了汇编语言的基本知识和编程技巧,
为我们今后的学习和工作打下了坚实的基础。

通过实验,我们不仅学会了如何
使用汇编语言编写程序,还对计算机系统的底层工作原理有了更深入的理解。

希望在今后的学习和工作中,我们能够继续深入研究汇编语言,不断提高自己
的编程水平,为计算机科学技术的发展贡献自己的力量。

汇编课程设计实验报告

汇编课程设计实验报告

汇编语言程序设计实验报告专业:班级:学号:姓名:日期:湖南科技大学实验报告一实验题目:有两个数(字数据)DATA1和DATA2,把两数之和放在DA TA3中,两数之差放在DA TA4中。

实验目的:1.熟练掌握汇编语言的程序结构,学会如何使用数据定义、符号定义、模块定义等常用的批示性语句。

2.熟悉汇编语言的工作环境;学会使用汇编语言的编辑、汇编、和连接装配程序的方法;熟悉汇编语言程序的编辑-汇编-连接-运行-调试的过程3.熟练掌握用DEBUG来调试程序,掌握调试程序的反汇编、读写寄存器或存储单元、运行程序等简单的调试命令。

4.熟悉汇编语言指令,学会使用数据传送,算术逻辑运算,处理器控制等简单指令。

实验主要原理:先用数据传送指令将DATA1,DA TA2放入AX和BX两个寄存器中,分别用ADD和SUB 两个指令来计算两数之和与两数之差,再用数据传送指令将两数之和放入DA TA3中,将两数之差放入DATA4中。

最后用ret指令返回DOS程序流程图:源程序:datarea segmentDA TA1 dw 5 ;数据定义DA TA2 dw 4DA TA3 dw ?DA TA4 dw ?datarea endsprognam segmentmain proc farassume cs:prognam,ds:datareastart: push ds ;准备工作sub ax,axpush axmov ax,datareamov ds,axmov ax,DATA1mov bx,DATA2add ax,bx ;做加法mov DATA3,axmov ax,DATA1sub ax,bx ;做减法mov DATA4,axretmain endpprognam endsend startDEBUG调试关键步骤:执行mov ax,DATA1(AX)=5,传送成功执行add ax,bx(AX)=9,加法成功执行到最后ret时,查看数据段内容分别为5, 4,9,1 说明加法,减法都成功执行运行结果:(DATA3)=9(DA TA4)=1实验报告二实验题目:数据段中有一个字符串DATA1,串长为3,内容为‘CDE’,还有另一个字符串为DATA2,长度为4,内容为‘ABCD’。

微机实验报告内存操作数及寻址方法

微机实验报告内存操作数及寻址方法

实验2 内存操作数及寻址方法
1、说明2.3.1中各条指令的寻址方式,并注释各有关单元数据的查看方式,注释程序;
2、说明2.3.2中的手算结果,并和ax内容比较是否正确?
在程序2.3.2中,由于从ds:【1000】开始的内存单元中,我们只知道由程序2.3.1修改单元的数据,而不知道未被修改的内存单元中是否存在数据。

所以手算结果为ax=017DH, 但实际结果也为017DH,说明除了程序2.3.1修改的内存单元之外的内存单元应该都无存放数据。

3、说明2.3.3中的结果保存在哪里?并验算结果是否正确?
如下所示,程序运行结果存放在ds:【1000】起的8个内存单元中,结果与预计的一致。

4、将int 20h指令改为int 3,有何区别?若这条指令不加,行不行?
Int后带的是中断类型码,表示的是指向不同的中断程序,即int 20h与int 3的不同在于执行了不同的中断程序,其中中断类型码20h表示程序正常结束,3则表示断点。

这两个中断作用都是在程序执行完成后进行中断,防止计算机继续执行接下去内存单元的非程序单元,但这种情况只需要在运行可执行程序时考虑,在debug这种单步调试机制中不需要担心上述情况,所以可以不加int指令。

5、自编程序记录及运行结果。

程序及运行结果如下:
6、实验体会和建议
体会:进一步加深了对内存操作数及寻址方式的认识和理解。

汇编语言编程实验报告

汇编语言编程实验报告

汇编语言编程实验报告汇编语言程序设计实验报告(一)汇编语言程序设计实验报告(一)一、预备知识汇编语言程序设计是一门实践性很强的课程。

编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。

二、实验目的1、掌握实验运行汇编语言所用的计算机机型2、熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE及其它用于文件编辑的应用程序。

)3、掌握汇编程序ASM、宏汇编程序MASM1.0以上。

4、LINK连接程序5、DEBUG调试程序三、汇编语言源程序上机操作过程2、编辑源文件根据给定的任务,可编写程序。

如果经过检查认为所编程序无错时,就可在计算机上通过编辑程序建立源程序文件了。

一般在编辑过程中总会有错误产生,因此还要进行人工检查、修改以致重新编辑,直到所编辑的源程序无误为止,然后以一个源程序文件(ASM文件)存盘。

将包含QE文件的工作磁盘插入驱动器A:。

进入QEA\QE进入全屏幕后可以开始编程。

文件名取为Myprog。

asm;Ddisplystring (09H)CODESEGMENTPUBLICASSUME CS:CODE,DS:CODEORG 100HSTART:JMP BEGINMSG DB‘Hi ! This ia a dollar sign terminated string.’,’$’BEGIN:MOV AX,CS ;set up to display messageMOV DS,AXMOV DX,OFFSET,SG ;set up to display messageMOV AH,09H;display string function requestINT 21H ;call DOSMOV AH ,4CH ;terminate propram funct requestINT 21H ;Call DOSCODE ENDS;end of code segmentEND START;strat is the entry point输入完毕后,按ALT---X,存盘返回DOS3、汇编源程序文件(ASM,MASM)由编辑程序所建立的ASM文件只是个文本文件,计算机无法执行。

汇编 实验报告

汇编 实验报告

汇编实验报告汇编实验报告引言:汇编语言是一种低级语言,用于编写计算机程序。

在计算机科学领域中,汇编语言是一门重要的学科,它可以帮助我们更深入地了解计算机的内部工作原理。

本实验报告将介绍我在学习汇编语言过程中的实验经历和所学到的知识。

实验一:汇编语言的基本概念在本实验中,我首先学习了汇编语言的基本概念。

汇编语言是一种用于编写机器指令的低级语言,它直接操作计算机的硬件。

通过学习汇编语言,我了解了计算机内存、寄存器、指令和数据的存储方式,并学会了如何编写简单的汇编程序。

实验二:汇编语言的数据表示在这个实验中,我学习了汇编语言中的数据表示方法。

汇编语言中的数据可以用不同的方式表示,例如二进制、十进制和十六进制。

我还学习了如何使用数据寄存器和内存寻址来处理不同类型的数据。

实验三:汇编语言的指令集在本实验中,我学习了汇编语言的指令集。

汇编语言中的指令可以分为数据传送指令、算术运算指令、逻辑运算指令和控制指令等多种类型。

通过学习不同类型的指令,我可以编写更加复杂和功能强大的汇编程序。

实验四:汇编语言的程序设计在这个实验中,我学习了如何使用汇编语言进行程序设计。

通过学习汇编语言的程序设计技巧,我可以编写出高效、精确和可靠的程序。

我还学习了如何使用子程序、循环和条件语句等控制结构来实现不同的功能。

实验五:汇编语言的调试和优化在本实验中,我学习了如何调试和优化汇编语言程序。

调试是指在程序运行过程中发现并修复错误的过程,而优化则是指对程序进行性能提升的过程。

通过学习调试和优化技巧,我可以提高程序的效率和可靠性。

结论:通过这些实验,我对汇编语言有了更深入的了解。

汇编语言虽然复杂,但它可以帮助我们更好地理解计算机的内部工作原理,并且可以编写出高效、精确和可靠的程序。

通过学习汇编语言,我不仅提升了自己的编程能力,还对计算机科学有了更全面的认识。

我相信,在今后的学习和工作中,汇编语言将会发挥重要的作用。

计组实验报告基础汇编语言程序设计实验

计组实验报告基础汇编语言程序设计实验

基础汇编语言程序设计实验【实验目的】1.了解教学计算机的指令格式、指令编码、选择的寻址方式和每一条指令的具体功能,为进一步学习运算器组成和控制器设计打好基础。

2.了解汇编语言的语句与机器语言的指令之间的对应关系,了解伪指令在汇编过程中的作用。

3.学习教学机监控程序的功能、监控命令的使用方法,体会软件系统在计算机组成中的地位和作用。

【实验内容】1.学习联机使用TH-UNION+教学实验系统和仿真终端软件PCEC.2.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容。

3.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况;【实验内容】1.用R命令查看寄存器内容或修改寄存器的内容1)在命令行提示符状态下输入:R↙;显示寄存器的内容注:寄存器的内容在运行程序或执行命令后会发生变化。

2)在命令行提示符状态下输入:R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可有一个或数个空格2.用D命令显示存储器内容在命令行提示符状态下输入:D 2000↙3. 用E命令修改存储器内容在命令行提示符状态下输入:E 2000↙4.用D命令显示这几个单元的内容D 2000↙可以看到这六个地址单元的内容变为0000 1111 2222 3333 4444 5555。

5. 用A命令键入一段汇编源程序,主要是向累加器送入数据和进行运算,执行程序并观察运行结果。

1)在命令行提示符状态下输入:A 2000↙;表示该程序从2000H(内存RAM区的起始地址)地址开始2)用U命令反汇编刚输入的程序在命令行提示符状态下输入:U 2000↙在相应的地址会得到输入的指令及其操作码3)用G命令运行前面键入的源程序G 2000↙4)用P或T命令,单步执行这段程序,观察指令执行结果在命令行提示符状态下输入:T 2000↙<12020:MVRD R2,00OA2022:MVRD R0,00302024:OUT 802025:DEC R22026:JRZ 202E2027:PUSH R02028:IN 812029:SHR R0202A:JRNC 2028202B:POP R0202C:INC R0202D:JR 2024202E:RET202F:↙<2(2100) MVRD R2,001AMVRD R0,0041(2104) OUT 80DEC R2JRZ 210EPUSH R0(2108)IN 81SHR R0JRNC 2108POP R0INC R0JR 2104(210E)RET【实验结果】<1屏幕上输出'0'到'9'十个数字符<2屏幕上显示“A”~“Z”26个英文字母【实验过程中遇到的问题以及解决办法】在验证例3的实验时,输入语句“JC 2053”,执行时系统一直提示有错误,无法进行运算查表得知语句中没有JC ,只有JRC,所以修改语句即可解决。

汇编语言程序设计实验报告

汇编语言程序设计实验报告

班级 :
二、实验内容 求 1+2+3+4+5+6+7+8+9 的和,并将和显示在屏幕上; 具体要求: 1. 利用重复宏定义实现 1、2、39 数据的定义; 2. 将单个字符显示定义成宏,利用宏调用来实现和的显示。 3. 利用 PWB 集成环境完成程序的编辑、汇编及连接,并最终生成 COM 可执行文件。
二、实验内容 P131 作业 29。
实验三子Βιβλιοθήκη 序设计实验一、实验目的 1.掌握汇编语言源程序子程序设计方法; 2.会使用 CV 软件工具。
二、实验内容 把实验二作为子程序,编写主程序来对能否构成三角形进行 10 判断。
姓名:
汇编语言程序设计实 验报告
实验四
宏汇编程序设计实验
一、实验目的 1.掌握宏汇编程序编程技术及宏调用的方法; 2. 了解 COM 文件的编程方法及特点; 2.会使用 PWB 及 CV 软件工具。
实验五
混合程序的开发实验
一、实验目的 1.了解混合调用中的参数设置; 2. 掌握混合调用的方法;
姓名:
二、实验内容 P156 第 5 题。
汇编语言程序设计实 验报告
班级 :
姓名:
汇编语言程序设计实 验报告
实验一
单指令功能测试实验
一、实验目的 1.会使用 DEBUG 软件; 2.利用 DEBUG 单步执行功能测试指令的执行。
班级 :
二、实验内容 P129,14 题
实验二
完整的汇编语言程序设计实验
一、实验目的 1.掌握完整的汇编语言源程序的设计方法; 2.掌握汇编语言源程序的执行过程。
实验五
多模块程序设计实验
一、实验目的 1.掌握汇编段的属性的含义; 2. 掌握利用 LINK 将多模块连接起来的方法; 3.掌握利用库文件将多模块连接起来的方法。

汇编语言程序设计实验报告

汇编语言程序设计实验报告

实验报告实验名称汇编语言程序设计||专业班级:信息安全学号:姓名:实验一汇编语言上机过程和Debug常用调试命令一.实验目的:学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。

二.实验题目:熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。

在调试过程中,学习及掌握debug程序的各种操作命令。

三.问题描述:试编写一程序:比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘match’; 否则,显示‘no match’。

四.方法说明:a) 使用ws、tc或EDIT编辑程序来建立源文件,然后存盘,使系统返回DOS。

b) 用汇编程序masm(或asm)对源文件汇编产生目标文件obj如:汇编指示出错则需重新调用编辑程序修改错误,直至汇编通过为止。

c) 用连接程序link 产生执行文件EXE.d) 执行程序,可直接从DOS执行程序。

e) 使用debug程序调试程序的方法。

五.实验步骤:1.调用字处理程序EDIT 建立以sample.asm文件datarea segmentstring1 db ‘move the cursor backward.’string2 db ‘move the cursor backward.’mess1 db ‘Match..’,13,10,’$’mess2 db ‘No match!..’,13,10,’$’datarea endsprognam segmentmain proc farassume cs:prognam,ds:datarea,es:datarea start:push dssub ax,axpush axmov ax,datareamov ds,axmov es,axlea si,string1lea di,string2cldmov cx,25repz cmpsbjz matchlea dx,mess2jmp short dispmatch:lea dx, mess1disp:mov ah,09int 21hretmain endpprognam endsend start2.对源文件汇编产生目标文件obj D:\masm 文件名。

实验内存操作数及寻址方式

实验内存操作数及寻址方式

实验内存操作数及寻址方式实验二:内存操作数及寻址方式一、实验目的1.进一步掌握Debug命令,学会使用Debug调试程序。

2.掌握数据在内存中的存放方式。

3.掌握与数据相关的7种寻址方式。

4.掌握简单指令的执行过程。

5.学会在DOS环境下汇编源程序的编辑、编译、链接和执行。

二、实验内容和步骤1.寄存器内容互换。

(1)利用DEBUG命令,设置SP=2000H,AX=3000H,BX=5000H。

(2)利用堆栈作为中转,将AX和BX的内容互换。

写出实现这一功能的指令序列。

(3)利用DEBUG命令对上述指令序列进行调试,并记录每个步骤的执行结果。

2.分析执行结果。

(1)利用DEBUG命令,设置BX=0300H,SI=0002H。

利用DEBUG命令,将存储器偏移地址为300H~304H的连续单元设置为0AH、0BH、0CH、0DH、0EH。

MOV AX,BX MOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT(2)(3)在DEBUG环境中,输入以下指令序列:MOV AX,BXMOV AX,0304MOV AX,[0302]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT(4)在DEBUG环境下,调试上述指令序列,记录中间结果。

3.操作数存放方式。

(1)在DOS环境下,输入以下程序:DA TA SEGMENTV AR1 DW 1020H,3040HV AR2 DB 3 DUP (0,1,2 DUP (4),5)V AR3 DB ’good!’V AR4 DD V AR1DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART:MOV AX,DATAMOV DS,AXMOV AX,V AR1LEA BX,V AR3MOV DL,[BX]MOV AH,02HINT 21HMOV BX,WORD PTR V AR4MOV WORD PTR [BX],3050HMOV AH,4CHINT 21HCODE ENDSEND START(2)编译并链接上述程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《汇编语言程序设计》
实验报告
实验二内存操作数及寻址方法
实验目的
通过实验掌握下列知识:
1、DEBUG命令:A,T,D,F,G;
2、数据在内存中的存放方式和内存操作数的几种寻址方式;
3、汇编指令:INC,DEC,LOOP,INT 3的应用;
4、汇编语言伪指令:BYTE PTR和WORD PTR的应用。

实验内容和步骤
一、内存操作数及各种寻址方式使用
程序内容:寻址方式:
MOV AX,2000
MOV [200],AX ;直接寻址
MOV BX,210
MOV BYTE PTR[BX],50 ;寄存器间接寻址
MOV CL,40
INC BX
MOV [BX],CL ;寄存器间接寻址
DEC CL
MOV SI,5
MOV [BX+SI],CL ;基址加变址寻址
MOV [BX+SI+1],CL ;基址变址相对寻址
MOV WORD PTR[BX+SI+2],1234 ;基址变址相对寻址
操作步骤
1)用A命令键入上述程序,并用T命令逐条运行。

2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注意是什么寻址方式。

注:D命令显示结果时,双字节数在内存的存放是高地址对应高数据位;
指令中出现的BYTE PTR及WORD PTR是因为操作数的宽度必须一致。

图 2-1 键入程序
图2-2 U命令查看程序
图2-3 T命令逐条运行,用D命令检查有关内存单元的内容相对应的寻址方式见程序处标注。

二、求累加和程序
程序内容:
MOV BX,200
MOV CX,9
XOR AX,AX
ADD AL,[BX] ;按字节相加
ADC AH,0 ;若有进位则到AH中
INC BX
LOOP 108
INT3
操作步骤:
1)进入DEBUG环境。

2)用命令F 200 L10 40 在内存200H-20FH地址处填入一系列值40H。

图 2-4 用命令F 200 L10 40 在内存200H-20FH地址处填入40H并查看3)用命令A 100 将上述程序键入到100H开始的内存中。

图2-5 键入程序
图2-6 U命令查看键入的程序
注:LOOP指令用到108H号地址,即为ADD指令的当前地址,构成一个循环。

4)用命令G =100 执行该程序段,程序运行后停在INT 3 指令上,此时观察AX寄存器的值为240H,即为9个40H的和。

运行命令 G(Go)从指定地址处开始运行程序,直到遇到断点或者程序正常结束。

G [=地址] [断点地址1,断点地址2,...,断点地址10]
G 命令等号后的地址指定程序段运行的起始地址,如不指定则从当前的CS : IP 开始运行。

断点地址如果只有偏移地址,则默认是代码段CS;断点可以没有,但最多只能有10个。

图2-7 GO命令运行
注:INT 3指令是一条断点中断指令,程序遇到该指令则停止。

5)用T =100命令单步执行,观察IP、CX及AX寄存器的值,分析程序执行过程。

图 2-8 BX置为0200
图 2-9 CX置为0009
图 2-10 AX清零
图 2-11 寄存器间接寻址,(AL)=00H与[ BX]=40相加
图 2-12 AH进位加
图 2-13 BX增加一
图 2-14 开始进行循环: ADD AL,[BX]; ADC AH,0; INC BX
………
………
图 2-15 循环过程,AX加40H循环了9次
程序运行后停在INT 3 指令上,此时(AX)=240。

三、实验体会
1. D命令显示结果时,双字节数在内存的存放是高地址对应高数据位;
2. 为了使指令中存储单元操作数具有明确的属性,我们可以使用强制属性操作符PTR。

其一般格式为:
数据类型PTR 地址表达式
其中:数据类型是前面所学的各种数据类型,常用的数据类型有:BYTE、WORD、DWORD、NEAR和FAR等;在指令中用操作符PTR强制后,不管其后的地址表达式原数据类型是什么,在本指令中就以PTR前面的类型为准。

该强制属性只在本指令有效,是一种临时性的属性,它不会改变原内存单元的定义属性;
3. G 命令等号后的地址指定程序段运行的起始地址;
4.中断指令INT:断指令INT的一般格式如下:INT Imm
其中:立即数Imm是一个0~0FFH范围内的整数。

该指令执行完后,CPU将转去执行中断服务程序。

程序遇到断点(实际上就是断点中断指令INT 3),停止执行,并显示当前所有寄存器和标志位的内容、以及下一条将要执行的指令(显示内容同R命令),以便观察程序运行到此的情况。

程序正常结束,将显示“Program terminated normally”;
5.在作单步操作或用G 命令设段点操作时,在暂停处,可以检查所有寄存器和有关内存单元的内容,这不会影响程序的继续执行;
6.若想把源数据块重新换一批数据,可以用DEBUG 的Fill命令填充新的数据。

例如:
-F1000:00 L1F 33↙从1000:0000H 开始的31 个字节被替换成33H。

相关文档
最新文档