随笔分类 -  汇编

汇编第七日
摘要:端口读写用in(从端口读)和out(往端口写)指令: in al 60h 从60h号端口读入一个字节 in和out只能使用ax或al存放从端口读入的数据或要发送到端口的数据 访问8位端口用al,16位用ax CMOS RAM 芯片有实时钟(靠电池供电,保证RAM信息不丢失)和128个存储单元的RAM 阅读全文

posted @ 2017-08-06 21:42 chaunceyctx 阅读(144) 评论(0) 推荐(0)

汇编第六日
摘要:flag寄存器: ZF=1表示计算结果为0,反之 PF = 0表示计算结果二进制表示中1的个数为奇数,反之 SF = 0表示计算结果为正,反之 CF为1,在加法中表明结果出现仅为,在减法中表明结果出现借位,反之 OF = 1表示计算结果溢出,反之 对于无符号数,CPU用CF位记录计算结果是否产生进位 阅读全文

posted @ 2017-08-06 21:34 chaunceyctx 阅读(172) 评论(0) 推荐(0)

汇编第五日
摘要:mov ax, offset 标号:取得标号相对于伪代码后第一条指令地址0的相对偏移量即标号地址 可以发现汇编指令中的idata会直接反映在机器码中 jmp指令可以修改IP或CS和IP的值,具体格式如下: ①jmp short 标号(段内转移) (IP) = (IP)+ 8位位移 8位位移含义是:标 阅读全文

posted @ 2017-08-05 22:33 chaunceyctx 阅读(166) 评论(0) 推荐(0)

汇编第四日
摘要:段的起始地址总是16的倍数,设段中数据占N字节,那么段的大小为(N/17+1)/16字节 CPU执行指令(如果end 之后没有标号的话)默认是从伪代码后第一行指令开始,有标号后会从用户指定的指令开始执行 and al, 10111111B:将第6位设置成0,其余位不变 or al, 01000000 阅读全文

posted @ 2017-08-04 22:55 chaunceyctx 阅读(150) 评论(0) 推荐(0)

汇编第三日
摘要:在.asm文件中写mov al, [0],对于编译器来说只是将0赋值给al(不过写[0]相当于写ds:[0],写[1],[2]....这些就不相同了) 为了表示我们想要的ds:[0]: 1.改写成mov al, ds:[0] 2. mov bx, 0 mov al, [bx] 所以bx寄存器基本上与 阅读全文

posted @ 2017-08-03 23:10 chaunceyctx 阅读(175) 评论(0) 推荐(0)

汇编第二日
摘要:显存中某区域改变,显示器便会在对应区域改变 出入栈以字为单位, push al 错误 pop ax把栈顶字数据赋值给寄存器 pop [0]把栈顶字数据赋值到ds:[0] push到栈中,高位数据对应高位地址,低位数据对应低位地址 ss存放栈顶数据的段地址,sp存放栈顶的偏移地址,任意时刻ss:sp指 阅读全文

posted @ 2017-08-01 21:41 chaunceyctx 阅读(187) 评论(0) 推荐(0)

汇编第一日
摘要:本文汇编主要针对的是8086CPU 计算机中三条主要总线:地址总线,控制总线,数据总线,从CPU管脚引出 32位,64位CPU一次存取数据大小为32位,64位,内存存储单元大小为8bit = 1byte 振荡器振荡产生高低电平,高电平为1,低电平为0,CPU只认1和0 每种CPU架构(x86(CIS 阅读全文

posted @ 2017-07-31 23:02 chaunceyctx 阅读(199) 评论(0) 推荐(0)

导航