回 帖 发 新 帖 刷新版面

主题:请高手们帮忙阿 我太菜了阿

关于计算机的那个运算:为什么(rs1)+立即数就是地址而(rs)中则是其中的内容阿,按理说(rs1)中不也是一个数据吗怎么加的时候作为地址与立即数相加阿 请高手们帮帮忙阿 我真的不懂

回复列表 (共3个回复)

沙发

(rs1)+立即数就是表示偏移地址,(rs1)是表是rs1中的内容,

我也没怎么看懂你问的,
所以只能表面上说下了

板凳

我的意思是(rs1)是代表地址还是代表地址中的数啊,(rs) 是代表rs中的数我知道

3 楼

(...)      表示内容,用()来表达内容寻址
(...)+...  表示地址,和上边不同此时()没有表示内容,为什么呢?
           因为"(...)+..."表示一个操作数,而不是两个操作数, 若()表示为内容则
           在此(...) + ...就变成了两个操作数 "内容 + 立即数" ;  反之, 若()表
           达为地址, 则在编译期间可以确定(无论寄存器还是存储器)其地址的值,即
           内存的()在编译期间被转换成立即数, 立即数+立即数在编译期间可以直接
           运算形成单一操作数, 寄存器()+立即数则被特定寻址方式(相对寻址)表
           达,形成单一操作数.

我来回复

您尚未登录,请登录后再回复。点此登录或注册