汇编语言-[bx]和loop指令和多个段
5.1 [BX]和内存单元的描述
要完成描述一个内存单元,需要两种信息:
内存单元的地址:
- 可以用 [0] 表示一个内存单元, 0 表示单元的偏移地址,段地址默认在 ds 中;
- 同样也可以用 [bx] 表示一个内存单元,它的偏移地址在 bx 中;
内存单元的长度(类型):
- 将一个内存单元的内容送入 ax ,这个内存单元的长度就为 2 字节(字单元),存放一个字;
- 将一个内存单元的内容送入 al,这个内存单元的长度就为 1 字节(字节单元),存放一个字节;
5.2 Loop 指令
loop 指令和 cx 相配合实现循环功能的,cx中存放循环的次数。
loop指令的格式是:loop 标号,CPU执行loop指令的时候,要进行两步操作
- (cx)=(cx)- 1;
- 判断 cx 中的值,不为零则转至标号处执行程序,如果为零则向下执行。
其框架为:
mov cx, 循环次数
s:
循环执行的程序段
loop s
5.3 包含多个段的程序
在8086模式限制下如果数据,栈和代码需要的空间超过64KB,就不能放在一个段中,应该把数据,栈和代码放在对应的代码段,栈段,数据段;
例如:
assume cs:code,ds:data,ss:stack
data segment
dw 0001h,0002h,0003h,0004h,0005h,0006h,0007h,0008h ;dw定义字形数据
data ends
stack segment
db 0,0,0,0,0,0,0,0 ;定义字节型数据
stack ends
code segment
start:
mov ax,data ;把数据段地址放入ax
mov ds,ax
mov ax,stack ;把栈段地址放入ax
mov ss,ax
mov sp,18h ;设置栈顶指向18h ,18h = 数据段8个字+栈段8个字节共24字节换成16进制。
mov ax,4c00h
int 21h
code ends
end start ;end除了通知编译器程序结束外,还可以通知编译器程序的入口在什么地方。在这指明了程序的入口在标号 start 处。
汇编语言-[bx]和loop指令和多个段的更多相关文章
- 汇编语言-[BX]和loop指令
汇编语言-[BX]和loop指令 [BX]指令介绍 mov ax,[bx] 功能: bx为偏移地址,段地址默认为ds.因此,上面指令作用就是将ax中的数据送入内存ds:bx处,即:((ds)*16 + ...
- 80806汇编(5)——[BX]和Loop指令
80806汇编(5)--[BX]和Loop指令 已经好久没写点东西了,国庆节就一直想弄个个人网站,这段时间一直在弄那个,虽然有现成的框架(Hexo),但是总想弄出自己的效果来,但是最后还是有些差强人意 ...
- [汇编学习笔记][第五章[BX]和loop指令]
第五章[BX]和loop指令 前言 定义描述性符号“()”来表示一个寄存器或一个内存单元的内容,比如: (ax)表示ax中的内容,(al)表示al的内容. 约定符号ideta表示常量. 5.1 [BX ...
- 王爽汇编第五章,[bx]和loop指令
目录 王爽汇编第五章,[bx]和loop指令 [bx]和loop指令 例子: 王爽汇编第五章,[bx]和loop指令 [bx]和loop指令 [bx]之前我们介绍寄存器的时候,已经很详细的说明过了,b ...
- 小甲鱼零基础汇编语言学习笔记第五章之[BX]和loop指令
这一章主要介绍什么是[BX]以及loop(循环)指令怎么使用,loop和[BX]又怎么样相结合,段前缀又是什么鬼,以及如何使用段前缀. 1.[BX]的概念 [BX]和[0]类似 ...
- 第五章 [BX]和loop指令
5.1 [bx] [bx]是什么 和 [0] 有些类似,[0] 表示内存单元,它的偏移地址是 0. 例如: mov ax, [0] 内存以字节为单位:ax以字(16bit = 2Byte)为单位:al ...
- [bx]和loop指令
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- 汇编:汇编语言实现冒泡排序(loop指令实现)
;=============================== ;循环程序设计 ;loop指令实现 ;冒泡排序 ;for(int i=0;i<N;i++){ ; for(int h=0;j&l ...
- [汇编语言]-第五章[bx]和loop指令
1- [bx]和内存单元的描述 [0]表示内存单元, 他的偏移地址为0 mov ax,[0] 将一个内存单元的内容送入到ax.这个内存单元的长度为2字节(字单元),存放一个字,偏移地址为0,段地址在d ...
随机推荐
- python学习笔记(16)hashlib.md5摘要算法(哈希算法)
一.摘要算法格式 import hashlib #导入hashlib模块 md = hashlib.md5() #获取一个md5加密算法对象 md.update('how to use md5 in ...
- 奇点云COO刘莹应邀出席《APEC SME大数据与人工智能论坛》
10月24日-25日,由亚太经合组织(APEC).韩国中小型及初创企业管理局(the Ministry of SMEs & Startups of Korea)主办的「APEC SME 大数据 ...
- 如何在Windows服务器上新建一个Powershell.ps1的定时任务
背景: 有一些一次性的Powershell脚本,需要我们每次都手动执行一下,为了简化工作,现在我们可以使用Windows自带的计划任务,进行定时执行. 该教程是在Windows Server 2012 ...
- Horizon公司环境
- 对Java8新的日期时间类的学习(一)
引用自Java译站http://it.deepinmind.com/java/2015/03/17/20-examples-of-date-and-time-api-from-Java8.html 除 ...
- hadoop-2.5.2 源码学习1
- Linux下重要文件
1:/etc/sysconfig/network-scripts/ifcfg-ens130 2: /etc/resolv.conf DNS配置文件 3:/etc/hosts 4:/etc/sy ...
- sqlserver开窗函数改造样例
作一个查询的性能优化. 先清缓存 DBCC DROPCLEANBUFFERS DBCC FREEPROCCACHE 原查询 前人遗留. ) ),) select @total=sum(price*pe ...
- python3下scrapy爬虫(第一卷:安装问题)
一般爬虫都是用urllib包,requests包 配合正则.beautifulsoup等包混合使用,达到爬虫效果,不过有框架谁还用原生啊,现在我们来谈谈SCRAPY框架爬虫, 现在python3的兼容 ...
- python2下经典爬虫(第一卷)
python2.7的爬虫个人认为比较经典在此我将会用书中的网站http://example.webscraping.com作为案例 爬虫第一步:进行背景调研 了解网站的结构资源在网站的robots.t ...