若怯若愚

大勇若怯,大智若愚

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1. 字单元 : 存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。

               N 字单元 = N 号单元和 N+1 号单元

2. (8086)内存地址由段地址和偏移地址组成。

3. 8086 CPU 中有一 DS 寄存器,即段寄存器,通常用来存放要访问数据的段地址。

4. [...] 表示一个内存单元, 0 表示内存单元的偏移地址。 8086 不支持将数据直接送入段寄存器操作。

1 mov bx, 1000H
2 mov ds, bx
3 mov al, [0]

 

5. 读数据

1 mov 寄存器名, 内存单元地址        ;数据从内存单元到寄存器
2 mov 内存单元地址, 寄存器名        ;数据从寄存器到内存单元

 

将 al 中的数据送入内存单元 10000H

1 mov bx, 1000H
2 mov ds, bx
3 mov [0], al

 

6. 字传送

1 mov bx, 1000H
2 mov ds, bx
3 mov ax, [0]
4 mov [0], cx

 

7. mov 指令形式

1 mov 寄存器, 数据                     ;mov ax, 8
2 mov 寄存器, 寄存器                   ;mov ax, bx
3 mov 寄存器, 内存单元                 ;mov ax, [0]
4 mov 内存单元, 寄存器                 ;mov [0], ax
5 mov 段寄存器, 寄存器                 ;mov ds, ax

 

8. add 指令形式

1 add 寄存器, 数据                     ;add ax, 8
2 add 寄存器, 寄存器                   ;add ax, bx
3 add 寄存器, 内存单元                 ;add ax, [0]
4 add 内存单元, 寄存器                 ;add [0], ax

 

9. sub 指令形式

1 sub 寄存器, 数据                     ;sub ax, 8
2 sub 寄存器, 寄存器                   ;sub ax, bx
3 sub 寄存器, 内存单元                 ;sub ax, [0]
4 sub 内存单元, 寄存器                 ;sub [0], ax

 

10. 数据段

1 mov ax, 123BH
2 mov ds, ax        ;将 123BH 送入 ds 中,作为数据段的段地址
3 mov al, 0         ;用 al 存放累加结果
4 add al, [0]       ;将数据段第一个单元(偏移地址为 0)中的数值加到 al 中
5 add al, [1]       ;将数据段第一个单元(偏移地址为 1)中的数值加到 al 中
6 add al, [2]       ;将数据段第一个单元(偏移地址为 2)中的数值加到 al 中

 

11. 入栈 出栈指令 : PUSH POP

     段寄存器SS, 偏移寄存器SP, 栈顶元素 SS:SP

1 push 段寄存器        ;将一个段寄存器中的数据入栈
2 pop 段寄存器         ;出栈,用一个段寄存器接收出栈的数据
3 push 内存单元        ;将一个内存字单元处的字入栈
4 pop 内存单元         ;出栈,用一个内存字单元接收出栈的数据

 

 

posted on 2010-01-13 16:41  考巴熊  阅读(297)  评论(0编辑  收藏  举报