汇编语言-[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 ...
随机推荐
- html为什么用雪碧图的优缺点
CSS Sprite(雪碧图/精灵图) 1 概念解释 将小图标和背景图像合并到一张图片上,然后利用css的背景/定位来显示需要显示的图片部分. 2 优点 ① 减少 ...
- CHI 2013:人机交互领域那些令人兴奋的新技术
2013:人机交互领域那些令人兴奋的新技术" title="CHI 2013:人机交互领域那些令人兴奋的新技术"> 编者按:CHI是人机交互领域首屈一指的国际盛会, ...
- jQuery性能优化与技巧
1.使用最新版本的jQuery类库 jQuery的每一个新的版本都会较上一版进行Bug修复和一些优化,同时也会包含一些创新,所以建议使用最新版本的jQuery来提高性能,需要注意的是在更换版本之后,要 ...
- 吴裕雄 python 神经网络——TensorFlow 卷积神经网络水果图片识别
#-*- coding:utf- -*- import time import keras import skimage import numpy as np import tensorflow as ...
- 新iPhone又要提价,苹果靠什么基业长青?
在股神巴菲特一番煽情言论之后,苹果股价再创新高,达到187.67美元,总市值约为9450亿美元,正大踏步向着1万亿美元市值的目标前进,这是一条科技.经济.财经.社会等领域的头条新闻,遭到全球各界人士的 ...
- 蒲公英Ghost Win 7 Sp1(x86/x64)旗舰版 201910
蒲公英Ghost Win 7 Sp1(x86/x64)旗舰版 201910 <ignore_js_op> <ignore_js_op> <ignore_js_op> ...
- echart封装,前端简单路由,图表设置自动化
https://github.com/cclient/EhartDemoSetByAngular 后端node.js 前端插件 echart,jquery,jqueryui,datapicker,an ...
- iphone开发学习之路--基本语法
关键字:Objective-C(以下简称O-C)是C语言的一个超集,也就是C语言的语法O-C都是兼容的,所以为了避免冲突O-C的关键字都是以@符号开始的,比如:@class.@public .@try ...
- 将tomcat注册成windows系统服务方法
注册服务 打开cmd,进入到[部署tomcat的根目录]Tomcat7.0.65_1/bin,输入 service.bat install 服务名 修改服务名称 比如我注册的 service.ba ...
- string删除与查找erase,find
s.erase( 指针位置 , 删除长度 ) 返回值修改后的string对象引用 find(string, int):第一个参数用来指示要查找的字符,第二个参数用来表示从字符串的何处开始查找子串(默认 ...