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

汇编语言:第五章 [BX]和loop指令

时间:2015-06-30 20:21:35      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

1.[bx]与内存单元

  [bx]是指 段地址在DS中,偏移地址在bx中的内存单元

2.loop

  用于描述循环

3.我们定义的描述性符号 "()"

  寄存器:  (ax/al)表示ax/al寄存器中的内容

  段寄存器:   ((ds)*16+(bx))表示段地址为ds内容,偏移地址为bx内容的内存单元的内容

  内存单元:   (20000H)表示20000H内存单元中的内容

4.约定符号idata表示常量

mov ax,idata  表示mov ax,1  mov ax,2  等

mov ax,[idata]  表示mov ax,[1]   mov ax,[2]   等

段寄存机不可用这种方式mov

 

5.1[BX]

mov ax,[bx]  把ds内容作为段地址,bx内容作为偏移地址的2个内存单元内容放到ax中

mov [bx],ax  把ax内容放到ds内容作为段地址,bx内容作为偏移地址的2个内存单元中

5.2 loop指令

格式: loop 标号

loop执行步骤:1.(cx)=(cx)-1   2.判断cx,不是0则转到标号位置执行

例:计算2的12次方

assume cs:code

code segment

mov ax,2

mov cx,11

s:add ax,ax

loop s

code ends

end

5.3用debug跟踪loop指令

debug 1.exe

-r

-t

-t

..

-p (int 21H用p执行)

1.如果想直接跳到CS:XX位置处执行用 -g XX

2.如果想在循环中跳出,即结束循环后停下等待-t,  使用-p命令

5.4 Debug和汇编编译器对指令的不同处理

  同一指令:

  mov ax,[0] 在debug中表示把DS:0和DS:1的内存单元内容放到ax中

        在masm中等于  mob ax,0

  如何解决汇编源程序问题 :

  1. mov bx,0     mov ax,[bx]

  2. mov ax,DS:[0]

5.5 Loop和[bx]的联合应用

 

汇编语言:第五章 [BX]和loop指令

标签:

原文地址:http://www.cnblogs.com/superzhao/p/4611300.html

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