找第一个非0元素的位置

DATA SEGMENT
ARR DB 0,0,34H,56H,89H,0
CNT EQU $-ARR
RES DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BEGIN: MOV AX,DATA
MOV DS,AX
XOR AX,AX
MOV CX,CNT
MOV BX,0
NEXT: CMP ARR[BX],0
JNZ NEXT1
INC BX
LOOP NEXT
JNZ EXIT ;如果ZF不等于0即相比都不相等
NEXT1: MOV RES,BL
EXIT: ADD BL,31H
MOV DL,BL
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END BEGIN

 

找第一个非0元素的位置,布布扣,bubuko.com

时间: 2024-12-23 18:59:20

找第一个非0元素的位置的相关文章

hdu 1066 Last non-zero Digit in N! (数论——n!中的最后一个非0数字)

Last non-zero Digit in N! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6432    Accepted Submission(s): 1593 Problem Description The expression N!, read as "N factorial," denotes the pro

1142: 零起点学算法49——找出数组中最大元素的位置(下标值)

1142: 零起点学算法49--找出数组中最大元素的位置(下标值) Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 1937  Accepted: 977[Submit][Status][Web Board] Description 找出数组中最大的元素的下标. Input 多组测试,每组先输入一个不大于10的整数n 然后是n个整数 Output 输出这n个整数中最大的元素及下标值 Sample I

汇编--查找第一个非0字符的五种方法

第一种 #include <windows.h> #include <stdio.h> void main(void) { int m = 0, cout = 0; char cStr2Find[1024] = {0}; printf("请输入一段字符串"); scanf("%s", cStr2Find); __asm{ pushad; //保存所有寄存器 lea esi,cStr2Find; //esi指向查找字符串 xor ecx,ecx

Python中怎样统计两个向量对应位置的非0元素个数??

首先看看矩阵中.A操作的结果 1 >>> a=mat([[1,2,3],[2,3,0]]); 2 >>> a 3 matrix([[1, 2, 3], 4 [2, 3, 0]]) 5 >>> a.A 6 array([[1, 2, 3], 7 [2, 3, 0]]) 8 >>> shape(a) 9 (2, 3) 10 >>> shape(a.A) 11 (2, 3) 12 >>> type(a)

位运算取第一个非0的位 r &amp; (~(r-1))

Single Number III Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once. For example: Given nums = [1, 2, 1, 3, 2, 5], return [3, 5]

Problem B: 零起点学算法81——找出数组中最大元素的位置(下标值

#include<stdio.h> int main(void) { int n,a[10],i,max; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) scanf("%d",&a[i]); max=0; for(i=1;i<n;i++) { if(a[max]<a[i]) max=i; } printf("%d %d",a[max],max); prin

c语言题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点

1 //题目:找出一个二维数组的"鞍点",即该位置上的元素在该行上最大,在该列上最小.也可能没有鞍点. 2 // 3 #include "stdio.h" 4 #include <stdlib.h> 5 int main() 6 { 7 int i,j,k,hang=1,lie=1; 8 printf("输入行"); 9 scanf("%d",&hang); 10 printf("输入列"

位运算-异或运算-只出现一次的数字-给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 示例: 输入: [2,2,1] 输出: 1 输入: [4,1,2,1,2] 输出: 4 GO: func singleNumber(nums []int) int { var num int for i := 0; i < len(nums); i++ { num = num ^ nums[i]; } return num; } PHP: class Solution { /** * @par

17、把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1. NOTE:给出的所有元素都大于0,若数组大小为0,请返回0. eg: 输入 3 4 5 1 2 输出 1 思路:用二分法查找最小元素 三种情况: (1)rotateArray[mid] >rotateArray[high]: like:[x,x,x,6,x,x,2],此时最小数字一