硬件&汇编语言 解释简单代码

来源:百度知道 编辑:UC知道 时间:2024/05/17 15:51:53
0923:0000 MOV SP, 10H
0923:0003 M0V AX, 1234H
0923:0006 MOV BX, 3673H
0923:0009 PUSH AX (1)
0923:000A CALL SUBR (2)
0923:000D POP CX
0923:000E MOV AH, 02
0923:000F MOV DL, 35H
0923:0012 INT 21H
0923:0013 INT 3H
0923:0015 SUBR:POP AX
0923:0016 POP CX (3)
0923:0017 SUB CX,BX
0923:0018 PUSH CX
0923:001A PUSH AX (4)
0923:001B RET (5)
希望能够给出每一步骤的详细解释,本人初学。谢谢

我也初学啊,咋一点也看不懂啊。
我们正在学习汇编,没前面的硬件。。
MOV SP, 10H ;将16进制的10放入堆栈段指针中
M0V AX, 1234H ;将1234放入ax
MOV BX, 3673H ;。。。
PUSH AX (1);不是很了解。。
CALL SUBR (2);调用subr子过程
POP CX ;将地址10h的数据出栈
MOV AH, 02
MOV DL, 35H
INT 21H;这里是调用35h中断吗?
INT 3H
SUBR:POP AX
POP CX (3)
SUB CX,BX
PUSH CX
PUSH AX (4)
RET (5)
。。唉太多的不懂了。让你见笑了,有可能说错了,希望共同进步,本来不想回答的,看到到现在了还没有人回答。。。

0923:0000 MOV SP, 10H //本程序不全,其实没实现什么功能,而且有点错误
0923:0003 M0V AX, 1234H
0923:0006 MOV BX, 3673H //这两段只存两个树 ,没什么意思
0923:0009 PUSH AX (1) //下入堆栈
0923:000A CALL SUBR (2) 调用程序
0923:000D POP CX //其实没执行
0923:000E MOV AH, 02
0923:000F MOV DL, 35H
0923:0012 INT 21H
0923:0013 INT 3H
0923:0015 SUBR:POP AX//到这开始执行
0923:0016 POP CX (3) 这把一个未知的数弹出
0923:0017 SUB CX,BX //减
0923:0018 PUSH CX //压入
0923:001A PUSH AX (4)
0923:001B RET (5)