微机原理上机实验2

更新时间:2023-09-17 02:35:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验一、使用Debug 验证教材习题二1 实验内容:

所选的题目(3) LEA BX, [BX+20H][SI] MOV AX, [BX+2]

环境:有关寄存器及存储单元的内容如下: DS=091DH, SS=1E4AH, AX=1234H, BX=0024H,

CX=5678H,BP=0024H, SI=0012H, DI=0032H, (09226H)=00F6H, (09228H)=1E40H, (1E4F6H)=091DH. 实验步骤: -r ds DS 0B45 :019d -r ss SS 0B45 :1e4a -r ax AX 0000 :1234 -r bx BX 0000 :0024 -r cx CX 0000 :5678 -r bp BP 0000 :0024 -r si SI 0000 :0012 -r di DI 0000 :0032 -e 56

019D:0056 00.f6 00.00 -e 58

019D:0058 00.40 00.1e -e ss:56

1E4A:0056 00.1d 00.09 -a

0B45:0100 lea bx,[bx+20][si] 0B45:0103 mov ax,[bx+2] 0B45:0106 -r

AX=1234 BX=0024 CX=5678 DX=0000 SP=FFEE BP=0024 SI=0012 DI=0032 DS=019D ES=0B45 SS=1E4A CS=0B45 IP=0100 NV UP EI PL NZ NA PO NC

0B45:0100 8D5820 LEA BX,[BX+SI+20] DS:0056=00F6 -p

AX=1234 BX=0056 CX=5678 DX=0000 SP=FFEE BP=0024 SI=0012 DI=0032 DS=019D ES=0B45 SS=1E4A CS=0B45 IP=0103 NV UP EI PL NZ NA PO NC

0B45:0103 8B4702 MOV AX,[BX+02] DS:0058=1E40 -p

AX=1E40 BX=0056 CX=5678 DX=0000 SP=FFEE BP=0024 SI=0012 DI=0032 DS=019D ES=0B45 SS=1E4A CS=0B45 IP=0106 NV UP EI PL NZ NA PO NC 0B45:0106 E92D01 JMP 0236

实验小结: 在此次实验中,最大的问题就是如何去修改环境的值,开始完全不知道如何修改,最棘手的就是如何修改DS和SS偏移后的地址存放的东西,在边看书边请教同学的情况下慢慢了解,逐渐上手,此题也就轻松解决。

实验二、使用Debug 验证教材习题二 4 实验内容:

所选的题目:(1) EBE7 JMP SHORT AGAIN (3) FFE3 JMP BX

环境:第一个字节在内存中的地址为CS=2000H和IP=016EH, 且环境为:DS=6000H, BX=16C0H,

(616C0H) = 46H, (616C1H) = 01H, (616C2H) = 00H,(616C3H) = 30H, (61732H) = 70H, (61733H) = 17H。

实验步骤: (1) EBE7 JMP SHORT AGAIN C:\\DOCUME~1\\ADMINI~1>debug

-r cs CS 0B3F :2000 -r ip IP 0100 :016e -r ds DS 0B3F :6000 -r bx BX 0000 :16c0 -e 16c0

6000:16C0 46.46 01.01 00.00 30.30 -e 1732

6000:1732 70.70 17.17 -e cs:016e

2000:016E FF.eb EB.e7 -u cs:016e

2000:016E EBE7 JMP 0157

2000:0170 0000 ADD [BX+SI],AL 2000:0172 0000 ADD [BX+SI],AL 2000:0174 0000 ADD [BX+SI],AL 2000:0176 0000 ADD [BX+SI],AL 2000:0178 0000 ADD [BX+SI],AL 2000:017A 0000 ADD [BX+SI],AL 2000:017C 0000 ADD [BX+SI],AL 2000:017E 0000 ADD [BX+SI],AL 2000:0180 0000 ADD [BX+SI],AL 2000:0182 0000 ADD [BX+SI],AL 2000:0184 0000 ADD [BX+SI],AL 2000:0186 0000 ADD [BX+SI],AL 2000:0188 0000 ADD [BX+SI],AL 2000:018A 0000 ADD [BX+SI],AL 2000:018C 0000 ADD [BX+SI],AL -p

AX=0000 BX=16C0 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=6000 ES=0B3F SS=0B3F CS=2000 IP=0157 NV UP EI PL NZ NA PO NC

2000:0157 0000 ADD [BX+SI],AL DS:16C0=46 (3) FFE3 JMP BX -r cs CS 0B3F :2000 -r ip IP 0100 :016e -r ds DS 0B3F :6000 -r bx BX 0000 :16c0 -e 16c0

6000:16C0 00.46 00.01 00.00 00.30

-e 1732

6000:1732 00.70 00.17 -e cs:016e

2000:016E 00.ff 00.e3 -u cs:016e

2000:016E FFE3 JMP BX

2000:0170 0000 ADD [BX+SI],AL 2000:0172 0000 ADD [BX+SI],AL 2000:0174 0000 ADD [BX+SI],AL 2000:0176 0000 ADD [BX+SI],AL 2000:0178 0000 ADD [BX+SI],AL 2000:017A 0000 ADD [BX+SI],AL 2000:017C 0000 ADD [BX+SI],AL 2000:017E 0000 ADD [BX+SI],AL 2000:0180 0000 ADD [BX+SI],AL 2000:0182 0000 ADD [BX+SI],AL 2000:0184 0000 ADD [BX+SI],AL 2000:0186 0000 ADD [BX+SI],AL 2000:0188 0000 ADD [BX+SI],AL 2000:018A 0000 ADD [BX+SI],AL 2000:018C 0000 ADD [BX+SI],AL -p

