码迷,mamicode.com
首页 > 编程语言 > 详细

第3章 汇编语言基础

时间:2018-03-18 21:42:04      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:需要   not   symbol   表示   标记   标识符   汇编语言   程序   dup   

https://files.cnblogs.com/files/student-note/MASM615.zip

整数常量:
   格式[{+/-}]数字[基数]
  常用基数后缀
h:十六进制 d:十进制 b:二进制 q/o:八进制 r:编码实数

十六进制如果是以字母开口则需要加0 ,防止编译器当成标识符

  优先级别: () -> +-(一元的) -> */ -> MOD -> +-

指令格式 [:标号]指令助记符|操作数[;注释]
标号:
  充当指令或数据位置标记的标识符
数据标号:
  count dword 100
注释语法:
  单行用 ;
  多行用 COMMENT 用户自定义符号 内容 用户自定义符号
TITLE Program Template (Template.asm)
;程序的描述:
;作者:
;创建时间:
;修改:
;日期: 修改者:
INCLUDE Irvine32.inc ;导入头文件
.data
;(在此插入变量)
.code
main proc
;(插入代码)
exit
main endp
;(在此插入其他子程序)
end main

--常用编译语句 使用的是masm615
  ml /c /coff 1.asm
  link32 /subsystem:console irvine32.lib kernel32.lib 1.obj

数据定义语法
[变量名] 数据类型伪指令 初始值[,初始值]
初始值用 ? 代替,表示可以用执行指令动态赋值
定义字符串
greeting1 byte "good afternoon",0
greeting2 byte ‘good night‘,0
续行符(\)用来把两行连接成一条程序语句,只能放在每行的最后面
greeting1 \
byte "good afternoon",0
DUP操作符使用常量表达式作为计数器为多个数据项分配存储空间:
BYTE 3 DUP("XXX") 9个Byte

.data? 伪指令可用于声明未初始化数据
代码数据可以随便切换,可用于局部变量
eg:
  .code
  mov ax,3900h
  .data
  val word 1
  .code
  mov ax,val
符号常量:语法 名称=表达式
  COUNT=1
  MOV AX,COUNT
重定义:
  COUNT =5
  MOV AL,COUNT ;5
  COUNT=10
  MOV AL,COUNT ;10

计算数组和字符串的大小:
eg:
  list byte 10,20,39
  listsize=($-list);$表示当前地址
EQU 伪指令
语法:
  name equ expression
  name equ symbol
  name equ <text>

第3章 汇编语言基础

标签:需要   not   symbol   表示   标记   标识符   汇编语言   程序   dup   

原文地址:https://www.cnblogs.com/student-note/p/8597309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!