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

合集下载

第三讲2 操作数的寻址方式

第三讲2 操作数的寻址方式
将[DS:SI]为地址的一个字节/字传送到 [ES:SI]地址,然 后修改地址指针 SI,DI并使CX减1(计数) I/O端口寻址:端口 累加器(AL/AX) 使用间接端口寻址方式,须先将端口号传送到DX中。 IN AX,35H 直接端口寻址方式 8位地址可访问256 IN AL,DX 个端口 OUT 4FH,AL OUT DX,AX
MOV AX, 目的操作数 寄存器寻址 [200H] 源操作数 直接寻址
AH
已知 DS=1500H
87
DS 1500 0 + 020 0 1520 0 AL
8B 06 00 02
代码段
6A
15200
87 6A
数据段
2、 直接寻址——段超越前缀
逻辑地址来源 操作类型 取指令 堆栈操作 BP为间址 存取变量 源字符串 目标字符串 隐含段地址 CS SS SS DS DS ES 替换段地址 无 无 CS DS ES CS DS ES CS DS ES 无 偏移地址 IP SP 有效地址EA 有效地址EA SI DI
物理地址 : CPU对存储器中某一个存储单元的访问, 需要根据逻辑地址计算出该存储单元的20位地 址,这个20位地址称为该存储单元的物理地址, 物理地址记做PA。 物理地址=段寄存器的值×16+偏移地址
8086的寻址方式
1、 立即寻址方式
操作数直接包含在指令码中
MOV SI, 4A3CH SI
4A 3C 以IP为指针 取指令 M
基址寻址
DS BX COUNT
3000 0 200 0 400 0
… 36000H
78 56
56 78 AX
5.变址寻址
操作数的EA = SI/DI变址寄存器的内容+指令中给出位移量 SORNT DB 40H,00H … MOV SI, OFFSET SORNT MOV BL, [SI+100H]

寻址方式实验

寻址方式实验

实验3 寻址方式实验一、实验目的1、熟练掌握DEBUG的常用命令。

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

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

单步运行程序,通过观察窗口观察指令对寄存器中数据的影响二.实验要求:1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。

2、本实验只要求在DEBUG调试程序状态下进行,包括调试程序和执行程序。

