汇编语言笔记

汇编语言中没有数组的概念
unsigned char==汇编里的byte db
unsigned short int== 汇编里的word
unsigned long int==汇编里的double word dw


Little-Endian(Intel cpu&AMB cpu的存放规则,big-endia老的苹果机,与此相反)
先存放低八位,后存放高八位的规则。
假定把一个16位的1234h存放到地址1000开始的内存中,则内存布局如下:
+1000 34h(一位十六进制占4位,八位一个字节)
+1001 12h
另一个例子12345678h
+1000 78h
+1001 56h
+1002 34h
+1003 12h


-1 用8位二进制补码表示 = 11111111
-1 用16位而进制补码表示 = 16个1
-1 23位=32 个1
-100 用16位补码
100=0064h 它的相反数 FF9Ch = 1111 1111 1001 1100 就是-100
一个负数在内存中一定是以补码的形式存储的。


mov ah, 5Ah
xor ah, 77h;
AH=2Dh
0101 1010 
0111 0111
0010 1101


AX是16位的寄存器
EAX是32位寄存器,前面加E表示是存储放大了的寄存器
IP永远指向将要执行的指令地址,od中甚至可以修改IP的值,到某条语句,右键,选择此处为新IP
FL=flag是标志寄存器,用来表示当前运行的状态,是否溢出,是否进位。


段(segment)长度最长为10000h=2^16,同一个段的每一个字节的段地址都是同一个=段首地址去掉最后一个0.
偏移地址,首尾相减。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值