汇编语言期末复习不挂科——知识点总结

本文详细介绍了汇编语言中的关键伪指令如Even、Align和ORG,以及内存变量和标号的属性操作。内容涵盖数据传送、算术运算、逻辑运算、移位操作和比较指令,强调了指令系统的分类和实际应用,对前端开发者准备面试有参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键字不能作为标识符

常见的偏移量伪指令

Even、Align、org

Even 偶对齐伪指令 本伪指令下面的内存变量从下一个偶地址单元开始分配

Align NUM,NUM必须是2的幂

ORG 数值表达式,本伪指令下面的内存变量从该“数值表达式”所指定的偏移量开始分配。

重复说明符

count DUP(表达式,表达式…)

例如:BUFFER DB 100DUP(?),重复100个?

LEA指令和OFFSET的联系与区别

相同:都是取偏移指令的操作

注意事项:1.lea、offset指令的源操作数必须是内存操作数

2.lea、offset指令的目的操作数必须是16位寄存器

3.lea指令不影响状态标志寄存器内容。

区别:4.offset指令的源操作数不能是下标(类似数组),lea可以。

5.offset在汇编时生效,lea在指令执行时才生效。

内存变量和标号的属性

1.类型属性操作符:TYPE是返回该变量所占字节数,或标号的远近类型。在这里插入图片描述

2.长度属性操作符:LENGTH是针对内存变量的操作符,它返回重复操作符DUP中的重复数。如果有嵌套的DUP,只返回最外层的重复数。如果没有DUP,则返回1

3.容量属性操作符:SIZE是针对内存变量的操作符

SIZE(变量)=LENGTH变量×TYPE变量

强制属性操作符

数据类型 PTR 地址表达式

例如:MOV byte ptr[BX],1H

存储单元别名操作符

操作符THIS的一般格式为:<变量名>equ this <类型>

<变量名>DB|DW|DD <表达式>

例如:WBUFFER EQU THIS WORD

BUFFER DB 20DUP(?)

进制伪指令RADIX

.RADIX exp 伪指令前面要用点开始,exp的值必须是[2,16]内的一个整数

.radix 8

B1 DB 10,11,12 这三个数是八进制

等价语句

符号名 EQU 表达式 ,其作用是用左边的符号名来代表右边的表达式

例如:GREETING EQU ‘How are you!’

在该定义之后,就可以使用符号GREETING 来代表字符串‘How are you!’

指令系统


指令系统是CPU指令的集合,CPU除了具有计算功能的指令外,还有一些实现其他功能的指令,也有为某种特殊的应用而增设的指令。

指令按其功能分成以下几大类:数据传送指令、标志位操作指令、算术运算指令、逻辑运算指令、移位操作指令、位操作指令、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值