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

合集下载

寻址操作指令总结

寻址操作指令总结

一、寄存器寻址操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编号,指令执行时直接取出寄存器自来操作。

例如:SUB R0,R1,R2 ;R1 - R2 R0该指令将R1的值减去R2的值,结果保存得到R0中。

这种寻址方式是各类微处理器经常采用的一种方式,也是一种执行效率较高的寻址方式。

练习:AREA TEXT,CODE,READONLYENTRYSTART①MOV R1,#0x80②MOV R2,#0x40③SUB R0,R1,R2END①将立即数0x80装入R1中②将立即数0x40装入R2中③将R1的值减去R2的值,结果保存到R0中二、立即寻址立即寻址指令中的操作码字段后面的地址码部分就是操作数本身,也就是说,数据就包含在指令当中,取出指令也就取除了可以立即使用的操作数(立即数)。

立即寻址也叫立即数寻址。

例如:SUBS R0,R0,#1 ;R0 - 1 R0MOV R0,#0xff00 ;0xff00 R0第1条指令将R0减1,结果保存到R0中,并影响标志位。

第2条指令将立即数0xff00装入R0中。

练习:AREA TEXT,CODE,READONLYENTRYSTART①MOV R0,#0x80②SUBS R0,R0,#0x20③MOV R0,#0xff00END①将立即数0x80装入R0中②R0减1,结果保存到R0中,并影响标志位③将立即数0xff00装入R0中三、寄存器偏移寻址寄存器偏移寻址是ARM指令集特有的寻址方式,当第2操作数是寄存器偏移方式时,第2个寄存器操作数在与第1个操作数结合之前,选择进行移位操作。

MOV Rd,Rn,Rm,{<shift>}Rm 称为第2操作数寄存器<shift> 用来指定一位类型和移位位数,有两种形式:5位立即数(其值小于32);寄存器(用Rs表示) (其值小于32)。

例如:MOV R1,R2,LSL #3 ;R2的值左移3位,结果放入R0,即R0=R2*8 ANDS R1,R1,R2,LSL R3 ;R2的值左移R3位,然后和R1相与操作,结果放入R1 练习:AREA TEXT,CODE,READONLYENTRYSTART①MOV R1,#0x06②MOV R2,#0x01③MOV R3,#0x02④MOV R0,R2,LSL #3⑤ANDS R1,R1,R2,LSL R3END①将立即数0x06装入R1中②将立即数0x01装入R2中③将立即数0x02装入R3中④R2的值左移3位,结果放入R0,即R0=R2*8⑤R2的值左移R3位,然后和R1相与操作,结果放入R1第2操作数移位方式共有六种移位方式:LSL逻辑左移LSR逻辑右移ASL算术左移ASR算术右移ROR循环右移RRX带扩展的循环右移1)LSL:逻辑左移,寄存器中字的低端空出的位补0.2)LSR:逻辑右移,寄存器中字的高端空出的位补0.SUB R3,R2,R1,LSL #2 ;R3 R2 - (R1逻辑左移2位)SUB R3,R2,R1,LSR R0 ;R3 R2 - (R1逻辑右移R0位)练习:AREA TEXT,CODE,READONLYENTRYSTART①MOV R0,#1②MOV R1,#2③MOV R2,#8④SUB R3,R2,R2,LSL #2⑤SUB R3,R2,R1,LSR R0NOPEND①将立即数1装入R0中②将立即数2装入R1中③将立即数8装入R2中④R2的值减去R2左移两位的值放入R3中⑤R1的值减去R1右移R0位的值放入R33)ASL:算术左移,由于左移空出的有效位用0填充,因此它与LSL同义、4)ASR:算术右移,移位过程中保持符号位不变,即如果源操作数为整数,则自的高端空出的位补0,否则补1.ADD R3,R2,R1,ASL #2 ;R3 R2+(R1算术左移2位)SUB R3,R2,R1,ASR R3 ;R3 R2-(R1算术右移R3位)5)ROR:循环右移,由字的低端移出的位填入自的高端空出的位。

所有实验电子版报告

所有实验电子版报告

实验报告课程:汇编语言上机实验专业:电子信息科学与技术班级:11电子1班学号:119050244098姓名:徐睿昀物理与电子信息学院目录实验一 DEBUG常用命令及8086指令使用 (1)实验二内存操作数及寻址方法 (5)实验三汇编语言程序上机过程 (10)实验四数据串传送和查表程序 (13)实验五屏幕字符显示程序 (19)实验六屏幕字符显示程序 (23)实验七分枝程序 (27)实验八多重循环程序 (33)实验九子程序 (37)汇编语言程序设计实验报告1学号:119050244098 姓名:徐睿昀实验日期:2013 10 20 实验名称:实验一 DEBUG常用命令及8086指令使用实验目的:1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG2、DEBUG命令: A,D,E,F,H,R,T,U。

