鱼C论坛

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

[学习笔记] 汇编语言就要上天第五章(BX和LOOP)23-28课

[复制链接]
发表于 2017-7-4 22:06:44 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 阿西吧 于 2017-7-5 16:02 编辑

第二十三课-第二十八课([BX]和loop指令)

        段地址存放在ds中,偏移地址存放在[bx]中来访问内存单元
        段地址:EA    偏移地址:SA

        编译器MASM只能通过mov ax,[bx]     而不能通过mov ax,[cx]
        否则就会出现编译错误


        loop指令:
        1.cx存放循环的次数,每次到loop指令时cx = cx - 1,
        2.如果cx不为0就跳到标号处执行
        3.loop s 实质就是s是一个地址,loop就是将IP的值设为这个地址,再通过cs:ip来执行代码

        能够访问内存单元数据的指令为
        mov ax,ds:[0],
        mov ax,[bx],
        mov ax,ds:[bx],
        mov ax,es:[bx]   等此类型的指令
       
        段前缀:
        “ss:”,“cs:”,“ds:”,“es:”
        mov ss:[0],ax,
        mov cs:[0],ax,
        mov ds:[0],ax,
        mov es:[0],ax,        都可以访问内存单元数据
        0:200~0:2ff的256个字节是安全空间,系统和程序不会调用

        注:在汇编源程序中数据不能以字母开头如(A000H,FFFFH)要加上一个0(0A000H,0FFFFH)
                g命令:g 0012 表示的是执行到cs:0012这个地址处
                在汇编源程序中mov ax,[0]是被解释为mov ax,0,在debug中才会被解释为段地址+偏移地址的值

       

编译失败

编译失败

评分

参与人数 1鱼币 +3 收起 理由
小甲鱼 + 3

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 18:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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