服气 发表于 2011-7-3 23:50:21

汇编笔记NO.4

额考试进行2天了还有3天 努力哈哈   
惯例上次的笔记地址
汇编笔记NO.3 http://bbs.fishc.com/forum.php?mod=viewthread&tid=2899&fromuid=105801

这次学的辛苦啊 希望大家跟我一起进步哈
——————————————服气7月3号——————————————————————————————
第一节 内存初识
¥字深入
¥内存中字的存储1WORD=2B
¥高位=高地址;低位=低地址
¥显示时由低地址到高地址
¥DS 【address】
¥DS与CS一样不能直接赋值立即数(8086不能直接传送立即数给段寄存器)(不知道别cpu的是不是怎样的)
¥【】中的为偏移地址
%当有【】自动寻找DS中进行偏移
¥内存中的数据8位一组(至少8086cpu是这样思考的)
¥¥传送数据要进行字节数匹对
#sub 减 大概是被减数先取反再相加对吧嘿嘿{:7_168:}
第二节 实验课
实验课额 MY lady jiayu 看着头痛= =在纸上演算行不 诶~~~{:7_174:}
第三节 mov add sub详解{:7_157:}
   ¥mov 寄存器 数据 【很常用啦】
   ¥mov 寄存器 寄存器【一样很常用】
   ¥¥mov 寄存器 【内存单元偏移地址】 (记住自动寻找DS)
   ¥¥mov 【内存单元偏移地址】寄存器 (与上面相反)
   ¥¥mov 段寄存器 寄存器 【段寄存器是富二代么- - 不公平呀 CPU你太禽兽了】
   ¥¥mov 寄存器 段寄存器 【反推一样成了】
    $$add sub 跟mov一样 (除了段寄存器那个富二代额 ) {:7_183:}
   总结一下 mov操作 寄存器 内存偏移地址 段寄存器 都有 正推和反推
    DS指向的是数据【没数据应该也会指向代码的初始位置】 CS【指向的是代码,要执行的的东西】
   数据段 【DS指向的就是数据段】
   
¥DS与CS的区别就是指向的数据是否要执行 【反正都是0,1】
今天学的有点慢 但是终于弄懂了 DS为啥与CS指向的位置一样了 【因为初始化啦】

asmfans 发表于 2011-7-4 02:04:42

做笔记确实是个不错的习惯,对巩固学习很有帮助,希望坚持下去。
说说我对其中一些小知识点的看法。
不存在段寄存器“指向”这种说法。DS并没有指向什么,它只是一个存放数据段段地址的寄存器而已,当程序需要对数据进行读取或写入时,如:
mov bx,1
mov ax ,
此时,CPU将段地址*16+(bx)合成20位地址对定义成数据段的内存单元进行寻址,将DS:处字型数据送入AX中。
同样CS也不存在指向什么的说法,它存放代码段段地址,CS:IP才有“指向”这种说法。
还有,“今天学的有点慢 但是终于弄懂了 DS为啥与CS指向的位置一样了 【因为初始化啦】”,这句话始终没弄明白你是什么意思,程序初始化时会将DS和CS的值设置一样?

服气 发表于 2011-7-4 12:52:12

恩 cs和DS初始化时候是一样的- -

张国祥 发表于 2011-7-4 14:16:06

期待第六章的笔记,我目前在那里有点小问题~

asmfans 发表于 2011-7-4 19:34:33

服气 发表于 2011-7-4 12:52 static/image/common/back.gif
恩 cs和DS初始化时候是一样的- -

- -!那是因为你没有定义数据段。。。
页: [1]
查看完整版本: 汇编笔记NO.4