3、ASCII码及用16进制数表示二进制码的方法。

4、8086寄存器: AX,BX,CX,DX,F,IP。

实验内容:一、DEBUG 命令使用:1、打 DEBUG 进入 DEBUG 控制,显示提示符 '_ '。

2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。

3、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。

4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。

5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较:(1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758,347FH7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。

实验二 汇编语言数据的寻址方式与定义

实验二 汇编语言数据的寻址方式与定义
dvardword 9abcdef0h
.code
start:
mov eax,dword ptr array
mov ebx,type bvar
mov ecx,type wvar
mov edx,type dvar
mov esi,lengthof array
mov edi,sizeof array
mov ebp,arr_size
bvar3byte ?
bvar4byte 5 dup ('$')
bvar5byte minint dup(0),minint dup(minint,?)
byte 2 dup(2,3,2 dup(4))
.code
start:
exi:include io32.inc
.data
bvar6byte 39h,31h,32h,38h
byte 0
.code
start:
mov eax,offset wvar6
call dispmsg
exit 0
end start
运行结果:
4:
include io32.inc
.data
minint= 10
dvar1dword 0,80000000h,0ffffffffh,-80000000h,0,7fffffffh
3.将教材P65页[例3-1]编写为完整程序,上机调试并运行。
4.将教材P67页[例3-2]编写为完整程序,上机调试并运行。
5.将教材P67页[例3-3]编写为完整程序,上机调试并运行。
6.将教材P68页[例3-4]编写为完整程序,上机调试并运行。
7.将教材P70页[例3-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所 指定单元中的内容才是操作数的有效地 址.这种操作数有效地址由指令地址码 所指示的单元内容间接给出的方式,称 为间接寻址方式,简称间址。

汇编语言实验报告2 - 寻址方式的综合应用及转移指令的原理

汇编语言实验报告2 - 寻址方式的综合应用及转移指令的原理

一、实验目的1.定位内存单元的寻址方式汇总2.寻址方式的综合应用3.转移指令的分类和原理4.熟悉在显存中编程的方法二、实验内容及要求(一)寻址方式的汇总及综合应用1. 定位内存单元的寻址方式有几种,并举例说明。

2. 寻址方式在结构化数据访问中的应用。

Power idea公司从1975年成立一直到1995年的基本情况如下。

年份收入(千美元) 雇员人均收入(千美元) 1975 16 3 ?1976 22 7 ?1977 382 9 ?1978 1356 13 ?1979 2390 28 ?1980 8000 38 ?M1995 5937000 17800 ?下面的程序中,已经定义好了这些数据:assume cs:codesgdata segmentdb '1975','1976','1977','1978','1979','1980','1981','1982','1983'db '1984','1985','1986','1987','1988','1989','1990','1991','1992'db '1993','1994','1995';年份dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514dd345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ;公司总收入dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226 dw 11542,14430,15257,17800;公司雇员人数data endstable segmentdb 21 dup('year summ ne ??')table ends编程,将data段中的数据按如下格式写入到table段中,并计算21年中的人均收入(取整),结果也按照下面的格式保存在table段中。

指令、操作数的寻址方式

指令、操作数的寻址方式

计算机组成原理 指令、操作数的寻址方式
2.2.7、变址寻址方式 在变址寻址方式中,通常在CPU内部设置 有一个或几个专用的变址寄存器,操作数 的有效地址=(变址寄存器)+形式地址。
计算机组成原理 指令、操作数的寻址方式
具体的指令如:MOV AL,[SI+0FH] 其中SI是CPU的16位变址寄存器,是变址寻 址方式,它的内容加上形式地址0FH是操作 数的有效地址,同样是一个偏移量,该内存 单元的内容即为操作数,假设为0。操作码 MOV表示传送操作,即把0传送给AL。
计算机组成原理 指令、操作数的寻址方式
若一个指令系统中只有上述8种寻址方式, 那么需要3位寻址方式特征位(23=8)。
计算机组成原理 指令、操作数的寻址方式
寻址方式特征 位 000 001 010 011 100 101 110 111
寻址方式
寄存器寻址 立即数寻址
直接寻址 间接寻址 隐含寻址 相对寻址 变址寻址 基址寻址
计算机组成原理 指令、操作数的寻址方式
•跳跃寻址方式 当执行到转移指令时,下一条指令地址不是 由PC给出,而是由本条指令给出,程序跳跃 后,按新的指令地址开始顺序执行,这时内容也相应改变,以便及时跟踪新的指令地 址。
计算机组成原理 指令、操作数的寻址方式
2、操作数的寻址方式 2.1、概述 通常操作数可以用如下三种方式给出: 指令中的操作数部分就是操作数本身。
计算机组成原理 指令、操作数的寻址方式
一般地,指令系统中都包含有如下8种典 型的寻址方式:寄存器寻址、立即数寻址、 直接寻址、 间接寻址、隐含寻址、相对 寻址、变址寻址、基址寻址。但是一个操 作数只能有一种寻址方式,到底是哪一种 寻址方式呢?由寻址方式特征位来决定, 即在指令的每个操作数部分中留出几位作 为寻址方式特征位。

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

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

实验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、实验体会和建议
体会:进一步加深了对内存操作数及寻址方式的认识和理解。

[转载]操作数的寻址方式

[转载]操作数的寻址方式

[转载]操作数的寻址⽅式寻址⽅式就是在汇编语⾔程序中寻找操作数或操作数地址的各种⽅法。

8086提供了与操作数有关和与I/O端⼝地址有关的两类寻址⽅式。

与操作数有关的寻址⽅式有七种,分别是:1)⽴即寻址,2)寄存器寻址,3)直接寻址,4)寄存器间接寻址,5)寄存器相对寻址,6)基址加变址寻址,7)相对基址加变址寻址,8)基址变址⽐例相对寻址;与I/0端⼝有关的寻址⽅式有1)直接端⼝寻址和2)间接端⼝寻址⽅式。

