直接使用别名+[偏移量]的形式获取或者修改已经定义好的数据
;需求:将第二个字符串最后一个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.进行数据量的调节