汇编一行代码很费解!求解~~
时间:2010-11-30
来源:互联网
下面是代码! 这句不明白~~
MOV DX,0FFFEH ;最小偶数
为什么0FFFEH是最小的偶数??不是最大吗?费解~~
DSEG SEGMENT
DATA DW 1,2,3,4,5,6,7,8,9,0AH,55H ;共100DH个数
DSEG ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,DS:DSEG
start: PUSH DS
MOV AX,0
PUSH AX
MOV AX,DSEG
MOV DS,AX
MOV DX,0FFFEH ;最小偶数
MOV CX,11
LEA BX,DATA
NEXT: MOV AX,[BX]
CMP AX,DX
JNB NEXT1 ;比最小的偶数大,转下一步
TEST AX,1
JNZ NEXT1 ;是奇数,转下一步
MOV AX,[BX]
MOV DX,AX ;更小的偶数存入DX
NEXT1: INC BX
INC BX
LOOP NEXT
MOV AX,DX
RET
MAIN ENDP
CODE ENDS
END MAIN
作者: jiafeimao6 发布时间: 2010-11-30
作者: masmaster 发布时间: 2010-11-30
这不是最小偶数,而是最大偶数。寻找最小值时,先给表示结果的变量一个很大的初值,逐个比较,遇到比当前值小的就换成这个更小的值,循环完后,结果是数组中最小的那个。
若不这样,要先取第一个做初值,再对剩下的循环。程序的整齐程度就不如前面的方法了。
作者: shzhfu 发布时间: 2010-11-30
求出首地址为DATA的100DH字数组重的最小偶数
下面是代码! 这句不明白~~
MOV DX,0FFFEH ;最小偶数
为什么0FFFEH是最小的偶数??不是最大吗?费解~~
DSEG SEGMENT
DATA DW 1,2,3,4,5,6,7,8,9,0AH,55H ;共100DH个数
DSEG ENDS
CODE SEGMENT
MAIN PROC FA……
作者: jiafeimao6 发布时间: 2010-11-30
作为有符号数来说,他就是最小的, 应为MSB为1,表示负
作者: jiafeimao6 发布时间: 2010-11-30
MOV DX,0FFFEH
这不是最小偶数,而是最大偶数。寻找最小值时,先给表示结果的变量一个很大的初值,逐个比较,遇到比当前值小的就换成这个更小的值,循环完后,结果是数组中最小的那个。
若不这样,要先取第一个做初值,再对剩下的循环。程序的整齐程度就不如前面的方法了。
作者: jiafeimao6 发布时间: 2010-11-30
从总体来看这个程序有问题,如果是有符号数用JNB就不妥了,逻辑似乎也有问题了.
作者: nanlingcg 发布时间: 2010-11-30
0FFFEH有符号数=(-2)
从总体来看这个程序有问题,如果是有符号数用JNB就不妥了,逻辑似乎也有问题了.
很对!用JNB就应该换成最大正偶数7FFFH=32766,若用0FFFFH则应该表示最大无符号偶数(65534),后面就要用JNL
作者: shzhfu 发布时间: 2010-11-30
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28