文章目录
汇编语言源程序
语句格式
汇编语言源程序框架
注意
:每一个段的定义,其中code segment 里面有一个start 的开始标志,并且这个end start 是在code ends 的下一条指令
DOS系统功能调用
DOS功能调用
:编了号的可由程序员调用的子程序
DOS 系统功能调用的一般方法如下:
(1)在寄存器 AH 中设置系统功能调用号,说明选择的功能
(2)在指定寄存器中设置入口参数
(3)用中断调用指令 INT 21H 执行功能调用
(4)根据出口参数分析功能调用的执行情况
参数、变量和标号
数值型参数
变量定义伪指令
常数
- 注意区分内存对于不同字节的数据的存储
- 我们可以看到,由于是
小端存储
,也就是数据的低位存在内存中的低地址,以dd 18h为例子,可以看到低位一个字节是18h,高位的三个字节是00h
表达式
表达式本身就代表内存单元的地址
字符串
字符串
存储各字符的ASCII码当字符串中的字符多余一个的时候,只能使用db进行定义
?
?
只分配单元,并没有赋初值
dup
dup
:前面跟一个数字,表示dup包含的操作重复的次数
定义伪指令
变量和标号的属性
TYPE
没啥问题,要注意的是LENGTH
:是专门用于计算分配给DUP定义的变量的单元数的,其余变量的LENGTH
都是1,size = type * length
合成操作符
ptr
this
程序段的定义和属性
DOS的程序结构
COM
完整段定义
注意段的默认关键字,同时段是用segment 和 ends来控制的
- 可以看到,从byte , word,dword,para,page 分别是从字节,字,双字,段,页 一直变大
地址计数器$的使用
要看是db还是dw 单位!!!
简化段定义伪指令