汇编语言(王爽第三版)实验一

实验一

题目预览

  1. 使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后的CPU中相关寄存器中内容的变化。
  2. 将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方
  3. 查看内存中的内容
  4. 向内存从B8100H开始的单元填写数据。

1

使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后的CPU中相关寄存器中内容的变化。

机器码				汇编指令
b8 20 43			mov ax,4E20H
05 16 14			add bx,1416H
bb 00 20			mov bx,2000H
01 d8				add ax,bx
89 c3				mov bx,ax
01 d8				add ax,bx
b8 1a 00			mov ax,001AH
bb 26 00			mov bx,0026H
00 d8				add al,bl
00 dc				add ah,bl
00 c7				add bh,al
b4 00				mov ah,0
00 d8				add al,bl	
04 9c				add al,9cH

我们用A命令从1000:0开始写入汇编指令
在这里插入图片描述
用r cs和r ip改变CS:IP的指向
在这里插入图片描述
一步一步运行,结果如下

机器码				汇编指令					运行结果		CS:IP
b8 20 43			mov ax,4E20H			ax=4E20		1000:0003	
05 16 14			add ax,1416H			ax=6236		1000:0006
bb 00 20			mov bx,2000H			bx=2000		1000:0009
01 d8				add ax,bx				ax=8236		1000:000B
89 c3				mov bx,ax				bx=8236		1000:000D
01 d8				add ax,bx				ax=046C		1000:000F	
b8 1a 00			mov ax,001AH			ax=001A		1000:0012
bb 26 00			mov bx,0026H			bx=0026		1000:0015
00 d8				add al,bl				ax=0040		1000:0017
00 dc				add ah,bl				ax=2640		1000:0019
00 c7				add bh,al				bx=4026		1000:001B
b4 00				mov ah,0				ax=0040		1000:001D
00 d8				add al,bl				ax=0066		1000:001F
04 9c				add al,9cH              ax=0002	    1000:0021

2

将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方

mov ax,1
add ax,ax
jmp 2000:0003

使用A命令从2000:0输入指令
在这里插入图片描述
改变CS:IP的指向
在这里插入图片描述
使用T命令执行程序即可
在这里插入图片描述
省略

3

查看内存中的内容。
PC机主板上的ROM中写有一个生产日期,在内存FFF00H~FFFFFH的某几个单元中,请找到这个生产日期并改变它。

物理地址FFF00H~FFFFFH可用FFF0:00~FFF0:FF表示

使用D命令查看FFF0:00~FFF0:FF内存中的内容
在这里插入图片描述
找到了生产日期在FFF0:00F0~FFF0:00FF内存中

用E命令修改FFF0:00F0~FFF0:00FF内存中的内容
在这里插入图片描述
用d命令查看修改过后的内容
在这里插入图片描述
我们可以发现内存中的内容没有改变!

那是因为在8086PC机内C0000~FFFFF是各类ROM地址空间。ROM是只读存储器(Read-Only Memory,ROM)以非破坏性读出方式工作,只能读出无法写入信息。信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器。我们向地址C0000~FFFFF的内存单元中写入数据的操作是无效的,因为这等于改写只读存储器中的内容。

4

向内存从B8100H开始的单元中填写数据,如:

e B810:0000 01 01 02 02 03 03 04 04

进入debug模式,输入上面的指令。会发现多了三个表情
在这里插入图片描述

在8086PC机中A0000~BFFFF内存是显存地址空间。向地址A0000~BFFFF的内存单元中写数据,就是向显存中写入数据,这些数据会被显示卡输出到显示器上。

我们一个一个输入观察一下,给B810:0001赋值01,多了个表情
在这里插入图片描述

给B810:0002赋值01,表情换了颜色
在这里插入图片描述

给B810:0003赋值02,多了一个表情
在这里插入图片描述
给B810:0004赋值02,表情换了颜色
在这里插入图片描述
在来多几次可以发现,本题中,在一个字(16位)中,低位字节决定了图案,高位字节决定了颜色。

  • 22
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值