在64BIT系统WIN7使用BDOSX

实验任务

1

将mov ax,4e20h

   add ax,1416h

  mov bx,2000h

  add ax,bx

  mov bx,ax

  add ax,bx

  mov ax,001h

  mov bx,0026h

  add al,bl

   add ah,bl

  add bh.al

  mov ah,0

  add al, bl

  add al,9ch

输入到内存并逐句执行

不知到怎么回事无法在1000:0处使用a命令只能用e直接在内存处输入机器码。

结果是我把16进制的H输上了= =

R命令修改CSIP地址;

T执行CSIP的命令;

 

使用了A命令来将指令已汇编的形式在内存中输入机器指令;

 

同理可以从100000061000:0021;

输入Mov bx,2000h

 

Add ax,bx

 

Mov bx,ax

 

Add ax,bx

 

Mov ax,001ah

Mov bx,0026h

 

 Add al,bl

 

Add ah, bl

add bh,al

 

Mov ah,0

 

Add al,bl

 

Add al,9cH

 

2.使用mov ax,1 add ax,ax jup 2000:0003 在2000:开始的内存单元完成计算2的8次方;

 

 执行到这一步就算成功了;

 

3.察看主机板上的ROM日期,在内存FFF00H——FFFFFH的某几个单元中并试图改变它

 

 

使用e命令无法修改的内存单元就是FFF0:00F0——00FF 这就是日期,01/01/92  我使用的虚拟机,其实其虚拟出来的ROm的日期不是真的。

4。

两次不同时间的B810:0开始的内存单元中的命令不同;

 

在我使用虚拟机时无法 使用E命令却改变其内存的值。但是在WIN7 32位 保护模式下却可以修改B810:0  如图:

经过我在网上查找的资料,e的确修改了B810:0000 (实际为b810:0100这段为显存)由于后面的D命令刷新了屏幕就看不到了:

实验总结与体会:

再怎么在书上读背,不如亲手进行操作,并且许多小错误发生在我们身上。

  

猜你喜欢

转载自www.cnblogs.com/nanjinghuangsheng/p/9827464.html