三、实验内容1、立即寻址:-t ;查看当前各寄存器数值,注意下一步地址指向AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=1385 ES=1385 SS=1385 CS=1385 IP=0102 NV UP EI NG NZ NA PO NC1385:0102 0000 ADD [BX+SI],AL DS:0000=CD-a;1385:0100 mov ax,0110 ;源操作数为立即数寻址1385:0103-t=0100 ;单步执行,使下一步操作IP指针指向命令所在地址AX=0110 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=1385 ES=1385 SS=1385 CS=1385 IP=0103 NV UP EI NG NZ NA PO NC1385:0103 0000 ADD [BX+SI],AL DS:0000=CD2、寄存器寻址-a1385:0103 mov ax,0100 ;目的操作数采用寄存器寻址,源操作数为立即数寻址1385:0106 mov bx,ax ;两个操作数均为寄存器寻址1385:0108-t ;观察ax内容发生改变AX=0100 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=1385 ES=1385 SS=1385 CS=1385 IP=0106 NV UP EI NG NZ NA PO NC1385:0106 89C3 MOV BX,AX-t ;观察bx内容发生改变AX=0100 BX=0100 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=1385 ES=1385 SS=1385 CS=1385 IP=0108 NV UP EI NG NZ NA PO NC1385:0108 0000 ADD [BX+SI],AL DS:0100=B83、直接寻址-a1385:0108 mov ax,[2000]1385:010B-t ; 单步执行注意下一步地址指向,查看当前各寄存器数值,但是此处ax 没有变化AX=0000 BX=0100 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=1385 ES=1385 SS=1385 CS=1385 IP=010B NV UP EI NG NZ NA PO NC1385:010B 0000 ADD [BX+SI],AL DS:0100=B8 -a1385:010B mov ax,[000a] ;重新输入直接寻址命令1385:010E-t=010B ;单步执行,使下一步操作IP指针指向想要运行命令所在地址AX=034F BX=0100 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=1385 ES=1385 SS=1385 CS=1385 IP=010E NV UP EI NG NZ NA PO NC1385:010E 0000 ADD [BX+SI],AL DS:0100=B8;直接寻址成功,观察ax内容发生改变4、寄存器间接寻址-a1385:010E mov si,0100 ;设置si内容为01001385:0111 mov ax,[si] ;输入寄存器间接寻址命令1385:0113-t ; 单步执行,观察si内容已经改变AX=034F BX=0100 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0100 DI=0000DS=1385 ES=1385 SS=1385 CS=1385 IP=0111 NV UP EI NG NZ NA PO NC1385:0111 8B04 MOV AX,[SI] DS:0100=10B8 -t ; 单步执行,观察ax内容发生改变AX=10B8 BX=0100 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0100 DI=0000DS=1385 ES=1385 SS=1385 CS=1385 IP=0113 NV UP EI NG NZ NA PO NC1385:0113 0000 ADD [BX+SI],AL DS:0200=005、寄存器相对寻址-a1385:0113 mov di,0110 ;设置di内容为01101385:0116 mov ax,[di+06] ;输入寄存器相对寻址命令1385:0119-t ; 单步执行,观察di内容已经改变AX=10B8 BX=0100 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0100 DI=0110DS=1385 ES=1385 SS=1385 CS=1385 IP=0116 NV UP EI NG NZ NA PO NC1385:0116 8B4506 MOV AX,[DI+06] DS:0116=458B -t ; 单步执行,观察ax内容发生改变AX=458B BX=0100 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0100 DI=0110DS=1385 ES=1385 SS=1385 CS=1385 IP=0119 NV UP EI NG NZ NA PO NC1385:0119 0000 ADD [BX+SI],AL DS:0200=006、基址变址寻址-a1385:011B mov cx,0001 ;设置cx内容为00011385:011E mov ax,[cx+si] ;输入基址变址寻址命令,发生错误^ Error ;应该是地址超过ffffh导致1385:011E mov bp,0001 ;设置bp内容为00011385:0121 mov ax,[bp+di] ;重新输入基址变址寻址命令1385:0123-t=011B ; 单步执行,AX=0000 BX=0100 CX=0001 DX=0000 SP=FFEE BP=0000 SI=0100 DI=0110DS=1385 ES=1385 SS=1385 CS=1385 IP=011E NV UP EI NG NZ NA PO NC1385:011E BD0100 MOV BP,0001-t ; 单步执行,观察di内容已经改变AX=0000 BX=0100 CX=0001 DX=0000 SP=FFEE BP=0001 SI=0100 DI=0110DS=1385 ES=1385 SS=1385 CS=1385 I P=0121 NV UP EI NG NZ NA PO NC1385:0121 8B03 MOV AX,[BP+DI] SS:0111=048B -t ; 单步执行,基址变址寻址命令运行,ax内容改变AX=048B BX=0100 CX=0001 DX=0000 SP=FFEE BP=0001 SI=0100 DI=0110DS=1385 ES=1385 SS=1385 CS=1385 IP=0123 NV UP EI NG NZ NA PO NC1385:0123 0000 ADD [BX+SI],AL DS:0200=007、相对基址变址寻址-a1385:0123 mov ax,[bp+di+01] ;输入相对基址变址寻址命令1385:0126-t ; 单步执行,相对基址变址寻址命令运行,ax内容改变AX=BF04 BX=0100 CX=0001 DX=0000 SP=FFEE BP=0001 SI=0100 DI=0110DS=1385 ES=1385 SS=1385 CS=1385 IP=0126 NV UP EI NG NZ NA PO NC1385:0126 0000 ADD [BX+SI],AL DS:0200=008、设DS=当前段地址,BX=0300H,SI=0002H;请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0DH,0EH。

操作系统寻址方法

