汇编语言入门

@TOC


前言

编程语言相关基础知识


一、布尔表达式在汇编中的应用

NOT运算可以用来计算反码
AND运算可以用来执行栈对齐,也可以切换大写与小写
OR运算可以判断数字式大于,小于还是等于0
XOR运算可以用来清零,还可以判断某数是奇数还是偶数
此外,通过掩码(mask),可以用AND来关闭二进制位(也就是将其设置为0)。

二、计算机补码表示法

·0总是用所有二进制位都是0的数来表示
·-1总是用所有二进制位都是1 的数来表示
·值最小的负整数总是用开头为1且其余二进制位均为0的数来表示
·值最大的正整数总是用开头为0且其余二进制位均为1的数来表示


三、冒泡排序程序的汇编代码

#Assembly
.data
array : .long 3,2,6,4,1
count : .long 5

.text
.globl _main
_main:
mov count,%ecx
dec %ecx

outerLoop:
push %ecx
lea array,%esi

innerLoop:
mov (%esi),%eax
cmp %eax,4(%esi)
jg nextStep
xchg 4(%esi),%eax
mov %eax,(%esi)

nextStep:
add $4,%esi
loop innerLoop
pop %ecx
loop outerLoop

push $0
sub $4,%esp
mov $1,%eax
int $0x80
.end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值