AX=0000 BX=16C0 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=6000 ES=0B3F SS=0B3F CS=2000 IP=16C0 NV UP EI PL NZ NA PO NC

2000:16C0 0000 ADD [BX+SI],AL DS:16C0=46 -p

AX=0000 BX=16C0 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=6000 ES=0B3F SS=0B3F CS=2000 IP=16C0 NV UP EI PL NZ NA PO NC

2000:16C0 0000 ADD [BX+SI],AL DS:16C0=46 -q

实验小结: 此实验遇到的问题是不会修改CS中的值和使用-U命令。后来在摸索中发现,修改CS里面的值和修改DS时用的命令格式都是相同的,而-U反汇编命令也在同学的帮助下知道如何使用了,而后反复的操练了很多次,终于得到想要的结果。

实验三、\的汇编、链接和调试\

实验内容: 使用 Masm、Link 和 Debug 汇编、链接和调试Hello.asm 实验步骤:

Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp.

C:\\Documents and Settings\\Administrator>cd masm

C:\\Documents and Settings\\Administrator\\masm>notepad Hello.asm

C:\\Documents and Settings\\Administrator\\masm>masm Hello

Microsoft (R) Macro Assembler Version 5.00

Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.

Object filename [Hello.OBJ]: Source listing [NUL.LST]: Cross-reference [NUL.CRF]:

50454 + 449706 Bytes symbol space free

0 Warning Errors 0 Severe Errors

C:\\DOCUME~1\\ADMINI~1\\masm>link Hello

Microsoft (R) Overlay Linker Version 3.60

Copyright (C) Microsoft Corp 1983-1987. All rights reserved.

Run File [HELLO.EXE]: List File [NUL.MAP]: Libraries [.LIB]:

C:\\DOCUME~1\\ADMINI~1\\masm>debug Hello.exe -r

AX=0000 BX=0000 CX=0421 DX=0000 SP=0400 BP=0000 SI=0000 DI=0000 DS=0BA1 ES=0BA1 SS=0BB2 CS=0BF2 IP=0000 NV UP EI PL NZ NA PO NC 0BF2:0000 B8B10B MOV AX,0BB1 -u

0BF2:0000 B8B10B MOV AX,0BB1 0BF2:0003 8ED8 MOV DS,AX 0BF2:0005 BA0000 MOV DX,0000 0BF2:0008 B409 MOV AH,09 0BF2:000A CD21 INT 21

0BF2:000C B8004C MOV AX,4C00 0BF2:000F CD21 INT 21

0BF2:0011 0AB8FFFF OR BH,[BX+SI+FFFF] 0BF2:0015 5E POP SI 0BF2:0016 5F POP DI

0BF2:0017 8BE5 MOV SP,BP 0BF2:0019 5D POP BP 0BF2:001A C3 RET 0BF2:001B 90 NOP

0BF2:001C 8B46F2 MOV AX,[BP-0E] 0BF2:001F 2BD2 SUB DX,DX -p

AX=0BB1 BX=0000 CX=0421 DX=0000 SP=0400 BP=0000 SI=0000 DI=0000 DS=0BA1 ES=0BA1 SS=0BB2 CS=0BF2 IP=0003 NV UP EI PL NZ NA PO NC 0BF2:0003 8ED8 MOV DS,AX -p

AX=0BB1 BX=0000 CX=0421 DX=0000 SP=0400 BP=0000 SI=0000 DI=0000 DS=0BB1 ES=0BA1 SS=0BB2 CS=0BF2 IP=0005 NV UP EI PL NZ NA PO NC 0BF2:0005 BA0000 MOV DX,0000 -p

AX=0BB1 BX=0000 CX=0421 DX=0000 SP=0400 BP=0000 SI=0000 DI=0000 DS=0BB1 ES=0BA1 SS=0BB2 CS=0BF2 IP=0008 NV UP EI PL NZ NA PO NC 0BF2:0008 B409 MOV AH,09 -p

AX=09B1 BX=0000 CX=0421 DX=0000 SP=0400 BP=0000 SI=0000 DI=0000 DS=0BB1 ES=0BA1 SS=0BB2 CS=0BF2 IP=000A NV UP EI PL NZ NA PO NC 0BF2:000A CD21 INT 21 -p

Hello World!

AX=0924 BX=0000 CX=0421 DX=0000 SP=0400 BP=0000 SI=0000 DI=0000 DS=0BB1 ES=0BA1 SS=0BB2 CS=0BF2 IP=000C NV UP EI PL NZ NA PO NC 0BF2:000C B8004C MOV AX,4C00 -p

AX=4C00 BX=0000 CX=0421 DX=0000 SP=0400 BP=0000 SI=0000 DI=0000 DS=0BB1 ES=0BA1 SS=0BB2 CS=0BF2 IP=000F NV UP EI PL NZ NA PO NC 0BF2:000F CD21 INT 21 -p

Program terminated normally -

实验小结: 这个实验中,首先遇到的是如何使用MASM、LINK、DEBUG程序,在乐乎圈子的例子的帮助

下,一点一点的熟悉起来,接下来的一切都比较顺利,因为对照着例子做,所以做起来感觉轻车熟路。最后在DEBUG的调试阶段,出来的那些值和例子那个不太一样,纠结了很久,却不知道怎么回事,但是结果Hello word却能显示出来,自己猜测可能和实验的环境有关,不同的操作环境下状态不同。

本文来源:https://www.bwwdw.com/article/ajoh.html

Top