汇编语句的解释!

CLD的意思是,标志位清0.我不大清楚用法!RET是什么意思?ENDP是什么意思?(END,ENDS我知道!)... CLD的意思是,标志位清0.我不大清楚用法!RET是什么意思?ENDP是什么意思?(END,ENDS我知道!) 展开
 我来答
百度网友1c400cd
2009-04-10 · TA获得超过765个赞
知道小有建树答主
回答量:419
采纳率:100%
帮助的人:316万
展开全部
cld一般在串操作时用的,用来设定串的顺序。比如说下面这几句
mov cx,16
cld
rep mosb 表示将从ds:si开始到ds:(si+15)这16个字节搬到es:di开始的内存中去。如果把cld改成std则表示将从ds:si开始到ds:(si-15)这16个字节搬到es:di开始的内存中去。
ret表示子程序返回,endp是伪指令,表示子程序结束
wojiushia1
2009-04-10
知道答主
回答量:39
采纳率:0%
帮助的人:15万
展开全部
cld是清(方向标志寄存器)0,清0的话,指针就是想正的方向移动.
RET是子程序返回指令,ENDP是过程结束指令
一般是这样的格式是:
BILL PROC
.........
RET
BILL ENDP
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水中月07012035
2009-04-10 · 超过21用户采纳过TA的回答
知道答主
回答量:234
采纳率:0%
帮助的人:0
展开全部
Ret是返回指令,子程序执行完成后要返回主程序,这个过程由返回指令实现
ENDP是结束伪指令,格式如下:
PN PROC [NEAR]/[FAR]
.
.
.
PN ENDP
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
何皎孔音仪
2019-09-30 · TA获得超过3550个赞
知道大有可为答主
回答量:3158
采纳率:32%
帮助的人:225万
展开全部
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码放入内存
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式