操作系统寻址方法

操作系统寻址方法操作系统中的寻址方法是确定内存中数据存储位置的一种方式。

在计算机系统中,内存被划分为一个个内存单元,每个内存单元都有一个唯一的地址。

操作系统通过地址来定位和访问内存中的数据。

下面将介绍几种常见的寻址方法。

1.直接寻址:直接寻址是最简单和最常见的寻址方式。

每个内存单元都有一个唯一的地址,程序可以通过指定地址直接访问相应的内存单元。

例如,程序可以通过将地址赋值给一个变量,然后通过该变量来访问内存中的数据。

直接寻址的优点是速度快,但缺点是需要显式地指定内存地址。

2.间接寻址:间接寻址是指使用一个地址指针来间接访问内存中的数据。

程序首先访问一个地址指针,该地址指针包含了实际数据所在的地址,然后再根据该地址访问对应的数据。

这种寻址方式可以通过连续的间接引用来访问不同层次的数据结构,提高了操作灵活性。

例如,链表数据结构就是通过间接寻址来实现的。

3.寄存器寻址:寄存器寻址是一种使用寄存器来进行地址寻址的方式。

寄存器是位于CPU内部的一组高速存储器,其访问速度比内存更快。

通过将数据存储在寄存器中,可以提高程序的执行效率。

程序可以直接将寄存器作为操作数来进行计算,而不需要访问内存。

然而,寄存器的数量有限,所以只能存储一小部分数据。

4.相对寻址:相对寻址是基于当前指令地址进行寻址的方式。

程序可以通过指定一个偏移量来访问相对于当前指令地址的内存位置。

例如,可以使用相对寻址在循环中访问数组元素。

相对寻址的一个优点是可以编写更加短小和高效的指令序列,因为不需要指定完整的内存地址。

5.基址寻址:基址寻址是通过将一个基址和一个偏移量相加来计算内存地址的方式。

基址是一个常量值,而偏移量可以是一个立即数或者一个寄存器中的值。

通过将基址与偏移量相加,可以得到实际的内存地址。

基址寻址的一个优点是可以使用相对较小的地址来表示内存单元,从而节省内存空间。

除了上述常见的寻址方法外,还有一些其他的寻址方法,如变址寻址、栈式寻址、堆栈寻址等。

常用的操作数寻址

常用的操作数寻址

常用的操作数寻址在计算机程序设计中,数据的存储空间通常被划分为指令和数据区域。

指令用于执行指令,而数据区域则用于存储数值或者其它类型的数据。

在处理器中,要引用这些数据,我们需要通过寻址来访问它们。

下面我们就来详细了解几种常用的操作数寻址方式。

1. 直接寻址:这种方法最为简单,直接将数据存储在单个内存单元中,并通过其地址在程序中引用。

这种方式适用于数据区域相对较小的场景。

在程序执行时,CPU直接读取并处理内存中的数据。

2. 立即寻址:对于一些需要被直接使用的常数或值而言,立即寻址是一种常用的方法。

通过将立即数指定为操作数,CPU指令可以直接使用该常数或值。

举个例子,一个数值常量可能被定义为“ADD 3,R1”,其中第一个操作数为立即数3,表示将3加到寄存器R1中。

3. 间接寻址:当指示某个数据的位置的另一个数据存储在另一个单元中时,间接寻址方式就可以派上用场。

该方法使用指定的内存地址作为操作数,而不是实际的数值,这个内存地址包含自己所需的操作数。

当CPU执行指令时,它首先读取操作数中存储的内存地址,然后再从内存中读取实际的数值。

4. 寄存器寻址:这种方式利用寄存器引用数据。

在程序执行之前,需要将数据存储到寄存器中,并将寄存器地址作为操作数传递给CPU。

当指令运行时,CPU将从寄存器中提取所需的数据进行处理。

这种方法会大大提高程序的运行速度,因为它可以避免频繁的内存访问操作。

5. 基址寻址:基址寻址是一种在程序中引用存储在内存中的数据的常见方法。

