Program Segment Prefix
From Wikipedia, the free encyclopedia
The Program Segment Prefix (PSP) is a data structure used in DOS systems to store the state of a program. It has the following structure:
Offset Size Contents
00-01 2 bytes (code) CP/M exit (always contain INT 20)
02-03 word ...
- [mess] 答案都对了,博主继续加油啊~ 12/21 10:58
- [mess] 根据第二章的检测题,cpu读取要执行的指令后ip将会改变指向下面要执行的指令地址。 不过上面按照博 12/21 10:55
- [mess] 如果算上读取指令mov ax, bx 改变的一次ip,修改的次数就应该是4次了。 分析的不错。 12/16 16:10
- [mess] 对,第二题的最小值是1001h 12/16 16:08
- [benfeizhuzi] 谢谢支持哦 12/15 22:43
- [abob] 答案都没问题。 12/15 18:36
- [abob] 答案全都正确,博主继续加油啊~ 12/15 18:35
[2009-12-18 16:38] PSP
阅读全文 |
评论次数(0) |
浏览次数(476) |
所属类型(默认类型)
[2009-12-18 14:49] 检测点3.2
检测点3.2
=============
(1) 补全下面的程序,使其可以将 10000H~1000FH中的8个字,逆序复制到 20000H~2000FH中。逆序复制的含义如图3.17所示(P.70)(图中内存里的数据均为假设)。
mov ax, 1000H
mov ds, ax
mov ax, 2000H
mov ss, ax
mov sp, 0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
(2) 补全下面的程序,使其可以将...
=============
(1) 补全下面的程序,使其可以将 10000H~1000FH中的8个字,逆序复制到 20000H~2000FH中。逆序复制的含义如图3.17所示(P.70)(图中内存里的数据均为假设)。
mov ax, 1000H
mov ds, ax
mov ax, 2000H
mov ss, ax
mov sp, 0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
(2) 补全下面的程序,使其可以将...
阅读全文 |
评论次数(1) |
浏览次数(543) |
所属类型(汇编作业)
[2009-12-18 14:19] 检测点3.1
检测点3.1
==================
(1) 在Debug中,用“d 0:0 1f“查看内存,结果如下。
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。
mov ax, 1 AX = 0001H
mov ds, ax DS = 0001H
mov ax, [00...
==================
(1) 在Debug中,用“d 0:0 1f“查看内存,结果如下。
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。
mov ax, 1 AX = 0001H
mov ds, ax DS = 0001H
mov ax, [00...
阅读全文 |
评论次数(1) |
浏览次数(556) |
所属类型(汇编作业)
[2009-12-16 13:34] 检测点2.3
检测点2.3
======================
下面的3条指令执行后,CPU几次修改IP? 都是在什么时候? 最后IP中的值是多少?
mov ax, bx
sub ax, ax
jmp ax
答:
CPU共修改3次IP,分别在读取指令“sub ax, ax”,“jmp ax”和执行指令“jmp ax”后。
最后IP中的值为寄存器AX最后所储存的值(因为上一条指令为sub ax, ax,所以ax的值为0)。
照着检2.3上的(3)8086CPU的工作过程,
上面指令的操作顺序应该是这样(假设CS:IP的初始指向就是指令“...
======================
下面的3条指令执行后,CPU几次修改IP? 都是在什么时候? 最后IP中的值是多少?
mov ax, bx
sub ax, ax
jmp ax
答:
CPU共修改3次IP,分别在读取指令“sub ax, ax”,“jmp ax”和执行指令“jmp ax”后。
最后IP中的值为寄存器AX最后所储存的值(因为上一条指令为sub ax, ax,所以ax的值为0)。
照着检2.3上的(3)8086CPU的工作过程,
上面指令的操作顺序应该是这样(假设CS:IP的初始指向就是指令“...
阅读全文 |
评论次数(1) |
浏览次数(454) |
所属类型(汇编作业)
[2009-12-15 22:58] 8086 CPU
8086是由Intel于1978年所设计的16位微处理器芯片,同时也是为x86架构系列之开端。之后不久,又推出了Intel 8088,它在外部使用8位地址总线连接,成为8086的一个低成本替代品。8086以8080和8085(它与8080有汇编语言上的源代码兼容性)的设计为基础,拥有类似的寄存器集合,但是扩充为16位。总线接口单元(Bus Interface Unit)通过6字节预存(prefetch)的贮列(queue)将指令送给运行单元(Execution Unit),所以取指令和运行是同步的-一种pipelining的原始形式(8086指令长度变化从1到6字节)。
8086有四个完...
8086有四个完...
阅读全文 |
评论次数(0) |
浏览次数(513) |
所属类型(默认类型)
[2009-12-15 22:18] 检测点2.2
说真的,这个真的有点迷糊,幸好只是有点迷糊。。。
检测点2.2
===================
(1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H 到 1000FH。
解:基础地址=0001H * 16 = 0010H,且一个段的长度最大为64KB,则能寻到的最后一个内存单元地址为0010H + FFFFH = 1000FH
(2) 有一段数据存放在内存 20000H单元中,现给定段地址为SA,若想用偏移地址寻找到此单元,则SA应满足的条件是:最小为1001H,最大为 2000H。
提示,反过来思考一下,当段地址给定为多少,CPU无论...
检测点2.2
===================
(1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H 到 1000FH。
解:基础地址=0001H * 16 = 0010H,且一个段的长度最大为64KB,则能寻到的最后一个内存单元地址为0010H + FFFFH = 1000FH
(2) 有一段数据存放在内存 20000H单元中,现给定段地址为SA,若想用偏移地址寻找到此单元,则SA应满足的条件是:最小为1001H,最大为 2000H。
提示,反过来思考一下,当段地址给定为多少,CPU无论...
阅读全文 |
评论次数(1) |
浏览次数(522) |
所属类型(汇编作业)
[2009-12-15 14:28] 检测点2.1
检测点2.1
===================
(1) 写出每条汇编指令执行后相关寄存器中的值。
mov ax, 62627 AX = F4A3H
mov ah, 31H AX = 31A3H
mov al, 23H AX = 3123H
add ax, ax AX = 6246H
mov bx, 826CH BX = 826CH
mov cx, ax CX = 6246H
mov ax, bx AX = 826CH
add ax, bx AX = 04D8H
mov al, bh AX = 0482H
mov ah, bl AX = 6C82...
===================
(1) 写出每条汇编指令执行后相关寄存器中的值。
mov ax, 62627 AX = F4A3H
mov ah, 31H AX = 31A3H
mov al, 23H AX = 3123H
add ax, ax AX = 6246H
mov bx, 826CH BX = 826CH
mov cx, ax CX = 6246H
mov ax, bx AX = 826CH
add ax, bx AX = 04D8H
mov al, bh AX = 0482H
mov ah, bl AX = 6C82...
阅读全文 |
评论次数(1) |
浏览次数(435) |
所属类型(汇编作业)
[2009-12-15 14:03] 检测点1.1
检测点1.1
=================
(1) 1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13 。
(2) 1KB的存储器有 1024 个单元。 存储单元的编号从 0 到 1023 。
(3) 1KB的存储器可以存储 8192 个bit,1024 个Byte。
(4) 1GB、1MB、1KB分别是 1073741824、1048576、1024 Byte。
(5) 8080、8088、80286、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为:64(KB)、1(MB)、16(MB)、4(GB)
(6) 8080、8...
=================
(1) 1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13 。
(2) 1KB的存储器有 1024 个单元。 存储单元的编号从 0 到 1023 。
(3) 1KB的存储器可以存储 8192 个bit,1024 个Byte。
(4) 1GB、1MB、1KB分别是 1073741824、1048576、1024 Byte。
(5) 8080、8088、80286、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为:64(KB)、1(MB)、16(MB)、4(GB)
(6) 8080、8...
阅读全文 |
评论次数(2) |
浏览次数(529) |
所属类型(汇编作业)