博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第5~8章知识汇总
阅读量:5147 次
发布时间:2019-06-13

本文共 1010 字,大约阅读时间需要 3 分钟。

第五章 [BX]和loop指令

[BX]:bx是一个间接寻址单元,与[0]类似,它可以将一个内存单元的内容送入寄存器中,如mov ax,[bx],[bx]被看作偏移地址,默认的段地址为ds。寄存器如果用ax,则内存单元的长度为2,如果用al,则内存单元的长度为1。

loop:即循环,使用标号以及寄存器cx可以将程序进行循环操作,如

mov cx,3

s:add ax,1

loop s

即可认为s标记的指令被执行了3次

嵌套循环可以用push和pop来保持外层的cx不被内部的cx干扰,如

mov cx,3

s:push cx

add ax,3

mov cx,2

s1:sub ax,1

loop s1

pop cx

loop s

这就是嵌套循环,sub指令总共执行了6次

第六章、包含多个段的程序

db:每个数据占一个字节单位

dw:每个数据占一个字单位即两个字节单位

我们使用不同的段,可以将数据和程序分开存放,让程序更加整洁,并且解决了程序一个段所需空间不能超过64kb的问题.

同时要记住,一个段内的数据所占的空间为 ((N+15)/16)×16,且(N+15)/16取大于等于它的最小整数,原理如下

在8086CPU架构上,段是以paragraph(16-byte)对齐的。程序默认以16字节为边界对齐,所以不足16字节的部分数据也要填够16字节。“对齐”是alignment,这种填充叫做padding。16字节成一小段,称为节

 第七章 更灵活的定位内存地址的方法

两个指令

and:逻辑与,同为1则为1

or:逻辑或,有1则为1

大小写转化,大写小写ASCII相差20h,即32,大写转小写加上32,小写转大写加上32

与bx功能相近寄存器:si,di

idata:表示常量

内存单元可以用[bx+idata]、[bx+si]、[bc+si+idata]等方式表示。

第八章 数据处理的两个基本问题

与bx功能相近的寄存器:si、di、bp

div指令:除法运算

除数:有8位和16位两种,在一个reg或内存单元中。

被除数:默认放在ax或dx和ax中,如果除数为8位,被除数则为16位,默认放在ax寄存器中;如果除数为16位,被除数则为32位,在dx和ax中存放,dx放高16位、ax放低16位

转载于:https://www.cnblogs.com/-Anguvia-/p/10154586.html

你可能感兴趣的文章
基于wxPython的python代码统计工具
查看>>
淘宝JAVA中间件Diamond详解(一)---简介&快速使用
查看>>
一种简单的数据库性能测试方法
查看>>
如何给JavaScript文件传递参数
查看>>
Hadoop HBase概念学习系列之HBase里的宽表设计概念(表设计)(二十七)
查看>>
Kettle学习系列之Kettle能做什么?(三)
查看>>
电脑没有安装iis,但是安装了.NET环境,如何调试网站发布的程序
查看>>
【Mac + GitHub】之在另一台Mac电脑上下载GitHub的SSH链接报错
查看>>
Day03:Selenium,BeautifulSoup4
查看>>
awk变量
查看>>
mysql_对于DQL 的简单举例
查看>>
postgis几何操作函数集
查看>>
35. Search Insert Position(C++)
查看>>
[毕业生的商业软件开发之路]C#异常处理
查看>>
一些php文件函数
查看>>
std::min error C2059: 语法错误:“::” 的解决方法
查看>>
Opencv保存摄像头视频&&各种编码器下视频文件占用空间对比
查看>>
「图形学」直线扫描——Bresenham算法改进了中点Bresenham算法?
查看>>
jQuery 给div绑定单击事件
查看>>
Exceptionless 生产部署笔记
查看>>