该方法使用一个基址寄存器和一个偏移量来计算内存地址。

基址寄存器通常包含某个数据结构的起始内存地址,偏移量是某个数据结构内部数据元素的偏移量。

当CPU执行指令时,它将基址加载到一个寄存器中,并将偏移量作为操作数传递给CPU。

所得到的结果是内存地址,数据可以从这个地址中读出。

总结起来,以上这几种操作数寻址方式在不同的场景下都可以派上用场,可以在程序设计时根据实际需要进行选择。

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

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

实验二内存操作数及寻址方法-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、掌握与数据有关的寻址方式,进一步加深对存储器组织的认识;
2、掌握算术与逻辑运算指令,掌握运算指令对主要标志位的影响;
3、掌握在Turbo Debugger的CPU视图中查看内存数据的不同方法。

二、实验要求
1、运行Turbo Debugger,学习在Watches窗口中添加对寄存器和指定内存单元的监视;
2、汇编指令,将AX,BX和CL,DL的内容分别加入数据段偏移地址120H,122H
字单元和130H,131H字节单元。

将指令执行结果和各标志位的值与手工计算结果
作比较(不得用零值进行运算);
3、验证8条逻辑和移位指令;
4、编写指令序列,并在TD中实现:数据段210H和220H双字存储单元无符号数作加
法运算,结果存入230H双字单元;
5、编写指令序列,并在TD中实现:设16位带符号数变量X,Y,Z,W的存储地址
是数据段内的300H,302H,304H和310H,初值为20,4000,333,0。

请在TD
中实现运算(X - Y)/Z,商存入W;
三、实验内容
四、实验小结(可选)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

内存寻址的方式

内存寻址的方式

内存寻址的方式内存寻址的方式是计算机中进行数据存取的基本方法,它决定了计算机如何将数据存储到内存中,并且在需要时如何从内存中读取数据。

本文将介绍几种常见的内存寻址方式。

1. 直接寻址直接寻址是最简单的内存寻址方式,也是最常用的方式之一。

在直接寻址中,CPU通过将数据的地址直接传递给内存控制器,从而实现对内存的读取或写入操作。

这种方式的优点是速度快,但缺点是地址空间有限,无法处理大于地址空间的数据。

2. 间接寻址间接寻址是通过使用一个指针或地址寄存器来间接访问内存中的数据。

CPU首先从指针或地址寄存器中读取一个内存地址,然后再通过该地址去访问内存中的数据。

这种方式的优点是可以间接地访问内存中的数据,适用于处理复杂的数据结构,但缺点是需要多次访问内存,速度相对较慢。

3. 寄存器间接寻址寄存器间接寻址是一种特殊的间接寻址方式,它使用一个寄存器来存储内存地址。

CPU首先从寄存器中读取一个地址,然后再通过该地址去访问内存中的数据。

这种方式的优点是速度快,但缺点是寄存器的数量有限,无法处理大量的地址。

4. 基址寻址基址寻址是一种常见的寻址方式,它使用一个基址寄存器来存储内存地址的起始位置。

CPU通过将基址寄存器中的值与偏移量相加,得到实际的内存地址。

这种方式的优点是可以处理大量的地址,适用于处理数组或数据结构,但缺点是需要多次计算地址,速度相对较慢。

5. 变址寻址变址寻址是一种常见的寻址方式,它使用一个变址寄存器来存储内存地址的偏移量。

CPU通过将变址寄存器中的值与基址相加,得到实际的内存地址。

这种方式的优点是可以处理不同偏移量的地址,适用于处理多维数组或数据结构,但缺点是需要多次计算地址,速度相对较慢。

6. 相对寻址相对寻址是一种常见的寻址方式,它使用一个相对地址来访问内存中的数据。

CPU通过将相对地址与当前指令的地址相加,得到实际的内存地址。

这种方式的优点是可以在程序中使用相对地址,简化了程序的编写,但缺点是需要多次计算地址,速度相对较慢。

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

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

