汇编定义字符串_汇编语言笔记(四)——顺序程序设计(一)

本文介绍了汇编语言的结构形式,包括顺序、分支、循环和子程序,并详细讲解了从源程序到可执行程序的转换过程。重点阐述了伪指令的应用,如段定义、数据定义(DB、DW等)以及赋值伪指令EQU。此外,还提到了基本的汇编指令使用注意事项,如XCHG指令的要求和PUSH指令的操作数限制。
摘要由CSDN通过智能技术生成

汇编语言的结构形式

  • 顺序
  • 分支
  • 循环
  • 子程序
  • 补充:汇编语言程序必须由伪指令和汇编指令组成

从源程序到可执行程序

1a483d0f29569166080f2c9ba0f55409.png

伪指令

  • 伪指令作用:在汇编程序对源程序进行编译的时候起到说明作用
  • 段定义伪指令
    • SEGMENT.......ENDS:表示段的开始结束
    • 类型参数

9c205a2c0fc36db02937c5178ff38f32.png

b97b60a67e88016d4bcaddf70084d55b.png
    • ASSUME:表明段寄存器的关系
  • 数据定义伪指令
    • DB:定义字节单元
    • DW:定义字单元
    • DD:定义双字单元
    • DQ:定义四字单元
    • DT:定义十字节单元
  • 操作数是常数或者表达式
    • DUP():重复定义相同的操作数,3DUP(2)表示三个2
    • 定义字母打头的十六进制数要在前面加0
    • ?表示空单元
  • 操作数是字符串
    • 定义字符字符串,字符串要用引号括起来
  • 其他伪指令
    • 赋值伪指令EQU可以给表达式赋值,=允许对一个符号多次重复定义
    • 模块定义伪指令
    • 地址计数器$:表示当前偏移地址的值,定义的时候必须为DW
    • 操作符

d2d3a069dc473a2be5e9d2fe02be9528.png
  • 补充
    • 当操作数属性未知的时候,就用PTR来定义一下
    • 段寄存器CS不能MOV指令赋值
    • 段地址(段名)不能直接传送段寄存器,要用另外的寄存器作为中介转存

基本的汇编指令

4aff3815521a63f75f81e83cd45e1577.png
  • 一些注意事项:
    • 数据交换指令XCHG要求两个操作数至少有一个是寄存器,操作数不能为立即数
    • 两个操作数的属性必须一致
    • PUSH进栈指令要求操作数必须为
    • 立即数只能作为源操作数
    • 两个操作数不能同时为内存单元
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值