汇编语句的解释!
CLD的意思是,标志位清0.我不大清楚用法!RET是什么意思?ENDP是什么意思?(END,ENDS我知道!)...
CLD的意思是,标志位清0.我不大清楚用法!RET是什么意思?ENDP是什么意思?(END,ENDS我知道!)
展开
4个回答
展开全部
cld是清(方向标志寄存器)0,清0的话,指针就是想正的方向移动.
RET是子程序返回指令,ENDP是过程结束指令
一般是这样的格式是:
BILL PROC
.........
RET
BILL ENDP
RET是子程序返回指令,ENDP是过程结束指令
一般是这样的格式是:
BILL PROC
.........
RET
BILL ENDP
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Ret是返回指令,子程序执行完成后要返回主程序,这个过程由返回指令实现
ENDP是结束伪指令,格式如下:
PN PROC [NEAR]/[FAR]
.
.
.
PN ENDP
ENDP是结束伪指令,格式如下:
PN PROC [NEAR]/[FAR]
.
.
.
PN ENDP
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
asm
OR
CL,CL
//判断CL是否为0
JNZ
@CvtLoop
//若CL为0跳至XX*
@C1:
OR
EAX,EAX
//判断EAX是否为0
JNS
@C2
//同上*
NEG
EAX
//使EAX取负数
CALL
@C2
//调用XX
MOV
AL,'-'
//将'-'赋给AL
INC
ECX
//ECX加1
DEC
ESI
//ESI减1
MOV
[ESI],AL
//将AL中的'-'值赋给DS:[ESI]处的地址
RET
//返回,相当于C中的return
0
@C2:
MOV
ECX,10
//将10赋给ECX
@CvtLoop:
PUSH
EDX
//EDX入栈
PUSH
ESI
//ESI入栈
@D1:
XOR
EDX,EDX
//将EDX清零
DIV
ECX
//EDX(0)做高位,EAX做低位,除以ECX,商放入EAX,余数放入EDX
DEC
ESI
//ESI减一
ADD
DL,'0'
//将DL加上48
CMP
DL,'0'+10
//判断DL和'10'谁大
JB
@D2
//若DL<'10'则跳至XX
ADD
DL,('A'-'0')-10
//将DL加7,因为DL>'10'
@D2:
MOV
[ESI],DL
//赋值,(以下赋值,调用,转移均不解释)
OR
EAX,EAX
//同第一行,下不解释
JNE
@D1
POP
ECX
//ECX出栈,与下一行结合恢复调入前的EDX,ECX
POP
EDX
SUB
ECX,ESI
//减法运算,(以下四则运算不解释)
SUB
EDX,ECX
JBE
@D5
ADD
ECX,EDX
MOV
AL,'0'
SUB
ESI,EDX
JMP
@z
@zloop:
MOV
[ESI+EDX],AL
@z:
DEC
EDX
//用EDX的值递减来进行判断循环体zloop是否结束,相当于C中的for
JNZ
@zloop
MOV
[ESI],AL
@D5:
整个意思其实很简单,就是做一个运算将数字转换为ASCII码放入内存
OR
CL,CL
//判断CL是否为0
JNZ
@CvtLoop
//若CL为0跳至XX*
@C1:
OR
EAX,EAX
//判断EAX是否为0
JNS
@C2
//同上*
NEG
EAX
//使EAX取负数
CALL
@C2
//调用XX
MOV
AL,'-'
//将'-'赋给AL
INC
ECX
//ECX加1
DEC
ESI
//ESI减1
MOV
[ESI],AL
//将AL中的'-'值赋给DS:[ESI]处的地址
RET
//返回,相当于C中的return
0
@C2:
MOV
ECX,10
//将10赋给ECX
@CvtLoop:
PUSH
EDX
//EDX入栈
PUSH
ESI
//ESI入栈
@D1:
XOR
EDX,EDX
//将EDX清零
DIV
ECX
//EDX(0)做高位,EAX做低位,除以ECX,商放入EAX,余数放入EDX
DEC
ESI
//ESI减一
ADD
DL,'0'
//将DL加上48
CMP
DL,'0'+10
//判断DL和'10'谁大
JB
@D2
//若DL<'10'则跳至XX
ADD
DL,('A'-'0')-10
//将DL加7,因为DL>'10'
@D2:
MOV
[ESI],DL
//赋值,(以下赋值,调用,转移均不解释)
OR
EAX,EAX
//同第一行,下不解释
JNE
@D1
POP
ECX
//ECX出栈,与下一行结合恢复调入前的EDX,ECX
POP
EDX
SUB
ECX,ESI
//减法运算,(以下四则运算不解释)
SUB
EDX,ECX
JBE
@D5
ADD
ECX,EDX
MOV
AL,'0'
SUB
ESI,EDX
JMP
@z
@zloop:
MOV
[ESI+EDX],AL
@z:
DEC
EDX
//用EDX的值递减来进行判断循环体zloop是否结束,相当于C中的for
JNZ
@zloop
MOV
[ESI],AL
@D5:
整个意思其实很简单,就是做一个运算将数字转换为ASCII码放入内存
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询