巅峰王座 发表于 2017-11-9 14:36:33

没看懂代码,求详细解释,谢谢!

本帖最后由 巅峰王座 于 2017-11-9 14:42 编辑

         MOV           BX,1000
         MOV           CX,10
         SUB           AX,AX
LOP: ADD           AL,
         ADC           AH,0
         INC                   BX
J:        LOOP           LOP
         INT                   3

最后面的INT 3是什么意思,这段代码的循环次数是计数器CX = 10 次吗?

用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址),这个操作没看懂,希望告知操作,并详细说明一下!

3-3 发表于 2017-11-9 14:45:14

MOV      BX,1000
MOV      CX,10    //循环次数
SUB      AX,AX //AX初值为0
LOP: ADD      AL,//将ds: 与al相加
ADC      AH,0//将 上一句加法中产生的进位加到ah中,
INC      BX//将bx加1
J:      LOOP      LOP//循环,跳到lop处
INT      3//调用3号中断

巅峰王座 发表于 2017-11-9 14:55:31

3-3 发表于 2017-11-9 14:45
MOV      BX,1000
MOV      CX,10    //循环次数
SUB      AX,AX //AX初值为0


INT 3 是指断点中断(用于DEBUG)吗?

问题:用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址)
这个问题是中的BX:CX是什么意思?是指BX比上CX的值为程序长度值吗?

3-3 发表于 2017-11-9 15:09:49

**:** 是描述物理地址的形式, 没有 BX:CX,只有少数寄存器是段寄存器。 建议你先把相关知识看一看。
页: [1]
查看完整版本: 没看懂代码,求详细解释,谢谢!