1楼:匿名用户
呵呵,我帮你认真的解释一下:
table dw 10,20,30,40,50
;第一句的解释:定义以table为首地址的五个数据; dw指字类型,就好像c语言的基本类型
的功能一样,前面的table则是标识符。
entry dw 3
;第二句的解释:道理同上,看懂一的解释二应该也清楚了.。.
..........
mov bx,offset table
;第三句的解释:意思是将table的首地址传送给基址寄存器bx,offset +x符识符,
表示取x的首地址,整个语句的寻址方式为立即数寻址,mov在这语句中
起传送地址的作用.此时bx=table(表示地址.)
add bx,entry
;第四句的解释:bx = bx+0003h =table+3(0003h是3的十六进制也没什么区别)
mov ax,[bx]
;第五句的解释:bx是一个寄存器,加上"[bx]"就是bx(从上面我们可以看出bx寄存器里面是地址) 这个地址里包含的内容,些时bx=table+3而[table+3]的内容就是1e00h传送给ax.
如果看懂上面的文字后,就可以分析ax为什么是1e00h了:
tabble的数是这样的存储的:
10——>000ah 逻辑存储——>0a (table+0)位
20——>0014h 00 (table+1)位
30——>001eh 14 (table+2)位
40——>0028h 00 (table+3)位
50——>0032h 1e (table+4)位
00 (table+5)位
。。。 。。。。
从第五句我们可以看到:
ax=[bx]=[table+3]
而汇编有这样的规定,以低位表示一个字,那么加上高位 (table+4)就组成了一个字了,
而[table+4]单元里的内容是:1eh,则高位与低位一同组成字.故ax=1e00h。
说明:在以上的解释过程中用"="即等号只是为了表达简洁而以,汇编中没有等号直接写的。
我感觉整个过程解释的蛮详细了,不知道你看明白了吗?呵呵.
2楼:渝舟漂游
mov bx,offset table相当于lea bx,table。table 是被定义的(10,20,30,40,50)在存储区的符号地址。通过add bx,entry 此时bx储存的有效地址即为(table+3),其内容恰好是ah=30d(1eh),因为ax是16位,所以al为00h,最终就是1e00h。
不知道正确否?
3楼:匿名用户
汇编中的off as a特。
4楼:
offset就是取table的偏移地址,但是究竟为什么是这个值没人知道
这是编译器自己安排的
你只要知道offset是取偏移地址的就行了
5楼:匿名用户
哈哈...让我想起了大学学汇编课.....不过都忘了
汇编语言中的 offset什么意思
6楼:戰为瘸子六
1、offset是将数值回送变量或标号的偏移地址值.
2.lea是将数值回送变量或标号的有效地址值.
3.seg, 汇编程序将回送变量或标号的段地址值.
4、lea bx,list
5、mov bx,offset list6、可以看出,lea和offset这两条指令在功能上是相同的,bx寄存器都可得到符号地址list的值,而且此时mov指令的执行速度会比lea指令更快。但是,offset只能与简单的符号地址相连,而不能和诸如list[si]或[si]等复杂操作数相连。因此,lea指令在取得访问变量的工具方面是很有用的。
7楼:善良的妖孽人生
mov ax,offset 0a20h是数值地址0a20h的偏移地址0a20h给ax
mov ax,offset 0a20h是数值地址0a20h的偏移地址0a20h给ax
8楼:闳雁鲜俊雅
inbuf----字面意义似乎是输入缓冲区offset
inbuf----就是取
inbuf
的偏移首地址
汇编语言中的 offset
9楼:鲲鹏展翅
mov ax,offset 0a20h是数值地址0a20h的偏移地址0a20h给ax
10楼:种绍钧斐彤
1、offset是将数值回送变量或标号的偏移地址值.
2.lea是将数值回送变量或标号的有效地址值.
3.seg,
汇编程序将回送变量或标号的段地址值.
4、lea
bx,list
5、mov
bx,offset
list
6、可以看出,lea和offset这两条指令在功能上是相同的,bx寄存器都可得到符号地址list的值,而且此时mov指令的执行速度会比lea指令更快。但是,offset只能与简单的符号地址相连,而不能和诸如list[si]或[si]等复杂操作数相连。因此,lea指令在取得访问变量的工具方面是很有用的。
汇编中offset的用法和所指内容
11楼:匿名用户
offset的用法,以前push的都是地址或者寄存器地址,现在那些字符串地址咱可没有。
于是版就用offset关键字
权来得到这些字符串的偏移地址,从而引用字符串。从而可以push。
当然 invoke中用 addr ,addr多明显就是address地址的意思。
offset(reference,rows,cols,height,width) offset 在汇编中可以获得操作数的偏移地址。用法: 例如:
平时invoke messagebox,null,addr sztext,addr szcaption,mb_ok
请问汇编中 offset 怎么解释啊。
12楼:哥德堡快递
这个没法解释。offset是指某个变量或标号处**在内存中的地址,光溜溜的offset没见过。
汇编语言的操作符offset具体有什么用?求详细解答
13楼:匿名用户
简单说,是指一个地址。
如:mess db 'hello!'
显然,mess是一个地址,它存放着“hello”这个字符串。
如何将mess的地址放入dx寄存器呢,可用两种不同的指令:
1、 lea dx,mess
2、 mov dx,offset mess他们的作用是等价的。
14楼:你们怎么都
这个函数中不止一个单元格哦
关键是offset函数 其语法可以简单理解成这样:
offset(起始点,移动的行数,移动的列数,扩展选取的行数,扩展选取的列数)
以你的公式为例
将b1作为起始点 按照match出来的数值往下移动n行例如数值为2 则下移到第三行(1+2)
公式中 移动的列数为缺省 即表示0 不移动列所以产生新的起始点:b3单元格
扩展选取的行数 在公式中也是缺省
因此 以b3为新起点 选取b:d三个列的单元格形成一个数据区域 即b3:d3
sum公式就是对这个区域进行求和
注意:移动的时候 起始点不包括在内
扩展选取的时候包括新起点
汇编语言中的offset什么意思
1楼 戰为瘸子六 1 offset是将数值回送变量或标号的偏移地址值 2 lea是将数值回送变量或标号的有效地址值 3 seg 汇编程序将回送变量或标号的段地址值 4 lea bx list 5 mov bx offset list6 可以看出,lea和offset这两条指令在功能上是相同的,bx寄...
汇编中的dec指令是什么指令,汇编语言中的DEC是什么意思?
1楼 魔界刺客 dec a 14 a减1 dec rn 18 1f 寄存器减1 dec dircet 15 dircet 直接字节减1dec ri 16 17 间接ram减1 汇编语言中的dec是什么意思 2楼 凌乱心扉 dec decrement 减1指令 格式 dec opr byte word...
汇编语言中什么是压栈出栈,汇编语言中的栈,压栈,出栈是什么意思
1楼 匿名用户 栈是一种线性数据结构,它遵循后进先出的顺序。有一个指针总指向栈顶。打个比方 一个栈就相当于一个桶,入栈就是向里面装东西,先装的在下面后装的在上面,装一个指针就会加1,指向新装的东西,出栈就相当于取出东西,只有先取上面的,再取下面的,当取一个后指针就会减一,即指针始终指向桶里最上面那个...