标签:
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]的联合应用
标签:
原文地址:http://www.cnblogs.com/superzhao/p/4611300.html