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

我的博客

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

[2010-07-14 21:01] 汇编语言——第七天

1.[bx]和内存单元的描述
    要完整地描述一个内存单元,需要两种信息:一、内存单元的地址;二、内存单元的长度(类型)。
    [bx]表示一个内存单元,它的偏移地址在bx中。
    loop有循环的含义,这个指令和循环有关。
    约定符号idata表示常量,如mov ax,[idata]代表mov ax,[1]、mov ax,[2]
                             mov bx,idata代表mov bx,1、mov bx,2
                             这些都是非法指令。
    inc bx的含义是bx中...
阅读全文 | 评论次数(0) | 浏览次数(882) | 所属类型(汇编笔记)

[2010-07-11 15:16] 推荐博文 汇编语言——第六天

1.一个源程序从写出到执行的过程
    编写汇编源程序——对源程序进行编译连接——执行可执行文件中的程序
2.源程序
    在汇编语言源程序中,包含两种指令,一种是汇编指令,一种是伪指令。汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终为CPU所执行。而伪指令没有对应的机器指令,最终不被CPU所执行。而是由编译器来执行,根据伪指令来进行相关的编译工作。
    segment和ends是一对成对使用的伪指令。这事在写可被编译器编译的汇编程序时,必须要用到的一对伪指令。segment和ends的功能是定义一个短,segment说明一个段开始,ends说明一个段的结束。一个段...
阅读全文 | 评论次数(24) | 浏览次数(46581) | 所属类型(汇编笔记)

[2010-07-10 20:29] 检测点3.2

(1)
mov ax,1000H
mov ds,ax
————————
mov ax,2000H
mov ss,ax
mov sp,10H
————————
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
(2)
mov ax,2000H
mov ds,ax
————————
mov ax,1000H
mov ss,ax
mov sp,0H
————————
pop [E]
pop [C]
pop [A]
pop [8]
pop [6]
po...
阅读全文 | 评论次数(1) | 浏览次数(662) | 所属类型(汇编作业)

[2010-07-10 20:20] 汇编语言——第五天

1.栈
    栈有两个基本的操作:入栈和出栈。入栈就是将一个新的元素放到栈顶,出栈就是从栈顶取出一

个元素。栈顶的元素总是最后入栈,需要出栈时,又最先被从栈中取出。栈的这种操作规则被称为:

LIFO(Last In First Out)。
2.CPU提供的栈机制
    8086CPU提供入栈和出栈指令,最基本的两个是PUSH(入栈)和POP(出栈)。在8086CPU中,有

两个寄存器,段寄存器SS和寄存器SP,栈顶的段地址存放在SS中,偏移地址存放在SP中,让人一时刻

,SS:SP指向栈顶元素。push指令和pop指令执行时,CPU从SS和SP中得到栈顶的地址...
阅读全文 | 评论次数(0) | 浏览次数(833) | 所属类型(汇编笔记)

[2010-07-09 23:44] 汇编语言——第四天

1.内存中字的存储
    由于内存单元是字节单元,所以一个字要用两个连续的内存单元来存放,低位字节放在低地址单元中,高位字节放在高地址单元中。
    字单元:即存放一个字型数据(16位)的内存单元,由两个连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。
    任何两个地址连续的内存单元,N号单元和N+1号单元,可以将它们看成两个内存单元,也可堪称一个地址为N的字单元中的高位字节单元(N+1)和低位字节单元(N)。
2.DS和[address]
    CPU要读写一个内存单元的时候,必须先给出这个内存单元的地址,在8086CP...
阅读全文 | 评论次数(2) | 浏览次数(1372) | 所属类型(汇编笔记)

[2010-07-09 23:43] 检测点3.1

(1) 在Debug中,用“d 0:01f”查看内存,结果如下。
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 2C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。
mov ax,1
mov ds,ax
mov ax,[0000]    AX=2662H
mov bx,[0001]    BX=E626H
mov ax,bx        AX=E626H
mov ...
阅读全文 | 评论次数(1) | 浏览次数(649) | 所属类型(汇编作业)

[2010-07-08 19:43] 实验1 查看CPU和内存,用极其指令和汇编指令编程

Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用它,可以查看CPU各种寄存其中的内容、内容的情况和在机器码级跟踪程序的运行。

Debug部分指令

-r 查看、改变CPU寄存器的内容 例:查看CPU寄存器(r);修改某一寄存器如ax(r ax)输入指令后enter,在:后面输入要写入的数据

-d 查看内存中的内容 格式(d 段地址:偏移地址)例:内存10000H处的内容:d 1000:0 debug将列出从指定单元内存开始的128个内存单元的内容;在一进入debug,用D命令查看,将列出debug预设的地址处的内容,接着使用D命令,可列出后续...
阅读全文 | 评论次数(0) | 浏览次数(974) | 所属类型(汇编笔记)

[2010-07-08 15:00] 检测点2.3

下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx IP+2
sub ax,ax IP+2
jmp ax    IP+2 IP=0000

所以总共修改了四次IP
最后IP中的值是0...
阅读全文 | 评论次数(2) | 浏览次数(669) | 所属类型(汇编作业)

[2010-07-08 14:59] 汇编语言——第三天

1.段寄存器
    当8086CPU要访问内存时由CS(code segment)、DS(data segment)、SS(stack segment)、ES(extra segment)这4个段寄存器提供内存单元的段地址。        
2.CS和IP
    CS(代码段寄存器)和IP(指令指针寄存器)是8086CPU中两个最关键的寄存器,它们指示了CPU当前要读取指令的地址。
    8086机中,任意时刻,CPU将CS:IP指向的内容当作指令执行。
8086CPU的工作过程简要描述如下:
(1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
(2)IP=IP+所读取...
阅读全文 | 评论次数(0) | 浏览次数(1079) | 所属类型(汇编笔记)

[2010-07-06 23:48] 检测点2.2

(1)给定段地址为0001H,仅通过变化便宜地址寻址,CPU的寻址范围为__00010H__到__1000FH__.
 因为段地址为0001H,所以基础地址为00010H,而一个段的长度最大为64KB时,寻址方位最大为1000FH。
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到次单元。则SA应满足的条件为:最小为_1001H_,最大为_2000H_。
 最大地址为:SA*10H+0H=20000H—>SA=2000H
 最小地址为:SA*10H+FFFFH=2000H—>SA*10H=10001H(不是16的倍数)
 则SA*10H=10010H...
阅读全文 | 评论次数(1) | 浏览次数(670) | 所属类型(汇编作业)
页码数(3):  1  2  3