<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[basketballUncle的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/basketballUncle</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; basketballUncle]]></copyright><item><title><![CDATA[王爽汇编语言学习笔记（十） --CALL和RET指令]]></title><link>https://blog.youkuaiyun.com/basketballUncle/article/details/41779969</link><guid>https://blog.youkuaiyun.com/basketballUncle/article/details/41779969</guid><author>basketballUncle</author><pubDate>Sat, 06 Dec 2014 22:28:03 +0800</pubDate><description><![CDATA[﻿﻿
1 call和ret指令都是转移指令，他们都修改IP，或同时修改CS和IP。
2 ret retf
  ret 指令用栈中的数据修改IP的内容，从而实现近转移；
  retf 指令用栈中的数据，修改CS和IP的内容，从而实现远转移；
CPU执行ret指令时，进行下面两部操作：IP =((ss)*16+(sp)) sp = sp+2 = pop IP
CPU执行retf指令时，进行]]></description><category></category></item><item><title><![CDATA[王爽汇编语言学习笔记（九） --转移指令的原理]]></title><link>https://blog.youkuaiyun.com/basketballUncle/article/details/41777135</link><guid>https://blog.youkuaiyun.com/basketballUncle/article/details/41777135</guid><author>basketballUncle</author><pubDate>Sat, 06 Dec 2014 17:42:15 +0800</pubDate><description><![CDATA[1 可以修改IP，或者同时修改CS和IP的指令统称为转移指令。
2 段内转移：只修改IP 段间转移：同时修改CS和IP
3 offset 取得标号的偏移地址
4 jmp为无条件转移指令，可以只修改IP，也可以同时修改CS和IP
 a)依据位移进行转移的jmp指令
   Jmp short 标号 段内短转移
   
由图中可发现，JMP 0008的机器码为EB03，这个机器码中]]></description><category></category></item><item><title><![CDATA[王爽汇编语言学习笔记（七） --数据处理中的两个问题]]></title><link>https://blog.youkuaiyun.com/basketballUncle/article/details/41604777</link><guid>https://blog.youkuaiyun.com/basketballUncle/article/details/41604777</guid><author>basketballUncle</author><pubDate>Sat, 29 Nov 2014 22:38:46 +0800</pubDate><description><![CDATA[﻿﻿
1 寄存器bp bx si di
1)在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) 使]]></description><category></category></item><item><title><![CDATA[王爽汇编语言学习笔记（六）]]></title><link>https://blog.youkuaiyun.com/basketballUncle/article/details/41604675</link><guid>https://blog.youkuaiyun.com/basketballUncle/article/details/41604675</guid><author>basketballUncle</author><pubDate>Sat, 29 Nov 2014 22:34:54 +0800</pubDate><description><![CDATA[第六章 包含多个段的程序
1 操作系统的环境中，合法地通过操作系统取得的空间都是安全的。程序取得所
  需空间的方法有两种：
  1）在加载程序的时候为程序分配
  2）程序在执行的过程中向系统申请。（汇编本种方法不讨论）
  从规范的角度讲，我们是不能自己随便决定哪段空间可以使用，应该让操作系
  统来为我们分配，在程序中，定义我们希望处理的数据，这些数据就会被编译、]]></description><category></category></item><item><title><![CDATA[王爽汇编语言学习笔记（五）--loop与[bx]]]></title><link>https://blog.youkuaiyun.com/basketballUncle/article/details/41604407</link><guid>https://blog.youkuaiyun.com/basketballUncle/article/details/41604407</guid><author>basketballUncle</author><pubDate>Sat, 29 Nov 2014 22:17:25 +0800</pubDate><description><![CDATA[﻿﻿
第5章 loop与[bx]
1 [bx]：表示一个内存单元，偏移地址为bx，段地址在ds中
2 Loop指令
  Loop 标号
  (cx) = (cx) -1； 判断cx 的值，cx中的值，若不为零，则转至标号处执行程序，如果为零，
  则向下执行。
3 用cx和loop指令相配合实现循环功能的程序框架：
  mov cx,循环次数
s:
  循环执行的程序
  l]]></description><category></category></item><item><title><![CDATA[王爽汇编语言学习笔记（四） --第一个程序]]></title><link>https://blog.youkuaiyun.com/basketballUncle/article/details/41604361</link><guid>https://blog.youkuaiyun.com/basketballUncle/article/details/41604361</guid><author>basketballUncle</author><pubDate>Sat, 29 Nov 2014 22:14:20 +0800</pubDate><description><![CDATA[第4章 第一个程序
1 伪指令
  1)XXX segment
    XXX ends
  2)end
  3)assume 假设某一个段与某一个寄存器关联
2 标号
  一个标号代表了一个地址，
3 程序返回
  mov ax,4c00H
  int 21H
4 谁将可执行文件中的程序装载进内存并使它运行？
  DOS系统中有一个程序command.com，这个]]></description><category></category></item><item><title><![CDATA[王爽汇编语言学习笔记（三）--寄存器(内存访问）]]></title><link>https://blog.youkuaiyun.com/basketballUncle/article/details/41604295</link><guid>https://blog.youkuaiyun.com/basketballUncle/article/details/41604295</guid><author>basketballUncle</author><pubDate>Sat, 29 Nov 2014 22:12:02 +0800</pubDate><description><![CDATA[第3章 寄存器（内存访问）
1 内存中字的存储
  内存单元是字节
  一个字要用两个地址连续的内存单元来存放，字的低位字节存放在低地址单元中，高位字节存放在高地址单元中。
 
2  DS和[address]
 内存单元地址 DS：[address]
3  字的传送/字节的传送
   1）通过使用16位寄存器/8位寄存器来完成字/字节的传送。
   2）使用mov指令访问]]></description><category></category></item><item><title><![CDATA[王爽汇编语言学习笔记（二）--寄存器]]></title><link>https://blog.youkuaiyun.com/basketballUncle/article/details/41380849</link><guid>https://blog.youkuaiyun.com/basketballUncle/article/details/41380849</guid><author>basketballUncle</author><pubDate>Sat, 22 Nov 2014 13:14:57 +0800</pubDate><description><![CDATA[﻿﻿

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]]></description><category></category></item><item><title><![CDATA[王爽汇编语言学习笔记（一）]]></title><link>https://blog.youkuaiyun.com/basketballUncle/article/details/41360635</link><guid>https://blog.youkuaiyun.com/basketballUncle/article/details/41360635</guid><author>basketballUncle</author><pubDate>Fri, 21 Nov 2014 22:02:39 +0800</pubDate><description><![CDATA[最近在学习赵炯老师的《Linux 0.11内核完全]]></description><category></category></item></channel></rss>