分类 computer science 计算机科学 下的文章

bjmayor发布于2021-09-10

5.[BX]和loop指令-汇编8086-读书笔记5

[BX]和loop指令

[BX]

就是间接寻址。

[0] 表示 偏移地址为0

[BX] 表示内存的偏移地址 存放在BX寄存器中。

mov ax, [bx] # (ax) = ((ds)*16+(bx))

有一点需要说明:

在源程序中使用 mov ax, [0] 会被MASM编译器 编译成move ax,0, 所以不得不借助于bx寄存器。

mov bx,0
mov ax, [bx]

阅读全文»

bjmayor发布于2021-09-10

nat介绍

来自公众号:网络技术平台

[TOC]

初识 NAT

IP 地址分为公网地址私有地址公网地址有 IANA 统一分配,用于连接互联网;私有地址可以自由分配,用于私有网络内部通信。

图片

随着互联网用户的快速增长,2019 年 11 月 25 日全球的公网 IPv4 地址已耗尽。在 IPv4 地址耗尽前,使用 NAT( Network Address Translation )技术解决 IPv4 地址不够用的问题,并持续至今。

NAT 技术的是将私有地址转换成公网地址,使私有网络中的主机可以通过少量公网地址访问互联网。

但 NAT只是一种过渡技术,从根本上解决问题,是采用支持更大地址空间的下一代 IP 技术,即 IPv6 协议,它提供了几乎用不完的地址空间。

阅读全文»

bjmayor发布于2021-09-06

3.寄存器(内存访问)-汇编8086-读书笔记3

寄存器(内存访问)

内存中字的存储

内存是连续的单元,一个单元存放一个Byte, 8位。

譬如从0~10000, 0就叫低地址,10000 就叫高地址。

那么要存一个16位的字,就需要两个内存单元,譬如0和1.

其中低地址存放低位字节,高地址存放高位字节。

譬如 数字 20000(4E20H)

4E是高位字节, 20是地位字节,加入存放在0和1 两个内存单元中。

那么0存放的是20, 1存放的是4E.

读数据是 4E 20

内存 编号是 1 0 。 这里有点反知觉(读数据时 是 4E20, 读编号是0,1,2,3,4,5,有点反过来的感觉)。得换个角度想, 内存编号 从右往左。。数据的字节方向 也是从右往左。

阅读全文»

bjmayor发布于2021-09-06

2.寄存器-汇编8086-读书笔记2

寄存器

cpu: 运算器、控制器、寄存器。

通用寄存器

AX,BX,CX,DX

8086的CPU寄存器

寄存器 作用 说明
AX 通用寄存器,存放一般性数据。为了兼容老版的8为寄存器,又分为了AH和AL
BX 通用寄存器,存放一般性数据。
CX 通用寄存器,存放一般性数据。
DX 通用寄存器,存放一般性数据。
SI
DI
SP 栈的偏移地址
BP
IP 指令指针寄存器
CS 代码段寄存器。 code stack。指向指令
SS 段寄存器。stack stack。指向栈顶的段地址。SS:SP 指向栈顶元素。
DS 段寄存器。 data stack 。指向数据。 mov AX, [0], 转移内存中的值时,DS指定内存的段地址。
ES 段寄存器
PSW

阅读全文»

bjmayor发布于2021-09-06

1.基础知识-汇编8086-读书笔记1

《汇编语言》 王爽。 讲的是8086CPU。

基础知识

机器语言

就是一串的0、1的二进制

汇编语言的诞生

就是机器指令的助记符。

程序员编写汇编语言-》编译器-》机器码-》CPU执行。

汇编语言的组成

汇编语言由以下3类组成:

  1. 汇编指令(机器码的助记符,和机器码 一一对应)
  2. 伪指令 (由编译器执行)
  3. 其他符号 (由编译器识别)

核心是汇编指令。

阅读全文»