1. 程式人生 > >匯編語言-環境搭建(32位)

匯編語言-環境搭建(32位)

沒有 簡單 搭建 整數 光標 使用 當前 取地址 旗艦

一 系統環境

  win7 旗艦版 x86_64

二 安裝IDE

  RadASM.v2.2.1.9.cao_cong

三 目前在這個版本中遇到的坑

  1 這個IDE的光標對中文兼容性不太好, 當調大編輯區的字體, 或者調整tab的顯式空格數的時候, 有可能會出現光標跟當前的字符出現一段距離的bug

  2 變量類型在".data"區可以使用縮寫, 在.code區只能使用類型名的全稱

  3 關於"offset 變量名"與 "lea register, 變量名"(個人理解, 可能不準確)

  (1) 變量名 代表變量所在的內存單元的值(長度取決於你聲明的類型)

  (2) offset 變量名, 表示取變量名相對於起始位置的偏移值, 就是" DS:[XX]" 裏面的XX, 簡單來說就是c++裏面取地址的意思, 返回的是一個立即數

  (3) lea register,變量名(或者 lea register,[變量名]) 都是將變量名所在段的偏移地址賦值給register, 等價於 mov register, offset 變量名, 這個用法比較別扭, 建議不要使用lea取地址這種用法

  4 scanf的坑

    在讀取使用%d 讀取一個整數的時候, 鍵盤輸入字母, 會出現令人抓狂的現象

  5 在radasm中使用的標準類庫跟vs裏面的標準類庫的關系

    兩者沒有半毛錢的關系, 兩者裏面名字相似的函數的行為細節不完全一樣, 不如scanf

匯編語言-環境搭建(32位)