• 实现正负数区分#跳转指令


    题目要求大意:

      在数据段指定一组数据,对该组数据进行:正负分类,分别记下两类的绝对值之和与个数只和

    参考代码:

    include irvine32.inc
    .data
    	arr dd 0,-1,1,-2,2,-3,3
    	count dd ($-arr)/4
    	sum1 dd 0
    	sum2 dd 0
    	cou1 dd 0
    	cou2 dd 0
    	I dd -1
    	;1表示正记录,2表示负记录
    .code
    main PROC
    	lea esi,arr
    	mov ecx,0
    	
    	;把每个数据取出
    lop:	mov ebx,[esi+4*ecx]
    	add ecx,1
    
    	;判断正负数
    	cmp ebx,0
    	jl L1			;本来用neg编译错误	;跳到负数情况
    
    	add sum1,ebx		;正数情况
    	add cou1,1
    	jmp next
    
    L1:	add sum2,ebx
    	add cou2,1
    	jmp next
    
    next:	cmp ecx,count
    	jb lop
    	mov eax,sum2
    	imul I			;带符号乘法
    	mov sum2,eax
    ;11111111111111111111111111111111111111111111111111111111111111
    	mov eax,666666
    	call writeint
    	push eax
    	mov eax,sum2		;11111111111111test
    	call writeint		;11111111111111
    	pop eax
    	push eax
    	mov eax,cou2		;11111111111111test
    	call writeint		;11111111111111
    	pop eax
    	push eax
    	mov eax,sum1		;11111111111111test
    	call writeint		;11111111111111
    	pop eax
    	push eax
    	mov eax,cou1		;11111111111111test
    	call writeint		;11111111111111
    	pop eax
    	mov eax,9999999
    	call writeint
    ;2222222222222222222222222222222222222222222222222222222222222222
    	
    	exit
    main ENDP
    end main

    跳转指令:

    (该部分来自:https://www.cnblogs.com/del/archive/2010/04/16/1713886.html)

    JE   ;等于则跳转
    JNE  ;不等于则跳转
    
    JZ   ;为 0 则跳转
    JNZ  ;不为 0 则跳转
    
    JS   ;为负则跳转
    JNS  ;不为负则跳转
    
    JC   ;进位则跳转
    JNC  ;不进位则跳转
    
    JO   ;溢出则跳转
    JNO  ;不溢出则跳转
    
    JA   ;无符号大于则跳转
    JNA  ;无符号不大于则跳转
    JAE  ;无符号大于等于则跳转
    JNAE ;无符号不大于等于则跳转
    
    JG   ;有符号大于则跳转
    JNG  ;有符号不大于则跳转
    JGE  ;有符号大于等于则跳转
    JNGE ;有符号不大于等于则跳转
    
    JB   ;无符号小于则跳转
    JNB  ;无符号不小于则跳转
    JBE  ;无符号小于等于则跳转
    JNBE ;无符号不小于等于则跳转
    
    JL   ;有符号小于则跳转
    JNL  ;有符号不小于则跳转
    JLE  ;有符号小于等于则跳转
    JNLE ;有符号不小于等于则跳转
    
    JP   ;奇偶位置位则跳转
    JNP  ;奇偶位清除则跳转
    JPE  ;奇偶位相等则跳转
    JPO  ;奇偶位不等则跳转
    个人分享,欢迎指导,未经允许,请勿转载。谢谢!
  • 相关阅读:
    lua 取table长度
    [转] 理解 LSTM 网络
    [转]An Intuitive Explanation of Convolutional Neural Networks
    [转]How rival bots battled their way to poker supremacy
    【转】Principles of training multi-layer neural network using backpropagation
    [转]霍夫丁不等式与真实的机器学习
    [转]PLA算法总结及其证明
    jinja2 宏的简单使用总结(macro)
    Python 装饰器
    PYTHON REQUESTS的安装与简单运用
  • 原文地址:https://www.cnblogs.com/hello-OK/p/8724521.html
Copyright © 2020-2023  润新知