汇编网首页登录博客注册
benfeizhuzi的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
文章收藏
友情链接

[2009-12-18 16:38] PSP

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 ...
阅读全文 | 评论次数(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) | 浏览次数(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) | 浏览次数(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的初始指向就是指令“...
阅读全文 | 评论次数(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有四个完...
阅读全文 | 评论次数(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无论...
阅读全文 | 评论次数(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) | 浏览次数(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...
阅读全文 | 评论次数(2) | 浏览次数(529) | 所属类型(汇编作业)