汇编菜鸟 那个MOV 移的是段地址还是偏移地址 下面的那个DATA SEGMENT是不是地址是什么地址? 那个BUF1呢?
发布网友
发布时间:2022-04-29 22:57
我来回答
共4个回答
热心网友
时间:2023-10-10 01:06
mov 移的不一定是段地址或偏移地址 那得看它后面接的源操作数和目的操作数是什么寻址方式
如 MOV AX,0010H(立即寻址)中0010H既不是段地址也不是偏移地址 而是立即数 再如 MOV AX,BX(寄存器寻址)是将寄存器BX中的一个字移至AX中 寻址方式应该知道吧!
SEGMENT和ENDS 是成对使用的一组伪指令,需成对出现,用来定义一个段,SEGMENT说明段的开始,ENDS说明段的结束,DATA为段名,格式为:
段名 SEGMENT
·
段名 ENDS
DATA的地址是数据段的首地址
变量BUF1和BUF2在内存中的存放
1000:0000 34H BUF1
0002 2AH BUF2
DB 定义字节变量
DW定义字变量
DD定义双字变量
热心网友
时间:2023-10-10 01:07
buf1的地址和data的地址是一样的。data的地址是数据段的首地址。。
data segment只是声明数据段
一般会有句
mov ax,data
mov ds,ax
这两句的 意思是吧data的地址放入ds。ds是数据段的地址,也可以理解为首地址。
首地址是指一个段的第一个地址,这里ds是数据段的首地址。。
热心网友
时间:2023-10-10 01:07
1.偏移地址
2.DATA SEGMENT是段声明
3.BUF1表示首地址
4.首地址就是一段数据最开始一个元素的地址
热心网友
时间:2023-10-10 01:08
那个BUF1是你自己定义的一个地址 里面定的数就是你后面的 DB 后的值