想问一下在调试过程中这些语句的具体含义。
题目:{y=0 x=0;y=x+1 0<x<=10;y=x-1 10<x<=16}程序:
程序代码:
DATAS SEGMENT ;此处输入数据段代码 X DW 16;定义X Y DW ? DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX ;此处输入代码段代码 MOV AX,X CMP AX,0; 判断〉0 JGE LP0;>=0 LP0:CMP AX,0 ;判断<=0 如果小于等于0且大于等于0,即=0 JLE LP4 CMP AX,10;判断AX 10 JG LP1;〉10 JMP LP3 LP3: ADD AX,1 ;X<=10 Y=X+1 JMP out1 LP4: MOV AX,0 JMP out1 LP1:CMP AX,16;判断 JLE LP2; <=16 LP2:SUB AX,1;Y=X-1 JMP out1 out1:MOV Y,AX MOV AH,4CH INT 21H CODES ENDS END START
问题:
调试结果1
想问一下AX=0770 0770是AX的地址吗?
MOV DS,AX 的意思是将AX的段基址存入DS寄存器?
MOV AX,[0000]的意思是给AX一个偏移地址[0000]吗?
DS:0000=0010的意思是这条语句具体意思是什么呢?大概知道是赋值,具体的含义不太懂。
调试结果2
这里JGE 000D是什么意思呢? 我了解这一句的意思应该是判断大于,然后跳转,但是为什么是000D呢