实验一内存操作数及寻址通过实验掌握下列知识: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、熟练掌握 DEBUG 的常用命令,学会用 DEBUG 调试程序。

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

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

二、实验要求1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。

2、本实验只要求在 DEBUG 调试程序状态下进行,包括汇编程序、调试程序和执行程序。

三、实验环境DOS 操作系统四、实验内容1、设堆栈指针 SP=2000H,AX=3000H,BX=5000H;请编一程序段将 AX 和 BX 的内容进行交换。

请用堆栈作为两寄存器交换内容的中间存储单元,用 DEBUG 调试程序进行汇编与调试。

(1)编写程序段mov ax,3000mov bx,5000mov sp,2000mov ss,axpush axpush bxpop axpop bx图1编写指令(2)传送数据图2传送指定数据(3)将ax,bx压入堆栈图3ax,bx压入堆栈(4)ax出栈图4ax出栈bx出栈图5bx出栈2、设 DS=当前段地址,BX=0300H,SI=0002H;请用 DEBUG的命令将存储器偏移地址 300H~304H 连续单元顺序装入 0AH,0BH,0CH,0DH,0EH。

在 DEBUG 状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX 中的内容是什么。

程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT设 DS=当前段地址,BX=0300H,SI=0002H。

图6传入指定数据将存储器偏移地址 300H~304H 连续单元顺序装入 0AH,0BH,0CH,0DH,0EH。

图70AH,0BH, 0CH,0DH,0EH装入存储器偏移地址MOV AX,BX 寄存器寻址 AX=0300。

操作数的寻址方式

操作数的寻址方式
OPCODE 寻址方式特征MOD 形式地址A
形式地址,是指令字结构中给定的 地址量。而寻址方式特征位,通常由间址 位(I)和变址位(X)组成,若指令无间 址和变址要求,则形式地址就是操作数的 有效地址;若指令中指明要进行变址或间 址变换,则形式地址就不是操作数的有效 地址,而必须按指定方式进行变换,才能 形成有效地址.因此,操作数的寻址过程 就是将形式地址变换为操作数的有效地址 的过程。
7.基址寻址方式
计算机中设置了一个寄存器,专门用 来存放基准地址,该寄存器就是基址寄存 器(RB)。RB既可在CPU中专设,也可由 指令指定某个通用寄存器担任。先将指令 地址码给出的地址A和基址寄存器RB的内 容通过加法器相加,所得的和作为有效地 址,再从存储器中读出所需的操作数。
这种操作数的有效地址由基址寄存 器中的基准地址和指令的地址码A相加得 到的方式称为基址寻址方式。
但是,由于操作数是指令的一部分, 不能修改,而指令所处理的数据大多都 是在不断变化的,故这种方式只适用于 操作数固定的情况。通常用于给某一寄 存器或存储器单元赋初值或提供一个常 数等。立即寻址方式表示形式为:
OPCODE 立即寻址方式 操作数DATA
3.寄存器寻址方式
当操作数不放在存储器中,而是放在 CPU的通用寄存器中时,存放操作数的寄 存器,其地址编号便可通过指令地址码 指出。这种所需要的操作数存放在某一 通用寄存器中,由指令地址码字段给出 该通用寄存器地址的方式,称为寄存器 寻址方式。
(2)存储器直接寻址方式
一般简称直接寻址方式,其指令地 址码字段直接给出存放在存储器中操作 数的存储地址。
有效地址EA数学形式为:EA=A
图4.5
5.间接寻址方式
间接寻址是相对于直接寻址而言的。 间接寻址时,指令地址码字段给出的不 是操作数的真正地址,而是存放操作数 地址的地址,换句话说就是形式地址A所 指定单元中的内容才是操作数的有效地 址.这种操作数有效地址由指令地址码 所指示的单元内容间接给出的方式,称 为间接寻址方式,简称间址。

DSP实验二 基本指令及寻址方式

DSP实验二 基本指令及寻址方式

