汇编语言-第8章-数据处理的两个基本问题

1、什么问题?

(1)处理的数据在什么地方?
(2)要处理的数据有多长?

2、reg,sreg什么意思?

为了描述上的简洁,在以后的课程中,我们将使用两个描述性的符号reg 来表示一个寄存器,用sreg表示一个段寄存器。
reg的集合包括:ax、bx、CX、、dx、ah、al、 bh、bl、ch、cl、 dh、dl、 sp、bp、si、di;
sreg的集合包括: ds、 Ss、 CS、es。

3、段寄存器是什么意思?

段寄存器是因为对内存的分段管理而设置的。
在8086中设置4个16位的段寄存器,用于管理4种段:CS是代码段,DS是数据段,SS是堆栈段,ES是附加段。

8.1节 bx、si、di和bp

4、bp是?

和栈寄存器一起使用的。
16位。

在这里插入图片描述

5、 bx、si、di和bp组成出现有什么规则?

这4个寄存器可以单个出现,或只能以4种组合出现: bx和si、bx和di、bp和si、bp和di。
下面的指令是错误的:
mov ax, [bx+bp]
mov ax, [si+di]

8.2节 机器指令处理的数据在什么地方

6、机器指令都是数据处理指令,处理可分为?

读取、写入、运算。

7、机器指令关心什么?

不关心数据的值,而关心指令执行前,数据的位置。

8、数据的位置可以在哪里?

CPU内部,内存,端口
在这里插入图片描述

8.3节 汇编语言中数据位置的表达

9、表达数据的位置的三个概念?

1、立即数idata
2、寄存器
3、段地址(SA)和偏移地址(EA)

10、什么是立即数?

在汇编指令中直接给出的数据。

在这里插入图片描述
在这里插入图片描述

8.4节 寻址方式

在这里插入图片描述

8.5节 指令要处理的数据有多长

byte和word
字操作,还是字节操作
在这里插入图片描述
在这里插入图片描述

11、修改内存的例子,重要

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.6节 寻址方式的综合应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mov word ptr [bx].0ch,38 ; [bx+0ch],38  点就是加
add word ptr [bx].0eh,70

在这里插入图片描述

8.7 div 指令是除法指令

在这里插入图片描述
例子看书吧。

如果除数是8位,被除数是16位,被除数放在ax中。al存储商,ah存储余数。
div byte ptr ds:[0]-除数-字节单位
al = ax / ds16+0 16=10h
ah = ax / ds
16+0

al = ax / ds*10H+0
每个0占4位,*10H相当于在原来的数的右侧加4个0。

如果除数是16位,被除数是32位,被除数放在dx,ax中。dx高位,ax低位。ax存储商,dx存储余数。
div word ptr es:[0]-除数,字单元
含义
(ax)=[ (dx) *10000H+ (ax)]/( (es) *16+0)的商
(dx)=[ (dx) *10000H+ (ax)]/ ( (es) *16+0)的余数

10000h是什么意思?

DX作为高位字,要左移十六位,肯定是10000H啦。
因为10000H每个0占4位,*10000H相当于在原来的数的右侧加16个0。
10000H是16进制,2进制要左移16位,

8.8节 伪指令dd

12、dd是什么?

用来定义双字节数据。
double word
data segment
db 1
dw 1
dd 1
data ends

在data段中定义了3个数据:
第一个数据为01H, 在data:0处,占1个字节;
第二个数据为0001H,在data:1处,占1个字;
第三个数据为00000001H,在data:3处,占2个字。

8.9节 dup

用来数据的重复。
db 3 dup (0)
db 0,0,0

实验还要自己写一遍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值