[求助]匯編語言問題

我是菜鳥啊,今天在論壇問大家一個簡單(對大蝦來說)但困惑我好幾天的問題。請問EQU和DATA在使用的時候有什么區(qū)別啊?詳細點??!我問了好多人都不知道啊!

DATA與EQU的區(qū)別在于:用DATA定義的標志符匯編時作為標號登記在符號表中,所以可以先使用后定義;而用EQU定義的標志符,因不登記在符號表中,必須先定義后使用。


在使用時除了上述的區(qū)別外,具體到用是應該注意什么?


DATA是用于絕對定位RAM,或定義寄存器地址 下面是Keil A51文檔中的內(nèi)容 ?DT?myvar SEGMENT DATA ; define a SEGMENT of class DATA RSEG ?DT?myvar VALUE: DS 1 ; reserve 1 BYTE in DATA space

IO_PORT2 DATA 0A0H ; special function register VALUE2 DATA 20H ; absolute memory location

一般情況下使用EQU是沒有什么限制的,但是使用DATA時,必須保證絕對定位的RAM地址不可以與其它模塊中的RAM地址重疊,所以必須在段定位中指RAM的可使用范圍。 用法最基本的區(qū)別就是EQU定義的是常量,DATA定義的不是常量。所以使用EQU定義的值時必須加#,因為他們是立即數(shù)。


data 相當于 c的變量定義

equ 相當與 c的宏定義


回答的相當牛B,我懂了!謝謝!


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频