一 系统环境
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
时间: 2024-10-15 20:38:34