汇编语言学习笔记(三)寄存器(内存访问)

3.1内存中字的存储
字型数据与字节型数据(前者是一个字节,两个16位的数)
任何两个地址连续的内存单元,N和N+1,可以将他们看成两个内存单元,也可以看成一个地址为N的字单元中的高位字节单元和低位字节单元

3.2DS和address
DS寄存器:通常用来存放要访问的数据的段地址
mov bx,1000H
mov ds,bx
mov al,[0]
上面三条指令将10000H(1000:0)中的数据独到al中
mov两种功能:
将数据之间送入寄存器
将一个寄存器中的内容送入另一个寄存器中

mov 寄存器名,内存单元地址
[...] :...表示偏移地址
上面ds给出了段地址,所以[0]给出偏移地址就足够了

将寄存器的数据送入内存单元?
mov bx,1000H
mov ds,bx
mov [0],al

3.3字的传送

3.4mov、add、sub
mov(add/sub) 寄存器,数据
mov(add/sub) 寄存器,寄存器
mov(add/sub) 寄存器,内存单元
mov(add/sub) 内存单元,寄存器
mov 段寄存器,寄存器

3.5数据段

3.6栈
后进先出 (8086以字为单位进行操作的)
PUSH 入栈:push ax(放ax数据推入栈中)  sp=sp-2
POP 出栈:pop ax(将栈顶的数据存放到ax)
段寄存器:ss放入栈顶段地址
寄存器:sp放入栈顶偏移地址
push ds/ax/[0]
pop es/ax/[2]

代码的段地址从:cs获得
数据的段地址从:ds获得
栈的段地址从:ss获得

3.10栈段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值