吹静静

欢迎QQ交流:592590682

随笔分类 -  Assembly

2 * 8 最有效率的运算方法
摘要:位运算 2 * 8 = 2 << 3 将一个数左移n位就相当于这个数乘以2的n次方, 那么2 * 8只要将其向左移动3位即可。这属于位 运算,由处理器直接运算,效率高。 阅读全文
posted @ 2018-08-02 10:32 吹静静 阅读(1751) 评论(0) 推荐(0) 编辑
汇编_压缩BCD码和非压缩BCD码
摘要:BCD码是表示十进制数的,非压缩BCD码是用8位表示的,其实只用低4位,高4位全为0。例如,十进制数36,用非压缩BCD码表示为:0000 0011 0000 0110 ,这是两个字节。压缩BCD码,就把高4位的0省掉了,用一个字节表示两个BCD码了。还是,十进制数36,用压缩BCD码表示为:001 阅读全文
posted @ 2018-07-17 19:49 吹静静 阅读(8677) 评论(1) 推荐(1) 编辑
汇编_指令_LEA和MOV的区别
摘要:就是目标地址传送指令: 将一个近地址指针写入到指定的寄存器。格式:LEA reg16,mem16其中reg16必须是一个16位通用寄存器,mem16必须是一个存储器,执行这个指令后,就将mem16所指的16位偏移地址传送reg16中。比如: LEA AX,BUF就是将存储器中BUF所指的地址传送给A 阅读全文
posted @ 2018-07-17 19:29 吹静静 阅读(1072) 评论(0) 推荐(0) 编辑
汇编_指令_CS与DS的区别
摘要:cs是值cpu执行的当前指令的段地址,ds是数据开始的段地址。 CS是告诉CPU,去哪个位置找内容当成指令去执行;DS是告诉CPU,去哪个位置找内容当成数据被使用。 datastring =ds codestring=cs 用到DS的例子: MOV AX,[100H] 这句指令的意思就是把地址[10 阅读全文
posted @ 2018-07-17 17:05 吹静静 阅读(3616) 评论(0) 推荐(2) 编辑
汇编_指令_DS*10H的含义
摘要:在8086存储器系统中,20位地址总线的地址是物理地址。但是由于8086内部寄存器都是16位的,用16位寄存器直接访问20位存储器空间显然不可能,所以8086CPU使用了存储器分段的办法。这样内存一个20位的物理地址就由段地址(16位)和段内偏移地址(16位)组成,合成物理地址的方法是:将段地址的1 阅读全文
posted @ 2018-07-17 16:19 吹静静 阅读(1219) 评论(0) 推荐(0) 编辑
汇编_指令_FLAGS
摘要:标志名 标志 1 标志 0 OF (溢出标志) OV NV DF (方向标志) UP DN IF (中断标志) EI DI SF (符号标志位) PL NG ZF (零标志) ZR NZ AF (辅助进位标志位) AC NA PF (奇偶标志) PE PO CF (进位标志) CY NC OV、NV 阅读全文
posted @ 2018-07-16 19:22 吹静静 阅读(728) 评论(0) 推荐(0) 编辑
汇编_指令_IRET
摘要:IRET(interrupt return)中断返回,中断服务程序的最后一条指令。 IRET(interrupt return)中断返回,中断服务程序的最后一条指令。 汇编指令IRET 【指令格式】IRET 【指令功能】IRET(interrupt return)中断返回,中断服务程序的最后一条指令 阅读全文
posted @ 2018-07-16 19:01 吹静静 阅读(5345) 评论(0) 推荐(0) 编辑
汇编_指令_REP MOVESB 和 CLD
摘要:先说说MOVSB(MOVe String Byte):即字符串传送指令,这条指令按字节传送数据。通过SI和DI这两个寄存器控制字符串的源地址和目标地址,比如DS:SI这段地址的N个字节复制到ES:DI指向的地址,复制后DS:SI的内容保持不变。而REP(REPeat)指令就是“重复”的意思,术语叫做 阅读全文
posted @ 2018-07-16 17:37 吹静静 阅读(6069) 评论(0) 推荐(0) 编辑
汇编_指令_SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR
摘要:SHL r/m, CL ROL、ROR、RCL、RCR: 循环移位指 阅读全文
posted @ 2018-07-14 15:37 吹静静 阅读(5711) 评论(0) 推荐(0) 编辑
汇编_指令_JMP
摘要:JMP指令 JMP是汇编语言中的无条件跳转指令。无条件跳转指令可转到内存中任何程序段。转移地址可在指令中给出,也可以在寄存器中给出,或在储存器中指出。 中文名:无条件跳转指令外文名:JMP 和调用指令类似,无条件转移指令也可有四种形式。下面是四种无条件转移指令的实例。 段内间接转移,转移地址的偏移量 阅读全文
posted @ 2018-07-14 15:14 吹静静 阅读(611) 评论(0) 推荐(0) 编辑
汇编_指令_XCHG
摘要:交换指令XCHG是两个寄存器,寄存器和内存变量之间内容的交换指令,两个操作数的数据类型要相同,可以是一个字节,也可以是一个字,也可以是双字 。其指令格式如下: XCHG Reg/Mem, Mem/Reg,Reg/Reg 【例】 XCHG CH,AL 寄存器之间相互交换,字节操作 XCHG BX,SI 阅读全文
posted @ 2018-07-14 15:04 吹静静 阅读(2412) 评论(0) 推荐(0) 编辑
汇编_指令_SUB
摘要:SUB是减法运算。比如mov ax,2mov bx,1sub ax,bx其中sub ax,bx就是ax中的值减bx中的值,等于1,然后把结果,也就是1,放入ax中。 阅读全文
posted @ 2018-07-14 14:58 吹静静 阅读(4059) 评论(0) 推荐(1) 编辑
汇编_指令_INC
摘要:加1指令 INC指令功能:目标操作数+1INC指令只有1个操作数,它将指定的操作数的内容加1,再将结果送回到该操作数。INC指令将影响SF,AF,ZF,PF,OF标志位,但是不影响CF标志位。INC指令的操作数的类型可以是通用寄存器或存储单元,但不可以是段寄存器。字或字节操作均可。对于存储单元,需要 阅读全文
posted @ 2018-07-14 14:50 吹静静 阅读(2650) 评论(0) 推荐(1) 编辑
32位汇编基础_cpu 寄存器
摘要:32位通用寄存器 EAX EBX ECX EDX EBP ESP ESI EDI 八个寄存器都可以作为普通的数据寄存器使用。但有的有特殊的用途: EAX 为累加器, ECX 为计数器, EBX,EBP 为基址寄存器, ESI,EDI 为变址寄存器, EBP 还可以是基指针, ESP 为堆栈指针 16 阅读全文
posted @ 2018-07-14 11:45 吹静静 阅读(354) 评论(0) 推荐(0) 编辑
32位汇编基础_内存_每个应用进程都会有自己独立的4GB内存空间
摘要:1、每个应用进程都会有自己独立的4GB内存空间 这句话很多人听起来可能会很矛盾很不解。 例如,我的电脑只有2GB的内存,打开个软件机会占用4GB内存,而我的电脑内存只有2GB,显然不够用,但是为什么程序还能在我的电脑上流畅运行呢?因为程序占用的这4GB内存是一个空头支票,知识口头上说给你4GB内存, 阅读全文
posted @ 2018-07-05 13:52 吹静静 阅读(657) 评论(0) 推荐(0) 编辑
32位汇编基础_计算机做加减乘除
摘要:4+5=?的运算过程 0000 0100 0000 0101 加 0000 1001 (1)第一步,异或运算(不一样的时候为1) 0000 0100 0000 0101 异或 0000 0001 (2)第二步,与运算,判断是否有进位 0000 0100 0000 0101 与 0000 0100 ( 阅读全文
posted @ 2018-06-19 19:50 吹静静 阅读(314) 评论(0) 推荐(0) 编辑
32位汇编基础_计算机的位运算
摘要:1、与运算 两个位都为1,结果才为1。 2、或运算 只要有一个为1,就是1。 3、异或运算 不一样的时候就是1。 4、非运算 0就是1, 1就是0。 5、左移 各二进制位全部左移若干位,高位丢弃,地位补0。 6、右移 各二进制位全部右移若干位,地位丢弃,高位补0或者符号位。 汇编: shr:右移,最 阅读全文
posted @ 2018-06-19 19:23 吹静静 阅读(193) 评论(0) 推荐(0) 编辑
32位汇编基础_原码、补码、反码
摘要:1、有符号数的编码规则 原码:最高位是符号位,其余各位为数值本身的绝对值。1 0 0 0 0 0 0 1 -1 反码: 正数:反码与原码相同 负数:符号位为1,其余位为原码取反 1 1 1 1 1 1 1 0 补码: 正数:补码与原码相同 负数:符号位为1,其余位为原码取反加1 1 1 1 1 1 阅读全文
posted @ 2018-06-19 10:09 吹静静 阅读(921) 评论(0) 推荐(0) 编辑


点击右上角即可分享
微信分享提示