原创
已知符号函数 Y= 1 (当X>0), 0 (当X=0),-1 (当X<0)
设任意给定的X(-128≤X≤127)存放在DTX单元,计算函数Y值,要求存放在DTY单元中。
采用分支结构。首先判断X≥0还是X<0,如果X<0,则Y=-1;如果X≥0,则在判断X=0还是X>0,从而确定数值Y。
首先判断X≥0还是X<0,如果X<0,则Y=-1;如果X≥0,则在判断X=0还是X>0,从而确定数值Y。 DATA SEGMENT DTX DB ? DTY DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,DTX CMP AL,0 JGE BGE ;大于等于跳转 MOV AL 0FFH JMP EQ1 BGE: JZ EQ1 ;X==0跳转 MOV AL,1 EQ1: MOV DTY AL MOV AH,4CH INT 21H CODE ENDS END START
自BLOCK开始的内存缓存区中,有100个8位无符号数,求出其中最大值,存入MAX单元。 MOV BX,OFFSET BLOCK MOV AX,[BX] ;取第一个数 MOV CX,99 ;比较99次 INC BX ;指向第二个数 LOOP: CMP AX,[BX] JMP SS MOV AX,[BX] SS: INC BX DEC CX JNZ LOOP MOV MAX,AX HLT
另附:
XOR
XOR AL,AL 时,该指令对指定的两个操作数按位进行逻辑“异或”运算,进行“异或”运算的两位不相同时,“异或”的结果为1,否则为0。
所以会影响到状态位,比如状态位CF,因为一定不会有进位,所以CF=0
16:39:42
2018-12-01