鱼C论坛

 找回密码
 立即注册
查看: 2804|回复: 0

[学习笔记] 《零基础入门学习汇编语言》第十五讲

[复制链接]
发表于 2017-6-27 12:14:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小白刚学,不对的请各位大佬指正,谢谢

一、mov、add、sub指令
(1)
mov 寄存器,数据
mov 寄存器,寄存器
mov 寄存器,内存单元
mov 内存单元,寄存器
mov 段寄存器,寄存器
通过验证还有:
mov 寄存器,段寄存器
mov 内存单元,段寄存器
mov 段寄存器,内存单元
(2)
add和sub指令同mov一样,都有两个操作对象。
add 寄存器,数据
add 寄存器,寄存器
add 寄存器,内存单元
add 内存单元,寄存器
add 段寄存器,寄存器
sub也是一样的,就不贴出来了。
但是经过验证:add,sub不可以对段寄存器进行操作.

二、数据段
(1)前面讲过,对于8086PC机,我们可以根据需要将一组内存单元定义为一个段(可以是代码段、数据段等)。我们可以将一组长度为N(N≤64K)、地址连续、起始地址为16的倍数的内存单元当作专门存储数据的内存空间,从而定义了一个数据段。
(2)如何访问数据段中的数据呢?将一段内存当作数据段,是我们在编程时的一种安排,我们可以在具体操作的时候 ,用 ds 存放数据段的段地址,再根据需要,用相关指令访问数据段中的具体单元。
(3)写几条指令,累加数据段中的前3个字节型数据。
因为是字节型数据,为8位,可以用高位或者低位寄存器(也就是一个通用寄存器分为两个的高位寄存器和低位寄存器)。

mov ax,123BH
mov ds,ax        将123BH送人ds中,作为数据段的段地址。
mov al,[0]        将数据段第一个字节型数据(偏移地址为0)的值加到al中
add al,[1]                将数据段第二个字节型数据(偏移地址为1)的值加到al中
add al,[2]                将数据段第三字节型数据(偏移地址为2)的值加到al中
(4)写几条指令,累加数据段中的前3个字型数据。
因为是字型数据,为16位;可直接用通用寄存器运算。

mov ax,123BH
mov ds,ax                将123BH送人ds中,作为数据段的段地址。
mov ax,[0]                将数据段第一个字节型数据(偏移地址为0)的值加到ax中
add ax,[2]                将数据段第二个字节型数据(偏移地址为2)的值加到ax中
add ax,[4]                将数据段第三字节型数据(偏移地址为4)的值加到ax中

三、小结

(1)字在内存中存储时 ,要用两个地址连续的内存单元来存放,字的低位字节存放在低地址单元中,高位字节存放再高地址单元中。
(2)用 mov 指令要访问内存单元,可以在mov指令中只给出单元的偏移地址,此时,段地址默认在DS寄存器中。
(3)[address]表示一个偏移地址为address的内存单元。
(4)在内存和寄存器之间传送字型数据时,高地址单元和高8位寄存器、低地址单元和低8位寄存器相对应。
(5)mov、add、sub是具有两个操作对象的指令。jmp是具有一个操作对象的指令。



谢谢小甲鱼带来的视频教程,感谢!!


   
本节结束,多谢览阅!
小白刚学,不对的请各位大佬指正,谢谢

评分

参与人数 1鱼币 +4 收起 理由
小甲鱼 + 4 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 04:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表