x86汇编之别名数据的一种简单读写方式

直接使用别名+[偏移量]的形式获取或者修改已经定义好的数据

;需求:将第二个字符串最后一个o替换成第一个字符串中的e     
data segment                   
        str db 'hello '         ;dw 2
        newstr dw 'wowowo'
data ends  

;以前的写法

code segment
    
    start: 
    
        mov ax,data
        mov ds,ax
    
        mov al,str[1]  ;'e'   //str --> str[0]
        ;dw 2  b. 2->1 /  db 1  w. 1->2
        ; b:bite / w:word
        ;确保寄存器大小与地址相符                                                     
                                                             
        mov b.newstr[5],al
        
code ends
end start

mov ax str中的 str相当于是str[0], 这也就是为什么咱们能够直接通过别名来获取第一个字符

前面我们只介绍了b.str[0],表示读取一个字节的数据,另外一种w.str[0]表示读取一个字的数据

别名str中存放的数据量和db,dw有关,如果是db,那么别名默认取一个字节数据,如果是dw,别名默认取两个字节数据,可以使用b.和w.进行数据量的调节

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值