码迷,mamicode.com
首页 > 编程语言 > 详细

《汇编语言》总结02 —— [BX] 和 loop 指令

时间:2017-04-20 17:30:46      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:空间   程序   

[BX]和[0]有些类似,[0]表示内存单元,它的偏移地址是0,同样[BX]也表示一个内存单元,它的偏移地址在BX中。

loop,英文单词“loop”有循环的含义,显然这个指令和循环有关。

我们约定符号idata表示常量,这里有一点需要注意的是不能将一个idata数据直接送入段寄存器中,这是非法操作,我们可以通过将idata数据先暂时放到通用寄存器中,然后再将通用寄存器中的数据mov到段寄存器中。

Debug和汇编编译器masm对指令不同处理:

  1. Debug会将[idata]理解为偏移地址

  2. masm会将[idata]理解为一个实际值idata

段前缀:

指令 mov ax,[bx]

内存单元的偏移地址由bx给出,而段地址默认在ds中,即 mov ax,ds:[bx]

这些出现在访问内存单元的指令中,用于显示地指明内存单元的段地址的“ds:”、“cs:”、“ss:”、“es:”,这些都称之为段前缀。

一段安全的空间:

在一般的PC机中,DOS方式下,DOS和其他合法程序一般都不会使用0:200~0:2ff的256个字节空间,所以,我们称这段空间是安全的。

段前缀的使用:

技术分享

总结完毕!

本文出自 “凡凡不会玩” 博客,请务必保留此出处http://liaofan.blog.51cto.com/12295212/1917697

《汇编语言》总结02 —— [BX] 和 loop 指令

标签:空间   程序   

原文地址:http://liaofan.blog.51cto.com/12295212/1917697

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!