1. ⽴即寻址⽴即(Immediate)寻址,就是在指令中使⽤的操作数是常数,这个常数(即⽴即数)就包含在指令中。

MOV AX,2345H MOV AL,0EH2. 寄存器寻址寄存器(Register)寻址⽅式的操作数在CPU内部的寄存器中。

使⽤寄存器寻址,CPU不⽤访问内存就可以取得或修改操作数。

MOV BL,80;⽬标操作数BL是寄存器寻址MOV EAX,EBX ;源操作数EBX和⽬标操作数EAX都是寄存器寻址3. 直接寻址除了⽴即寻址和寄存器寻址⽅式外,其他的⼏种寻址⽅式的操作数都在内存单元中,寻址⽅式要说明的是CPU如何确定内存操作数的地址,然后CPU再对该内存单元中的操作数进⾏处理。

直接寻址(Direct)寻址就是指令中直接给出了操作数的地址。

指令中使⽤变量时,就是直接寻址。

MOV EAX,dValMOV dVal,EBX在翻译成机器指令后,变量是⽤它的地址⽽不是它的名字来表⽰的。

地址外⾯加⼀对⽅括号,表⽰取这个地址中的内容。

00401010 A1 11404000MOV EAX,[00404011]0040101589 1D 11404000MOV [00404011],EBXCPU在执⾏指令的时候,可以直接从指令码中取出地址,⽽不必经过计算或其他操作,所以叫做直接寻址。

4. 寄存器间接寻址采⽤寄存器间接(Indirect)寻址⽅式的操作数的地址放在寄存器中。

MOV ESI,00404011HMOV EAX,[ESI]注意,MOV EAX,ESI和MOV EAX,[ESI]的区别。

第2章内存寻址

第2章内存寻址

第二章内存寻址我们知道,操作系统是一组软件的集合。

但它和一般软件不同,因为它是充分挖掘硬件潜能的软件,也可以说,操作系统是横跨软件和硬件的桥梁。

因此,要想深入解析操作系统内在的运作机制,就必须搞清楚相关的硬件机制——尤其是内存寻址的硬件机制。

操作系统的设计者必须在硬件相关的代码与硬件无关的代码之间划出清楚的界限,以便于一个操作系统很容易地移植到不同的平台。

Linux的设计就做到了这点,它把与硬件相关的代码全部放在arch(architecture一词的缩写,即体系结构相关)的目录下,在这个目录下,可以找到Linux目前版本支持的所有平台,例如,支持的平台有arm、alpha,、i386、m68k、mips等十多种。

在这众多的平台中,大家最熟悉的就是i386,即Intel80x86体系结构。

因此,我们所介绍的内存寻址也是以此为背景。

2.1内存寻址曾经有一个叫“阿兰.图灵”的天才1,它设想出了一种简单但运算能力几乎无限发达的理想机器,这不是一个具体的机械设备,而是一个思想模型,可以用来计算能想象得到的所有可计算函数。

这个有趣的机器由一个控制器,一个读写头和一条假设两端无限长的带子组成。

工作带相当于存储器,被划分成大小相同的格子,每格上可写一个字母,读写头可以在工作带上随意移动,而控制器可以要求读写头读取其下方工作带上的字母。

这听起来仅仅是纸上谈兵,但它却是当代冯.诺依曼计算机体系的理论鼻祖。

它带来的“数据连续存储和选择读取思想”是目前我们使用的几乎所有机器运行背后的灵魂。

计算机体系结构中的核心问题之一就是如何有效地进行内存寻址,因为所有运算的前提都是先要从内存中取得数据,所以内存寻址技术从某种程度上代表了计算机技术。

