首页
社区
课程
招聘
《汇编语言》笔记-寄存器
发表于: 2024-10-22 00:11 2348

《汇编语言》笔记-寄存器

2024-10-22 00:11
2348

## 通用寄存器
8086CPU的所有的寄存器都是16位的,可以存放两个字节。AX、BX、CX、DX这4个寄存器为通用寄存器。

![](e39K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3U0M7K6y4o6t1@1z5e0q4Q4x3X3c8X3k6h3y4V1y4U0M7$3y4#2)9J5k6o6q4W2y4U0y4Q4x3X3b7@1k6e0l9J5i4K6u0V1j5h3b7H3y4g2)9J5k6r3p5H3z5e0W2X3y4e0b7H3k6X3x3&6y4#2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

一个16位寄存器可以存储一个16位的数据。

8086CPU的上一代CPU中的寄存器都是8位,为了保证兼容,使原来基于上代CPU编写的程序稍加修改就可以运行在8086之上

8086CPU的 AX、BX、CX、DX、这4个寄存器可以分为两个独立使用的8位寄存器来用

![](260K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3U0M7@1y4U0j5H3y4K6S2Q4x3X3b7^5z5h3u0X3y4h3p5K6x3W2)9J5k6r3t1K6j5e0S2Q4x3X3b7@1y4X3f1#2i4K6u0V1j5X3t1^5x3q4)9J5k6o6l9K6j5e0p5%4j5U0l9I4x3U0R3I4k6q4)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](297K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3U0M7@1z5o6j5#2z5e0k6Q4x3X3b7J5y4o6N6T1y4$3u0V1x3#2)9J5k6o6V1%4y4e0S2Q4x3X3b7@1x3U0u0T1i4K6u0V1z5o6R3I4x3q4)9J5k6o6t1H3j5K6N6T1y4X3f1K6y4X3g2V1x3q4)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](ae6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3U0M7@1z5e0M7H3y4o6S2Q4x3X3c8V1x3K6m8T1j5X3q4W2x3g2)9J5k6o6c8V1y4e0q4Q4x3X3b7@1x3$3x3I4i4K6u0V1z5o6f1J5y4q4)9J5k6r3k6V1x3r3b7$3x3r3f1^5k6e0l9J5k6q4)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](b63K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3U0M7#2x3e0l9H3y4e0W2Q4x3X3c8V1j5U0N6W2z5o6c8U0k6g2)9J5k6o6m8V1y4o6S2Q4x3X3b7@1j5U0V1K6i4K6u0V1j5U0S2S2j5g2)9J5k6o6j5#2x3U0l9&6k6h3b7K6j5K6M7I4z5q4)9J5k6i4m8F1k6#2)9J5z5b7`.`.

## 字在寄存器中的存储
8086CPU可以一次性处理以下两种尺寸的数据

+ 字节:byte,一个字节由8个bit组成,可以存在8位寄存器中
+ 字:word,一个字由两个字节组成,两个字节分别称为这个字的高位字节和低位字节

![](c01K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3U0M7^5x3U0f1&6x3U0q4Q4x3X3c8V1x3r3q4W2x3K6g2X3y4#2)9J5k6o6j5$3y4o6S2Q4x3X3b7@1y4h3x3%4i4K6u0V1z5r3c8U0z5g2)9J5k6r3j5H3j5U0V1K6x3e0R3%4j5h3f1H3k6W2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

## 汇编指令
| 汇编指令 | CPU操作 | 高级语言 |
| --- | --- | --- |
| mov ax,18 | 将18送入寄存器AX | AX=18 |
| mov ah,78 | 将78送入寄存器AH | AH=78 |
| add ax,8 | 将寄存器AX中的数值加上8 | AX=AX+8 |
| mov ax,bx | 将寄存器BX中的数据送入寄存器AX | AX=BX |
| add ax,bx | 将AX和BX中的数值相加,结果存在AX中 | AX=AX+BX |


程序段指令执行情况 (原AX的值:0000H 原BX的值:0000H)

| 程序段中的指令 | 指令执行后AX中的数据 | 指令执行后BX中的数据 |
| --- | --- | --- |
| mov ax,4E20H | 4E20H | 0000H |
| add ax,1406H | 6226H | 0000H |
| mov bx,2000H | 6226H | 2000H |
| add ax,bx | 8226H | 2000H |
| mov bx,ax | 8226H | 8226H |
| add ax,bx | 044CH | 8226H |


程序段中的最后一条指令 add ax,bx,在执行前 ax和 bx 中的数据都为 8226H,相加后所得的值为:1044CH,但是 ax 为 16 位寄存器,只能存放 4位十六进制的数据,所以最高位的 1不能在 ax 中保存,ax中的数据为:044CH。

程序段指令执行情况 (原AX的值:0000H 原BX的值:0000H)

| 程序段中的指令 | 指令执行后AX中的数据 | 指令执行后BX中的数据 |
| --- | --- | --- |
| mov ax,001AH | 001AH | 0000H |
| mov bx,0026H | 001AH | 0026H |
| add al.bl | 0040H | 0026H |
| add ah,bl | 2640H | 0026H |
| add bh,al | 2640H | 4026H |
| mov ah,0 | 0040H | 4026H |
| add al,85H | 00C5H | 4026H |
| add al,93H | 0058H | 4026H |


程序段中的最后一条指令 add al,93H,在执行前,al 中的数据为 C5H,相加后所得的值为:158H,但是 a1为8位寄存器,只能存放两位十六进制的数据,所以最高位的1丢失,ax 中的数据为:0058H。

## 段地址x16+偏移地址=物理地址 本质含义
“段地址x16+偏移地址=物理地址”的本质含义是:CPU 在访问内存时,用一个基础地址(段地址x16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址。

“基础地址+偏移地址=物理地址”的思想

![](01aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3U0V1H3y4K6l9%4y4K6c8Q4x3X3b7I4y4h3b7&6j5h3f1I4x3q4)9J5k6r3x3@1j5h3u0Q4x3X3b7@1j5K6M7I4i4K6u0V1z5h3b7#2y4#2)9J5k6o6V1K6j5e0M7@1y4U0m8S2k6r3q4T1x3W2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

你要去图书馆,问我那里的地址,我可以用两种方式告诉你图书馆的地址:

(1)从学校走 2826m 到图书馆。这 2826m 可以认为是图书馆的物理地址。

(2)从学校走 2000m 到体育馆,从体育馆再走 826m 到图书馆。第一个距离 2000m,是相对于起点的基础地址,第二个距离 826m 是相对于基础地址的偏移地址(以基础地址为起点的地址)。

第一种方式是直接给出物理地址 2826m,而第二种方式是用基础地址和偏移地址相加来得到物理地址的。

第二个比喻进一步说明“段地址x16+偏移地址=物理地址”的思想。



比如,只能通过纸条来互相通信,你问我图书馆的地址我只能将它写在纸上告诉你。显然,我必须有一张可以容纳4位数据的纸条,才能写下 2826 这个数据。

可不巧的是,我没有能容纳4位数据的纸条,仅有两张可以容纳3位数据的纸条。这样我只能以这种方式告诉你 2826 这个数据。

![](5a4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3U0V1K6y4K6j5K6y4e0q4Q4x3X3b7#2k6U0l9#2k6e0l9J5y4q4)9J5k6o6M7&6k6h3c8Q4x3X3b7@1j5$3b7K6i4K6u0V1j5h3y4U0j5g2)9J5k6o6x3I4k6h3q4V1z5h3q4V1y4X3y4U0z5q4)9J5k6i4m8F1k6#2)9J5z5b7`.`.

在第一张纸上写上 200(段地址),在第二张纸上写上 826(偏移地址)。假设我们事前对这种情况又有过相关的约定:你得到这两张纸后,做这样的运算:200(段地址)x10+826(偏移地址)=2826(物理地址)。

8086CPU 就是这样一个只能提供两张3位数据纸条的CPU。

## 段的概念
内存并没有分段,段的划分来自于CPU,由于 8086CPU 用“基础地址(段地址x16)+偏移地址=物理地址”的方式给出内存单元的物理地址,使得我们可以用分段的方式来管理内存。

可以认为:地址10000H~100FFH 的内存单元组成一个段,该段的起始地址(基础地址)为10000H,段地址为1000H,大小为100H;我们也可以认为地址 10000H~1007FH、10080H~100FFH 的内存单元组成两个段,它们的起始地址(基础地址)为:10000H和10080H,段地址为:1000H和1008H,大小都为80H。

![](e9eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3U0V1@1z5o6x3I4y4K6W2Q4x3X3c8S2y4K6f1J5z5o6M7@1y4q4)9J5k6r3u0W2y4X3c8Q4x3X3b7@1x3e0W2T1i4K6u0V1j5e0N6W2j5W2)9J5k6r3j5K6y4e0b7I4y4U0j5$3z5o6V1H3z5q4)9J5k6i4m8F1k6#2)9J5z5b7`.`.

## 段寄存器
段地址在 8086CPU 的段寄存器中存放。8086CPU有4个段寄存器:CS、DS、SS、ES。当8086CPU要访问内存时由这4个段寄存器提供内存单元的段地址。

## CS和IP
CS为代码段寄存器 IP为指令指针寄存器

在 8086PC 机中,任意时刻,设CS 中的内容为 M,P 中的内容为N,8086CPU 将从内存 Mx16+N 单元开始,读取一条指令并执行。

执行指令工作原理

![](41dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5H3x3K6p5J5x3o6S2Q4x3X3b7J5y4X3u0W2j5e0N6W2j5W2)9J5k6o6b7@1k6X3k6Q4x3X3b7@1x3X3x3^5i4K6u0V1z5e0l9&6k6q4)9J5k6o6m8V1z5e0x3I4k6o6y4W2x3U0y4S2j5#2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](a35K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5H3y4o6V1I4y4e0y4Q4x3X3b7K6y4U0t1$3z5e0x3K6y4q4)9J5k6o6V1&6k6h3k6Q4x3X3b7@1k6e0R3I4i4K6u0V1j5e0y4S2y4W2)9J5k6o6m8U0y4U0q4T1j5e0k6X3y4X3q4S2j5#2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](a40K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5H3y4U0t1J5y4o6S2Q4x3X3c8W2z5r3x3J5j5U0W2V1k6q4)9J5k6o6m8U0j5U0W2Q4x3X3b7@1z5o6p5H3i4K6u0V1z5h3f1$3x3#2)9J5k6o6u0W2x3h3b7H3j5$3t1#2x3K6x3I4x3q4)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](e45K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5H3y4U0R3@1z5o6c8Q4x3X3b7I4z5e0l9%4x3o6c8W2j5g2)9J5k6o6t1J5x3U0c8Q4x3X3b7@1j5h3t1@1i4K6u0V1z5e0y4S2y4q4)9J5k6o6m8X3k6o6N6V1k6e0q4W2y4e0R3@1j5W2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](2e6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5H3y4K6b7#2x3U0k6Q4x3X3c8U0y4K6S2T1k6e0x3$3k6q4)9J5k6o6j5J5j5h3g2Q4x3X3b7@1k6o6p5H3i4K6u0V1z5o6x3#2y4q4)9J5k6r3t1@1k6o6b7J5j5h3x3I4j5K6R3%4k6g2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](b05K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5H3z5o6t1$3x3o6S2Q4x3X3b7#2y4o6k6S2x3K6R3@1k6g2)9J5k6r3j5I4y4K6W2Q4x3X3b7@1y4K6g2S2i4K6u0V1j5X3b7^5k6g2)9J5k6o6M7%4k6e0x3$3x3X3p5%4j5K6R3K6z5g2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](c7fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5H3z5e0j5&6y4e0c8Q4x3X3c8X3x3U0p5#2j5h3j5@1j5W2)9J5k6r3t1^5k6U0g2Q4x3X3b7@1j5U0m8V1i4K6u0V1j5e0R3#2k6g2)9J5k6r3p5&6k6X3k6X3j5X3g2S2y4e0S2T1y4#2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](44cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5I4x3o6x3J5x3e0g2Q4x3X3b7#2x3o6m8T1y4e0j5&6k6q4)9J5k6o6y4U0z5h3q4Q4x3X3b7@1y4e0W2W2i4K6u0V1j5X3g2W2y4g2)9J5k6r3t1#2y4K6q4V1x3r3k6V1x3U0p5#2j5W2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](5eeK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5I4x3o6V1I4x3o6y4Q4x3X3c8S2k6U0x3@1j5K6c8W2y4g2)9J5k6r3g2U0j5K6g2Q4x3X3b7@1z5h3y4S2i4K6u0V1z5e0f1@1x3q4)9J5k6o6g2S2y4$3p5%4j5X3t1J5y4U0x3^5k6W2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](d87K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5I4x3e0b7#2x3e0S2Q4x3X3b7^5x3U0g2V1z5e0m8W2y4q4)9J5k6r3f1$3z5o6c8Q4x3X3b7@1y4X3x3$3i4K6u0V1j5h3c8S2j5W2)9J5k6o6c8X3k6X3x3K6j5h3p5$3k6o6l9&6x3q4)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](11cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5I4x3U0x3$3x3K6q4Q4x3X3b7K6j5X3u0S2k6U0b7#2x3q4)9J5k6r3t1%4y4U0q4Q4x3X3b7@1k6o6b7H3i4K6u0V1j5h3y4T1j5g2)9J5k6r3f1^5y4K6R3&6k6X3f1@1j5$3j5#2y4W2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](a2dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5I4y4o6b7%4x3K6m8Q4x3X3c8W2k6h3p5%4j5U0j5H3x3q4)9J5k6o6y4V1y4h3u0Q4x3X3b7@1j5K6t1J5i4K6u0V1j5X3x3@1k6W2)9J5k6r3g2X3j5U0j5$3k6U0f1H3x3r3x3&6j5g2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](729K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5I4y4e0t1$3x3U0q4Q4x3X3b7H3k6h3x3#2x3e0M7I4x3g2)9J5k6r3p5#2k6o6g2Q4x3X3b7@1k6o6R3%4i4K6u0V1z5r3b7@1j5#2)9J5k6o6p5#2x3e0f1I4y4e0j5K6j5X3x3J5z5g2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](179K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5I4y4U0l9@1z5o6g2Q4x3X3b7I4x3X3p5I4z5e0t1%4z5q4)9J5k6r3q4W2z5h3u0Q4x3X3b7@1y4e0t1%4i4K6u0V1j5e0g2T1z5q4)9J5k6r3b7J5x3X3q4V1j5h3y4U0k6o6b7&6x3q4)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](543K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5I4y4U0R3&6x3e0c8Q4x3X3b7I4x3U0k6V1y4e0N6S2z5q4)9J5k6o6y4U0z5r3y4Q4x3X3b7@1x3$3t1&6i4K6u0V1j5e0f1K6x3#2)9J5k6o6V1%4j5U0p5&6k6o6g2S2k6e0M7@1x3W2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](d9fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5I4y4K6x3%4x3U0u0Q4x3X3b7^5k6X3b7H3j5e0M7#2z5q4)9J5k6o6R3@1y4K6y4Q4x3X3b7@1k6r3g2U0i4K6u0V1j5U0S2W2k6q4)9J5k6o6c8W2j5e0f1J5x3X3u0T1y4$3f1$3x3W2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

![](3d8K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6r3&6Q4x3X3g2F1L8r3q4J5K9#2)9J5k6h3y4G2L8g2)9J5c8Y4W2#2M7i4g2W2i4K6u0r3x3q4)9J5c8U0t1H3x3U0c8Q4x3V1k6H3L8X3N6Q4x3V1j5J5z5e0t1K6y4U0t1K6y4q4)9J5c8U0p5%4x3U0V1K6x3K6p5I4y4K6V1@1x3K6N6Q4x3X3b7&6y4o6l9%4j5U0j5^5x3g2)9J5k6r3p5%4x3$3c8Q4x3X3b7@1k6o6V1^5i4K6u0V1j5X3k6T1z5g2)9J5k6r3j5$3x3$3j5&6j5$3p5J5x3U0b7I4z5g2)9J5k6i4m8F1k6#2)9J5z5b7`.`.

## 修改CS、IP指令
jmp指令

同时修改CS IP的内容,可以使用 jmp段地址:偏移地址的指令完成

| jmp 2AE3:3 | CS=2AE3H,IP=0003H | CPU将从2AE33H处读取指令 |
| --- | --- | --- |
| jmp 3:0B16 | CS=0003H,IP=0B16H | CPU将从00B46HH处读取指令 |


只下IP的内容

| jmp ax | |
| --- | --- |
| 执行前 | ax=1000H,CS=2000H,IP=0003H |
| 执行后 | ax=1000H,CS=2000H,IP=1000H |
| jmp bx  |  |
| 执行前 | bx=0B16H,CS=2000H,IP=0003H |
| 执行后 | bx=0B16H,CS=2000H,IP=0B16H |




[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回