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