第六章
1) 程序取得内存空间的方法有两种,一是在加载程序的时候为程序分配,二是程序在执行的过程中向操作系统申请。
2) 可执行文件由描述信息和程序组成,程序来自于源程序中的汇编指令和定义的数据;描述信息则主要是编译、连接程序对源程序中相关伪指令进行处理所得到的信息。
3) 程序的CS和IP是加载程序根据可执行文件中的描述信息自动设置的,不需要在代码中显示设置。而其他的段寄存器DS、SS、SP等需要我们在代码中显示设置。...
- [younggay] 没问题。 07/27 08:32
- [游客] 说的很对。结果相同,但是过程有可能是大不一样,甚至会有漏洞的。 07/20 09:27
- [游客] 基本当大家的方法跟你一样。呵呵,没问题。 07/20 09:25
- [mess] 没问题,这个题每个人做的基本都不一样,不过每个人都用debug查看到的答案也对是对的 O(∩_∩)O 05/18 14:16
- [mess] 答案正确~ 05/18 14:13
- [mess] 更正后就多正确了,对于第三题,数据和程序在内存中没有区别,cs ip指向的位置就是程序。 ^_^ 05/18 14:12
- [anwu00] 谢谢你的鼓励!^_^ 05/11 23:57
- [mess] 答案没问题,继续 ^_^ 05/11 18:23
- [mess] 答案没问题,最主要的还是分析的思路,对计算物理地址公式的理解~ 05/11 18:22
- [mess] 更正正确,最主要的是要把握住ip更改的次序。 05/11 18:22
[2009-07-26 23:07] 汇编笔记
阅读全文 |
评论次数(0) |
浏览次数(522) |
所属类型(心得体会)
[2009-07-26 22:06] 检测点6.1
(1) mov cs:[bx],ax
(2) cs
24h
pop cs:[bx]...
(2) cs
24h
pop cs:[bx]...
阅读全文 |
评论次数(1) |
浏览次数(634) |
所属类型(汇编作业)
[2009-07-19 18:42] 实验4.3
第一个空:mov ax,cs
第二个空:mov cx,23
第二个空,好像找不到很好的方法,我比较笨,是在debug中数了一下指令的长度。...
第二个空:mov cx,23
第二个空,好像找不到很好的方法,我比较笨,是在debug中数了一下指令的长度。...
阅读全文 |
评论次数(1) |
浏览次数(581) |
所属类型(汇编作业)
[2009-07-19 18:25] 实验4.1 4.2
assume cs:code
code segment
mov ax,20h
mov ds,ax
mov cx,64
mov bx,0
s: mov [bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
最开始写的代码如上所示,运行的结果看起来也是OK的,但与其他人的代码比较后,发现有一句确实写错了,mov [bx],bx应该为mov [bx],bl。但为何运行结果看起来是一样的呢?经过仔细分析,得出有两个原因导致:
1)Inter的CPU是小字节序的,高...
code segment
mov ax,20h
mov ds,ax
mov cx,64
mov bx,0
s: mov [bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
最开始写的代码如上所示,运行的结果看起来也是OK的,但与其他人的代码比较后,发现有一句确实写错了,mov [bx],bx应该为mov [bx],bl。但为何运行结果看起来是一样的呢?经过仔细分析,得出有两个原因导致:
1)Inter的CPU是小字节序的,高...
阅读全文 |
评论次数(1) |
浏览次数(613) |
所属类型(汇编作业)
[2009-05-14 23:24] 实验2
AX=5BEAH
AX=5CCAH
BX=37F0H
BX=6729H
SP=00FEH; 修改的内存单元的地址是220FEH, 内容为5CCAH
SP=00FCH; 修改的内存单元的地址是220FCH, 内容为6729H
SP=00FEH; AX=6729H
SP=0100H; BX=5CCAH
SP=00FEH; 修改的内存单元的地址是220FEH, 内容为37F0H
SP=00FCH; 修改的内存单元的地址是220FCH, 内容为2F39H...
AX=5CCAH
BX=37F0H
BX=6729H
SP=00FEH; 修改的内存单元的地址是220FEH, 内容为5CCAH
SP=00FCH; 修改的内存单元的地址是220FCH, 内容为6729H
SP=00FEH; AX=6729H
SP=0100H; BX=5CCAH
SP=00FEH; 修改的内存单元的地址是220FEH, 内容为37F0H
SP=00FCH; 修改的内存单元的地址是220FCH, 内容为2F39H...
阅读全文 |
评论次数(1) |
浏览次数(623) |
所属类型(汇编作业)
[2009-05-14 22:56] 检测点3.2
1)
MOV AX,2000H
MOV SS,AX
MOV SP,10H
2)
MOV AX,1000H
MOV SS,AX
MOV SP,0...
MOV AX,2000H
MOV SS,AX
MOV SP,10H
2)
MOV AX,1000H
MOV SS,AX
MOV SP,0...
阅读全文 |
评论次数(1) |
浏览次数(621) |
所属类型(汇编作业)
[2009-05-12 23:19] 检测点3.1
1)
AX=2662H
BX=E626H
AX=E626H
AX=2662H
BX=D6E6H
AX=FD48H
AX=2C14H
AX=0
AX=E6H
BX=0
BX=26H
AX=0CH
2)
(1)CPU执行的指令序列:
MOV AX,6622H
JMP 0FF0:0100
MOV AX,2000H
MOV DS,AX
MOV AX,[0008]
MOV AX,[0002]
(2)
CS=2000H, IP=0, DS=1000H, AX=0, BX=0
MOV AX,6622H
...
AX=2662H
BX=E626H
AX=E626H
AX=2662H
BX=D6E6H
AX=FD48H
AX=2C14H
AX=0
AX=E6H
BX=0
BX=26H
AX=0CH
2)
(1)CPU执行的指令序列:
MOV AX,6622H
JMP 0FF0:0100
MOV AX,2000H
MOV DS,AX
MOV AX,[0008]
MOV AX,[0002]
(2)
CS=2000H, IP=0, DS=1000H, AX=0, BX=0
MOV AX,6622H
...
阅读全文 |
评论次数(1) |
浏览次数(607) |
所属类型(汇编作业)
[2009-05-12 00:13] 8086 CPU指令约束笔记
1)mov指令不能用于设置CS、IP的值,可通过jmp指令修改;
2)不支持将数据直接送入段寄存器,如mov ds,1000是非法的,可用间接的方式,如mov bx,1000 mov ds,bx实现;
3)在汇编源程序中,数据不能以字母开头,如mov ax,ffffh是非法的,要写成mov ax,0ffffh;
待补充……...
2)不支持将数据直接送入段寄存器,如mov ds,1000是非法的,可用间接的方式,如mov bx,1000 mov ds,bx实现;
3)在汇编源程序中,数据不能以字母开头,如mov ax,ffffh是非法的,要写成mov ax,0ffffh;
待补充……...
阅读全文 |
评论次数(0) |
浏览次数(844) |
所属类型(心得体会)
[2009-05-10 11:29] 检测点2.3
mov ax,bx ;IP=IP+3
sub ax,ax ;IP=IP+2
jmp ax ;IP=0
最后IP的值为0
**************************更正*************************
看了别人的答案后,应该是4次修改IP的内容,最后一条jmp ax指令修改了IP两次:读取指令jmp ax后修改了一次,执行指令jmp ax后又修改了一次。...
sub ax,ax ;IP=IP+2
jmp ax ;IP=0
最后IP的值为0
**************************更正*************************
看了别人的答案后,应该是4次修改IP的内容,最后一条jmp ax指令修改了IP两次:读取指令jmp ax后修改了一次,执行指令jmp ax后又修改了一次。...
阅读全文 |
评论次数(1) |
浏览次数(601) |
所属类型(汇编作业)
[2009-05-10 10:59] 检测点2.2
1) 00010H到1000FH
2) 最小为1001H,最大为2000H...
2) 最小为1001H,最大为2000H...
阅读全文 |
评论次数(1) |
浏览次数(614) |
所属类型(汇编作业)
『 查看更多文章 』