实验二基本指令及寻址方式DSP的最大优势在于数据处理,所以DSP数据处理指令非常多,包括算术指令、逻辑指令或数据加载与传送指令。

并且与常规处理器相比,DSP还针对某些具体应用专门填加了一些处理指令,以方便和加快数据处理速度。

1.实验目的:(1)学习DSP指令的使用(2)学习并掌握DSP的基本寻址方式2.实验器材仿真器,DEMO板3.实验内容编写程序实现数据的算术运算4.DSP寻址方式(1)立即数寻址这种寻址方式最简单,立即数包含在指令中。

立即数包括短立即数和长立即数;短立即数为3、5、8、9Bit;长立即数为16位。

立即数包含在单字节和双字节指令中,短立即数为3、5、8、9Bit包含在单字节指令中,16-Bit指令包含在双字节指令中。

例1:RPT #99;将下一条指令执行100次(短立即数寻址)nop;Sacl data1;Dp .set 214RPT #dpADD #16384,2;将16384左移2位后加到累加器(ACC:32)中(长立即数寻址)(2)直接寻址、在直接寻址中,指令代码包含了数据存储器地址的低7位。

这7-bit位作为偏移地址与数据页指针相结合共同形成16-bit数据存储器实际地址。

如下图所示。

例30页0000-007FH1页0080-00FFH2页0100-017FH3页0180-01FFH4页0200-027FH5页0280-02FFH511页FF80-FFFFH.dataData_DP:Var0 .word 3 0200:3Var1 .word 2 0201:2Var2 .word 1 0202:1Result .word 0 0203:0.textLDP #Data_DPSUM0: LACC Var1 ACC=2LACC 2 ACC=1LACC #Var1 ACC=0201H(3) 间接寻址我们可以使用系统提供的8个辅助寄存器AR0~AR7实现灵活的间接寻址,通过间接寻址方式可以寻址数据存储器的64K 中任何一个寄存器单元。

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

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

《汇编语言程序设计》实验报告实验二内存操作数及寻址方法实验目的通过实验掌握下列知识: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开始的内存中。

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

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

实验二内存操作数及寻址方法实验目的:通过实验掌握下列知识: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]ADC AH,0INC BXJ: LOOP LOPINT3步骤:1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。

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

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

5)用命令Q退出DEBUG。

常用的操作数寻址

常用的操作数寻址

常用的操作数寻址以常用的操作数寻址为标题,本文将会讲解计算机中常用的操作数寻址方式,包括直接寻址、寄存器寻址、间接寻址、寄存器间接寻址、基址寻址、变址寻址和相对寻址。

直接寻址是最简单的寻址方式之一,它直接使用操作数的地址进行访问。

例如,给定一个存储在内存地址1000中的数值,我们可以使用直接寻址方式来获取它。

这种寻址方式非常快,但是它有一个缺点,即操作数必须存放在一个已知的内存地址中,如果操作数的地址是未知的,则无法使用直接寻址方式来访问它。

寄存器寻址是另一种常用的寻址方式,它使用CPU内部的寄存器来存储操作数。

寄存器寻址方式非常快,因为它不需要访问内存,只需要读取寄存器中的值即可。

然而,寄存器的数量是有限的,因此只能使用寄存器存储较少的数据。

间接寻址是一种间接访问操作数的方式,它使用操作数的地址来访问另一个地址中存放的值。

例如,给定一个存储在内存地址1000中的数值作为操作数,我们可以使用间接寻址方式来获取它。

这种方式虽然比直接寻址慢,但是它可以访问未知地址中存放的数据。

寄存器间接寻址是一种使用寄存器来存储操作数地址的寻址方式。

例如,可以将操作数的地址存储在AX寄存器中,然后使用寄存器间接寻址方式来访问该地址中存放的数据。

这种方式比直接寻址更灵活,因为可以使用不同的寄存器来存储不同的地址。

基址寻址是一种使用基地址和偏移量来访问操作数的方式。

例如,可以使用基地址1000和偏移量10来访问存储在内存地址1010中的操作数。

