![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编语言
basketballUncle
爱内核 更爱篮球
爱编码 也爱硬件设计
我不是码农
I am just a designer
展开
-
王爽汇编语言学习笔记(七) --数据处理中的两个问题
1 寄存器bp bx si di1)在8086CPU中,只有4个寄存器可以用来进行内存单元的寻址:bx bp si di。mov ax,[bx]mov ax,[bx+si]mov ax,[bx+di]mov ax,[bp]mov ax.[bp+si]mov ax,[bp+di]但不可以mov ax,[bx+bp]或者 mov ax,[si+di]2) 使原创 2014-11-29 22:38:46 · 1233 阅读 · 0 评论 -
王爽汇编语言学习笔记(六)
第六章 包含多个段的程序1 操作系统的环境中,合法地通过操作系统取得的空间都是安全的。程序取得所 需空间的方法有两种: 1)在加载程序的时候为程序分配 2)程序在执行的过程中向系统申请。(汇编本种方法不讨论) 从规范的角度讲,我们是不能自己随便决定哪段空间可以使用,应该让操作系 统来为我们分配,在程序中,定义我们希望处理的数据,这些数据就会被编译、原创 2014-11-29 22:34:54 · 421 阅读 · 0 评论 -
王爽汇编语言学习笔记(五)--loop与[bx]
第5章 loop与[bx]1 [bx]:表示一个内存单元,偏移地址为bx,段地址在ds中2 Loop指令 Loop 标号 (cx) = (cx) -1; 判断cx 的值,cx中的值,若不为零,则转至标号处执行程序,如果为零, 则向下执行。3 用cx和loop指令相配合实现循环功能的程序框架: mov cx,循环次数s: 循环执行的程序 l原创 2014-11-29 22:17:25 · 471 阅读 · 0 评论 -
王爽汇编语言学习笔记(四) --第一个程序
第4章 第一个程序1 伪指令 1)XXX segment XXX ends 2)end 3)assume 假设某一个段与某一个寄存器关联2 标号 一个标号代表了一个地址,3 程序返回 mov ax,4c00H int 21H4 谁将可执行文件中的程序装载进内存并使它运行? DOS系统中有一个程序command.com,这个原创 2014-11-29 22:14:20 · 531 阅读 · 0 评论 -
王爽汇编语言学习笔记(三)--寄存器(内存访问)
第3章 寄存器(内存访问)1 内存中字的存储 内存单元是字节 一个字要用两个地址连续的内存单元来存放,字的低位字节存放在低地址单元中,高位字节存放在高地址单元中。 2 DS和[address] 内存单元地址 DS:[address]3 字的传送/字节的传送 1)通过使用16位寄存器/8位寄存器来完成字/字节的传送。 2)使用mov指令访问原创 2014-11-29 22:12:02 · 628 阅读 · 0 评论 -
王爽汇编语言学习笔记(二)--寄存器
1 字在寄存器中的存储8086 CPU可以一次性处理字节(byte)和字(word)两种尺寸数据。 2 AL AH是独立的寄存器,CPU在执行指令时,认为AH AL是两个不相关的寄存器。 若 AL = 90 H ADD AL,90H 则AX = 20H, 产生的进位不会存储在AH中。 3 8086 CPU读写内存步骤: 1) CPU中的相关部件提供两个16原创 2014-11-22 13:14:57 · 586 阅读 · 0 评论 -
王爽汇编语言学习笔记(一)
最近在学习赵炯老师的《Linux 0.11内核完全原创 2014-11-21 22:02:39 · 1027 阅读 · 0 评论 -
王爽汇编语言学习笔记(十) --CALL和RET指令
1 call和ret指令都是转移指令,他们都修改IP,或同时修改CS和IP。2 ret retf ret 指令用栈中的数据修改IP的内容,从而实现近转移; retf 指令用栈中的数据,修改CS和IP的内容,从而实现远转移;CPU执行ret指令时,进行下面两部操作:IP =((ss)*16+(sp)) sp = sp+2 = pop IPCPU执行retf指令时,进行原创 2014-12-06 22:28:03 · 677 阅读 · 0 评论 -
王爽汇编语言学习笔记(九) --转移指令的原理
1 可以修改IP,或者同时修改CS和IP的指令统称为转移指令。2 段内转移:只修改IP 段间转移:同时修改CS和IP3 offset 取得标号的偏移地址4 jmp为无条件转移指令,可以只修改IP,也可以同时修改CS和IP a)依据位移进行转移的jmp指令 Jmp short 标号 段内短转移 由图中可发现,JMP 0008的机器码为EB03,这个机器码中原创 2014-12-06 17:42:15 · 544 阅读 · 0 评论