ASSUME是把你自己定义的DATA段和CPU中的CS段连起来的意思,这样,CS就指向了你所定义的DATA段了。见《汇编语言》(王爽)P73
p278 16.2小节中的内容。
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=free&kind=1220&qkSg=2&qID=7172&readSg=1
关于assume的作用,许多人都简单的解释说,这是告诉编译器哪一个段和哪一个段寄存器相关联。举个简单例子来说:
assume cs:code, ds:data
这是告诉编译器cs和code关联,ds和data关联,...
[2008-03-04 08:53] assume的作用探讨【转】
[2012-10-25 03:04] 汇编指令长度计算方法.
指令长度与寻址方式有关系,规律或原则如下:
一、没有操作数的指令,指令长度为1字节。如
es:
ds:
cbw
xlat
等。
二、操作数只涉及寄存器的指令,指令长度为2字节。如
mov al,[si]
mov ax,[bx+si]
mov ds,ax
等。
三、操作数涉及内存地址的指令,指令长度为3字节。如
mov al,[bx+1]
mov ax,[bx+si+3]
lea di,[1234]
mov [2345],ax
等。
四、操作数涉及立即数的指令,指令长度为:寄存器类型+2。
8位寄存器,寄存器类型=1;16位寄存器,寄存器类型...
一、没有操作数的指令,指令长度为1字节。如
es:
ds:
cbw
xlat
等。
二、操作数只涉及寄存器的指令,指令长度为2字节。如
mov al,[si]
mov ax,[bx+si]
mov ds,ax
等。
三、操作数涉及内存地址的指令,指令长度为3字节。如
mov al,[bx+1]
mov ax,[bx+si+3]
lea di,[1234]
mov [2345],ax
等。
四、操作数涉及立即数的指令,指令长度为:寄存器类型+2。
8位寄存器,寄存器类型=1;16位寄存器,寄存器类型...
阅读全文 |
作者:zanghufei |
评论次数(1) |
浏览次数(498)
页码数(1):
1