这种方式非常灵活,因为可以使用不同的基地址和偏移量来访问不同的数据。

变址寻址是一种使用变址寄存器和偏移量来访问操作数的方式。

例如,可以使用变址寄存器BX和偏移量10来访问存储在内存地址BX+10中的数据。

这种方式比基址寻址更灵活,因为可以使用不同的变址寄存器和偏移量来访问不同的数据。

相对寻址是一种使用相对于当前指令的偏移量来访问操作数的方式。

例如,可以使用相对于当前指令的偏移量10来访问存储在内存地址PC+10中的数据。

实验二 寻址方式与指令练习

实验二 寻址方式与指令练习

注意:星期天早上的汇编实验改到星期六下午实验二寻址方式与指令练习1 实验目的通过实验掌握各种寻址方式,理解指令的功能,熟悉debug的调试命令。

2 实验内容(1)假设DS=2000 ES=2100 SS=1500 SI=00A0 BX=0100 BP=0010 ,请通过实验指出下列指令原操作数是什么寻址方式?它们的物理地址是多少?MOV AX,ABMOV AX,BXMOV AX,[100]MOV AX,[BX]ES:MOV AX,[BX]MOV AX,[BP]MOV AX,[SI+10]MOV AX,[BX][SI]MOV AX,10[BX][SI](2)自选已学过的指令,在debug下用a命令写入,如:ADD [BX],AX等,用t命令跟踪观察执行结果及结果在那里。

3 实验要求本实验在要求在debug下进行。

4 实验步骤提示(1)首先进入debug状态,用r命令修改各寄存器的内容,以满足题目的要求。

(2)用a命令写入实验的9条命令。

(3)用t命令单步执行,观察运行的结果,进一步理解立即寻址、寄存器寻址。

(4)用t命令后,用d命令观察内存单元的内容和运行的结果,进一步理解直接寻址寄存器间接寻址,基址变址寻址和相对寻址。

5 同理将以下代码输入,看看ax寄存器内容有何变化。

(假设DS=当前段地址BX=0300 SI=0002,然后用e命令将偏移地址300-304送入0A 0B 0C 0D 0E )MOV AX,BXMOV AX,304MOV AX,[304]MOV AX,[BX]MOV AX,01[BX]MOV AX,[BX][SI]MOV AX,01[BX][SI]HLT6 学会安装汇编软件ZASM一.如图所示,进入汇编安装程序子目录。

二,进入tasm5子目录,如图所示,双击install文件三、如下所示按回车键四、如下,输入你的文件架所在的目录五、此时,会自动读出你的文件,按回车键六、按F9可以安装,中途会有出错提示,别管他,按回车即可。

第三讲2 操作数的寻址方式

第三讲2 操作数的寻址方式

AX, [BX] 等效 MOV AX, DS:[BX] 例:MOV BX, [BP] 等效 MOV AX, SS:[BP]
例:MOV
操作数的EA为寄存器的内容 BX、SI 、DI-------DS BP------SS MOV BX,[SI]
例如:MOV AX,[BX]
该指令执行之前,DS=2000H,AX=54C8H,BX=0300H, 存储单元20300H的内容是6A9BH。 问:执行指令后,相关寄存器及存储单元的值是什么? 源操作数的地址为: EA=(BX)= 0300H PA=(DS)*16+EA=2000H*16+0300H=20300H
例 将内存缓冲区中以BUFA开始的一组字数据传送到BUFB开始的内存区
DATA BUFA COUNT BUFB DATA STACK STACK CODE START: SEGMENT DW 367BH,2845H,0A78H, 9DE3H,0F6BH,6532H BUFB EQU ($-BUFA)/2 DW COUNT DUP (?) ENDS SEGMENT STACK DB 200 DUP(?) ENDS BUFA SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE MOV AX,DATA MOV DS,AX INC DI MOV SI,0 INC DI MOV DI,0 DEC CX MOV CX,COUNT JNZ LOP MOV AX,BUFA[SI] MOV AH,4CH MOV BUFB[DI],AX INT 21H INC SI CODE ENDS INC SI END START
将[DS:SI]为地址的一个字节/字传送到 [ES:SI]地址,然 后修改地址指针 SI,DI并使CX减1(计数) I/O端口寻址:端口 累加器(AL/AX) 使用间接端口寻址方式,须先将端口号传送到DX中。 IN AX,35H 直接端口寻址方式 8位地址可访问256 IN AL,DX 个端口 OUT 4FH,AL OUT DX,AX