2.1.1 Intel X86 CPU寻址的演变在微处理器的历史上,第一款微处理器芯片4004是由Intel推出的,那是一个4位的微处理器。

在4004之后,intel推出了一款8位处理器8080,它有1个主累加器(寄存器A)和6个次累加器(寄存器B,C,D,E,H和L),几个次累加器可以配对(如组成BC, DE或HL)用来访问16位的内存地址,也就是说8080可访问到64K内的地址空间。

常用的操作数寻址方式

常用的操作数寻址方式

常用的操作数寻址方式
操作数寻址方式是指程序中调用一个操作数的方式,常用的操作数寻址方式有以下几种:
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` 的位置。

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

2 寻址方式

2 寻址方式
例: MOV AL, DS:[2000H] (MOV AL,[2000H])
4.寄存器间接寻址:操作数的有效地址EA存放
在基址寄存器(BX或BP)或变址寄存器。 例:MOV AX,[BX]; [DS*10H+BX]送AL, [DS*10H+BX+1]送AH
MOV AX, [BX]
5.寄存器相对寻址:操作数的有效地址EA是8位
8086的寻址方式
1.立即寻址:操作数在指令中直接给出。
2.寄存器寻址:操作数在寄存器中,在指 令中指出寄存器名字。 例:MOV AX, BX
MOV AX,BX
3.直接寻址:操作数的有效地址(EA:IBM PC
中把操作数的偏移地址称为有效地址)是指令的 一部分,它与操作码一起存放在代码段中,但 操作数一般是在数据段中,因而这种寻址方式 是以DS的内容为基准。
是一个基址寄存器和一个变址寄存器的内容 和8位或16位位移量之和。
例:MOV AX,COUNT[BX][SI] MOV AX,COUNT[BX+SI] MOV AX,[BX+SI+COUNT] (DS)=3000H,(BX)=2000H,(SI)=1000H,COUNT=02 50H , 则物理地址=16d*(DS)+(BX)+(SI)+COUNT =30000+2000+1000+0250=33250H
ቤተ መጻሕፍቲ ባይዱ
或16位的位移量与基址寄存器BX或基址指示器BP或 某个变址寄存器(DI或SI)之和。 例: MOV Al, [BX+5 ]
6、基址加变址寻址方式:有效地址EA是由基 址寄存器BX(或基址指示器BP)的内容与变 址寄存器(DI或SI)的内容之和。

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

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

实验内存操作数及寻址方式实验二:内存操作数及寻址方式一、实验目的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命令: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、求累加和程序和多字节加减法程序。

二、实验内容和步骤:
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;存在两个字节中
步骤:
1)输入程序:A 起始地址(默认100H);
2)单步执行程序:采用T命令;
3)查看结果:D 内存单元地址
实验要求:每运行一条指令,检查并记录有关内存单元的内容并注明是什么寻址方式。

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

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

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

2)保存程序
I)给文件命名: N ** ;将此程序命名为文件**(文件名可任取)。

II)存储程序长度值:采用BX:CX存储程序的长度值, BX 存储高位,CX存储地位程序长度值的计算:最后一条指令后面的地址减去起始地址
采用修改寄存器命令:R BX 回车/输入数据
R CX 回车/输入数据
III)将起令行写入文件: W 起始地址;将此程序存到**命名的文件中。

3)退出DEBUG:在’_’提示符下键入Q退出DEBUG。

4)调入程序:
I)在dos操作符下键入DEBUG ** 回车;再次调入DEBUG和文件**
显示程序:在DEBUG操作符下用U 起始地址命令显示程序。

II)若调入DEBUG时忘了加**文件名,用N命令和L命令将文件调入.
例:N ** ↙
L↙
5)调试程序:
I)在内存中存储数据:
在1000H为起始地址的内存中存入16个数据:E 1000 16个数字
II)执行到断点:
G=100 J(J用实际地址代替),使程序运行并停在断点J上,
检查AX,BX的值并判断程序执行是否正确。

III)用T命令单步运行一步,观察程序方向(IP值)和CX值是否正确。

IV)重复II)和III)步,完成程序的调试;记录寄存器的变化情况和IP地址的变化V)连续执行程序: G 起始地址终止地址;检查AX值是否正确。

6)查看结果:D 内存地址
实验要求:记录程序运行结果,累加和存放的地址是多少?
3、多字节加法程序。

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
步骤:
1)输入程序;A 起始地址
2)在内存中存储数据:
E 1000 8字节被加数,
E 2000 8字节加数。

3)连续运行程序: G 起始地址终止地址
4)查看结果: D 内存地址
实验要求:记录运行结果,和存放的地址是多少?
思考:将INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行?试一试。

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

调试并做记录。

三、实验报告要求:
1、记录程序调试结果。

2、回答思考题。

相关文档
最新文档