基础-4

2017-01-19  本文已影响0人  秣崖

【BX】

接下来讲解的一些规定:

括号中指其内存地址对应的数据 idata为常数

LOOP

1,CX=CX-1

2,判断CX中的值,为零则向下执行,否则就转到标签程序处。

3,在DEBUG调试程序的时候可以通过G命令设置断点,如

-G 0012 //从cs段的0012偏移处开始追踪

4,DEBUG模式下在循环中,-p命令让程序自动完成循环。(-g亦可)

DEBUG和MASM对指令的不同处理

mov ax,[0]     :

在bebug中正常处理

在masm会被当作 mov ax,0进行处理------》可以通过

mov ax,ds:[0]//这种显式表达来访问相应地址的数据  

同时注意,当mov ax,[bx]这种情况时均正常,取BX中地址对应的内存数据给ax.

当然可以用显式的方式指定取址时的段寄存器(段地址);

半字节数据相加与越位问题

可以通过:

mov al,ds:[0]  //设置使用位

mov ah,0  //设置空位

add dx,ax  //使用全位(扩展)向(累加)寄存器添加数据

这里的0在循环体里是一个递增的寄存器idata: 相关指令:inc bx;

一般情况下0:200~02ff这段空间为可操作的安全空间

reference: <汇编语言>王爽

上一篇下一篇

猜你喜欢

热点阅读