常用的操作数寻址方式

常用的操作数寻址方式

常用的操作数寻址方式
操作数寻址方式是指程序中调用一个操作数的方式,常用的操作数寻址方式有以下几种:
1. 立即数寻址:将操作数直接写在指令中,如 `MOV AX, 1234H`,其中
`1234H` 就是立即数。

2. 寄存器寻址:将操作数存储在寄存器中,然后通过寄存器名称来访问,如
`MOV AX, BX`,其中 `BX` 就是一个寄存器。

3. 直接寻址:将操作数存储在内存中,通过直接访问内存地址来获取操作数,如 `MOV AX, [1000H]`,其中 `1000H` 就是一个内存地址。

4. 间接寻址:将操作数存储在内存中,通过访问内存地址来获取操作数的地址,再通过该地址来访问操作数,如 `MOV AX, [BX+100H]`,其中 `BX` 是一个寄存器,`100H` 是一个偏移量。

5. 寄存器间接寻址:将操作数存储在内存中,通过寄存器来获取操作数的地址,再通过该地址来访问操作数,如 `MOV AX, [BX]`,其中 `BX` 是一个寄存器,表示操作数的地址。

6. 相对寻址:将操作数存储在相对于程序入口的某个位置,通过相对偏移量来访问,如 `JMP 0x1000`,表示跳转到相对于程序入口偏移量为 `0x1000` 的位置。

以上是常用的操作数寻址方式,了解它们对于编写汇编代码非常重要。

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

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

实验内存操作数及寻址方式实验二:内存操作数及寻址方式一、实验目的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)。

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

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

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

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

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

2.2 实验类型
验证型实验
2.3 实验内容及步骤
2.3.1 内存操作数及各种寻址方式使用
1. 实验程序
MOV AX,1234
MOV [1000],AX
MOV BX,1002
MOV BYTE PTR [BX],20
MOV DL,39
INC BX
MOV [BX],DL
DEC DL
MOV SI,3
MOV [BX+SI],DL
MOV [BX+SI+1],DL
MOV WORD PTR [BX+SI+2],2846
2. 实验步骤
1)用A命令键入上述程序,并用T命令逐条运行。

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

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

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

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

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

3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址)。

4)用命令W100将此程序存到AA命名的磁盘文件中。

5)用命令Q退出DEBUG。

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

若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入。

7)用E命令在内存地址1000H处键入16个数字
8)用命令G=100J(J用实际地址代替),使程序运行并停在断点J上,检查AX,BX的值是否符合你的预计值。

9)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样,若不一样,检查程序是否有错。

10)重复GJ与T,再检查AX是否正确。

11)用G命令使程序运行到结束,检查AX值是否正确。

2.3.3 多字节加法程序
1. 实验程序
MOV DI,1000
MOV CX,8
MOV SI,2000
CLC
LOP: MOV AL,[SI]
ADC [DI],AL
INC SI
INC DI
LOOP LOP
INT 20
2. 实验步骤
1)用命令键入此程序。

2)用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数,均为低字节在前面。

3)用G命令运行此程序,并用D命令检查其结果(存放在哪里?),是否正确?
4)将INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行?试一试。

2.4 自编程序
用16位减法指令编一个32位(4字节)数减法程序,两个源数及结果存放地址同上题。

调试并做记录。

2.5 实验报告
①各项实验结果记录。

②自编程序原稿及调试后修正稿,写出原稿错在那里。

相关文档
最新文档