第3章 汇编语言基础

Posted 夏风微凉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第3章 汇编语言基础相关的知识,希望对你有一定的参考价值。

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章 汇编语言基础的主要内容,如果未能解决你的问题,请参考以下文章

由浅入深学C语言基础(进阶与必做430题)

汇编语言第1章 基础知识

第1章 基础知识小结

汇编语言程序设计 第3章概念梳理

汇编语言第1章 基础知识

[汇编]《汇编语言》第1章 基础知识