- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 王爽汇编语言学习笔记(十) --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 678
原创 王爽汇编语言学习笔记(九) --转移指令的原理
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 549
原创 王爽汇编语言学习笔记(七) --数据处理中的两个问题
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 1234
原创 王爽汇编语言学习笔记(六)
第六章 包含多个段的程序1 操作系统的环境中,合法地通过操作系统取得的空间都是安全的。程序取得所 需空间的方法有两种: 1)在加载程序的时候为程序分配 2)程序在执行的过程中向系统申请。(汇编本种方法不讨论) 从规范的角度讲,我们是不能自己随便决定哪段空间可以使用,应该让操作系 统来为我们分配,在程序中,定义我们希望处理的数据,这些数据就会被编译、
2014-11-29 22:34:54 426
原创 王爽汇编语言学习笔记(五)--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 475
原创 王爽汇编语言学习笔记(四) --第一个程序
第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 532
原创 王爽汇编语言学习笔记(三)--寄存器(内存访问)
第3章 寄存器(内存访问)1 内存中字的存储 内存单元是字节 一个字要用两个地址连续的内存单元来存放,字的低位字节存放在低地址单元中,高位字节存放在高地址单元中。 2 DS和[address] 内存单元地址 DS:[address]3 字的传送/字节的传送 1)通过使用16位寄存器/8位寄存器来完成字/字节的传送。 2)使用mov指令访问
2014-11-29 22:12:02 629
原创 王爽汇编语言学习笔记(二)--寄存器
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 588
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人