内存单元间接表示

mov dl, [0] :直接寻址

mov bx, 0
mov dl, [bx]:间接寻址

loop指令

1.语法

loop 标号

2.CPU执行指令过程

① (cx) ← (cx) - 1
② 判断cx的值是否为0。
如果(cx) ≠ 0,跳转到标号处执行;
如果(cx) = 0, 执行loop后面的其它指令。

(常用)

mov cx,次数

...

loop 标号

inc指令

Tips

默认情形下,无论是直接给出的偏移地址,还是通过bx间接给出的偏移地址,都是取ds的值作为段地址来计算物理地址。

可以通过增加「段前缀」改变默认状况。

伪指令

在代码段中用栈

示例:

advantage

① 程序结构清晰
② 对于8086而言,可以使用多个段,解决长度超64KB的限制问题

代码、数据、栈tips

① 使用伪指令segment和ends定义逻辑段后,究竟是用作代码段、数据段还是栈,由程序员指定。
② 使用assume仅仅表示将某个逻辑段和某个段寄存器关联起来;真正当作特定的段使用,需要在代码段中设置相应的段寄存器值,如ds, ss。
③ 段名代表的是段地址,是常数。不能使用mov直接送入段寄存器。

and&or指令

and

and是按位逻辑与,即都为一才赋一

用法:

① and指令语法格式及对操作数要求与add指令同
② 可以实现将操作数指定位设置为0

or

or是按位逻辑或,即有一即赋一

用法:

① or指令语法格式及对操作数要求与add指令同
② 可以实现将操作数指定位设为1

 应用:

字母大小写的转换:

数字字符与数值的转换

其他灵活的内存地址表示

用[bx + idata]表示表示内存单元。idata表示常数。

用[si]表示表示内存单元。
用[si + idata]表示表示内存单元。idata表示常量。

用[di]表示表示内存单元。
用[di + idata]表示表示内存单元。idata表示常量。

用[bx+di], [bx+si]表示表示内存单元。
用[bx+di+idata], [bx+si+idata]表示表示内存单元。

其他

UNIT FIVE TO EIGHT的更多相关文章

  1. ABP(现代ASP.NET样板开发框架)系列之12、ABP领域层——工作单元(Unit Of work)

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之12.ABP领域层——工作单元(Unit Of work) ABP是“ASP.NET Boilerplate Pr ...

  2. ABP源码分析十:Unit Of Work

    ABP以AOP的方式实现UnitOfWork功能.通过UnitOfWorkRegistrar将UnitOfWorkInterceptor在某个类被注册到IOCContainner的时候,一并添加到该类 ...

  3. Failed to stop iptables.service: Unit iptables.service not loaded.

    redhat 7 [root@lk0 ~]# service iptables stop Redirecting to /bin/systemctl stop iptables.service Fai ...

  4. VS2012 Unit Test 个人学习汇总(含目录)

    首先,给出MSDN相关地址:http://msdn.microsoft.com/en-us/library/Microsoft.VisualStudio.TestTools.UnitTesting.a ...

  5. VS2012 Unit Test —— 我对IdleTest库动的大手术以及对Xml相关操作进行测试的方式

    [1]我的IdleTest源码地址:http://idletest.codeplex.com/ [2]IdleTest改动说明:2013年10月份在保持原有功能的情况下对其动了较大的手术,首先将基本的 ...

  6. VS2012 Unit Test——Microsoft Fakes入门

    如题,本文主要作为在VS2012使用Fakes的入门示例,开发工具必须是VS2012或更高版本. 关于Fakes的MSDN地址:http://msdn.microsoft.com/en-us/libr ...

  7. MTU(Maximum transmission unit) 最大传输单元

    最大传输单元(Maximum transmission unit),以太网MTU为1500. 不同网络MTU如下: 如果最大报文数据大小(MSS)超过MTU,则会引起分片操作.   路径MTU: 网路 ...

  8. Simulink Memory vs Unit Delay

    Memoryブロック.Unit Delayブロック共に前回の入力値を出力しますが.動作するタイミングが異なります. ●Memoryブロック シミュレーションの各時刻(ステップ)で動作し.「1ステップ」 ...

  9. GRU(Gated Recurrent Unit) 更新过程推导及简单代码实现

    GRU(Gated Recurrent Unit) 更新过程推导及简单代码实现 RNN GRU matlab codes RNN网络考虑到了具有时间数列的样本数据,但是RNN仍存在着一些问题,比如随着 ...

  10. Unit Testing with NSubstitute

    These are the contents of my training session about unit testing, and also have some introductions a ...

随机推荐

  1. SQL面试题,工作整理sql

    一.数据库和算法   表名:student,name,course,score    张青  语文  72    王华  数学72    张华  英语 81    张青 物理 671.用sql查询出& ...

  2. 2023-03-01 Warning: require(C:\wamp\www\tp5\public../thinkphp/base.php): failed to open stream: No such file or directory in C:\wamp\www\tp5\public\index.php on line 15

    问题描述:拉取thinkphp5项目来运行,按照官网的提示都拉取完仓库后,在浏览器访问localhost/tp5/public报错: Warning: require(C:\wamp\www\tp5\ ...

  3. Go--解析yaml文件

    yaml 文件是目前最常用的配置文件,使用go语言编写代码和工具时,也会用到yaml文件,将服务配置及中间件等信息定义到yaml文件中,后续可根据实际场景来选用. //先下载外部包 go get -u ...

  4. Python学习笔记(五)if分支语句

    一.if语法 示例: 1 money = int(input('请输入余额:')) 2 if money >= 5: 3 print('买得起!') 4 5 if True: 6 print(' ...

  5. pie-engine-ai项目jenkins.yaml文件

    apiVersion: apps/v1kind: Deploymentmetadata: name: jenkins namespace: pie-engine-ai labels: name: je ...

  6. 解决在Android studio的Button控件下background背景设置不起作用的问题

    Button控件默认的背景是深紫色的,有时候会看不清按钮上的文本,显得很不方便,想要修改背景色所以添加了background字段,但是又不起作用!!! 1.找到values文件夹下面的themes文件 ...

  7. 字符串内特殊字符的替换处理,如对\n的替换

    一.对于字符串特殊字符的替换 对于字符串内,\n的处理,如何去掉 s='123,456\n' s1=s.strip('\n') s2=s.replace('\n','') print(s) print ...

  8. 常用的Shell实用脚本

    1.检测两台服务器指定目录下的文件的一致性 #!/bin/bash######################################检测两台服务器指定目录下的文件一致性########### ...

  9. 安装oracle出现环境不满足最低要求

    安装win64_11gR2_database_1of2的时候出现这个,百度了下解决方法 在oracle安装包找到stage文件夹 然后找到cvu 然后在cvu里面找到cvu_prereq,用记事本打开 ...

  10. ABAP链接FTP把txt文件数据获取到内表

    啥都不说,直接上代码 ******* 如果无法链接FTP,可能需要往表SAPFTP_SERVERS加入IP地址和端口(21)即可 DATA:p_host TYPE char64 VALUE 'IP', ...