汇编语言中可以定义变量吗?怎么定义?有局部变量和全局变量之分吗?作用域是什么?
生活随笔
收集整理的這篇文章主要介紹了
汇编语言中可以定义变量吗?怎么定义?有局部变量和全局变量之分吗?作用域是什么?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
匯編語言定義變量的格式為 【變量名】【變量類型】【數(shù)值列表】
其中 變量類型有 DB DW DD等,分別表示變量占有的內(nèi)存空間(依次為1,2,4個(gè)字節(jié))
如:A DB 1,2,3,4 就定義了名稱為A的4個(gè)占1個(gè)字節(jié)的變量,分別是1,2,3,4(嚴(yán)格來說是0001,0010,0011,0100) 保存在系統(tǒng)分配的內(nèi)存空間中
如果是A DW 1,2,3,4則保存的值為(00000001,00000010,00000011,00000100)
由于匯編語言是面向機(jī)器的語言,沒有對函數(shù)的定義,函數(shù)的實(shí)現(xiàn)是通過中斷調(diào)用的,(一個(gè)代碼段跳到另外一個(gè)代碼段) 所以對全局變量和局部變量的體現(xiàn)是通過棧來實(shí)現(xiàn)的,即:
全局變量保存在數(shù)據(jù)段中,即偽代碼中聲明的DATA SEGMENT,任何時(shí)刻都能調(diào)用。
而局部變量則保存在棧段中,是偽代碼中聲明的STACK SEGMENT,平時(shí)不調(diào)用,調(diào)用中斷時(shí)把局部變量從棧里取出來...
其中 變量類型有 DB DW DD等,分別表示變量占有的內(nèi)存空間(依次為1,2,4個(gè)字節(jié))
如:A DB 1,2,3,4 就定義了名稱為A的4個(gè)占1個(gè)字節(jié)的變量,分別是1,2,3,4(嚴(yán)格來說是0001,0010,0011,0100) 保存在系統(tǒng)分配的內(nèi)存空間中
如果是A DW 1,2,3,4則保存的值為(00000001,00000010,00000011,00000100)
由于匯編語言是面向機(jī)器的語言,沒有對函數(shù)的定義,函數(shù)的實(shí)現(xiàn)是通過中斷調(diào)用的,(一個(gè)代碼段跳到另外一個(gè)代碼段) 所以對全局變量和局部變量的體現(xiàn)是通過棧來實(shí)現(xiàn)的,即:
全局變量保存在數(shù)據(jù)段中,即偽代碼中聲明的DATA SEGMENT,任何時(shí)刻都能調(diào)用。
而局部變量則保存在棧段中,是偽代碼中聲明的STACK SEGMENT,平時(shí)不調(diào)用,調(diào)用中斷時(shí)把局部變量從棧里取出來...
總結(jié)
以上是生活随笔為你收集整理的汇编语言中可以定义变量吗?怎么定义?有局部变量和全局变量之分吗?作用域是什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 音频视频解决方案:GStreamer/f
- 下一篇: xvid 详解 代码分析 编译等