统计正数、负数和零的个数 (汇编语言)

设有100个有符号数,连续存放在外部RAM中从1000好地址开始的区域,编程统计其中的正数、负数和零的个数,并分别存放在内部RAM 的20H, 21H, 22H单元中。

第1个回答  推荐于2016-04-18
CLR A
MOV 20H, A
MOV 21H, A
MOV 22H, A
MOV DPTR, #1000
MOV R2, #100
_LOOP:
MOVX A, @DPTR
JNZ _Z_F
INC 22H
JMP _NEXT
_Z_F:
JNB ACC.7, _Z
INC 21H
JMP _NEXT
_Z:
INC 20H
_NEXT:
INC DPTR
DJNZ R2, _LOOP

SJMP $

END本回答被提问者采纳

...编写程序分别统计正数的个数、负数的个数和0的个数
N DB 50 DUP(?)LL EQU $-N Z DB 0 ;正数个数 F DB 0 ;负数个数 L DB 0 ;0的个数 ..MOV CX,LL MOV BX,OFFSET N NEXT:MOV AL,[BX]CMP AL,0 JG BE_Z JL BE_F INC L JMP E1 BE_Z:INC Z JMP E1 BE_F:INC F E1:INC BX LOOP NEXT ;结束 ...

汇编语言程序设计题求高手
1.编写一个程序实现:在BUF开始的存储区中存放30个带符号数,试统计其正数、负数和零的个数,并将统计的个数分别放到PLUS、NEGATIVE、ZERO单元中。; 本程序通过编译,运行正确 Code Segment Assume CS:Code,DS:Code BUF db 23,-69,0,35,46,0,57,68,0,79,81,98,-43,251,21,15,-69,0,5...

如何用汇编语言判断一组数据正负并统计其正数和负数的总个数,再放到...
COUNT_NUM_0 DATA 30H ;存放0的个数 COUNT_NUM_P DATA 31H ;存放正数个数 COUNT_NUM_N DATA 32H ;存放负数个数 ORG 0000H AJMP MAIN ORG 0100HMAIN: MOV A,#0 MOV 31H,A MOV 32H,A MOV 33H,A MOV R7,#30;这组数据总个数,假设有30个 MOV R0,#00...

[编程]关于汇编语言的负数的表示以及运算
所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。1、原码、反码和补...

C语言 输入10个数,统计正数,负数及零的个数并输出正数累加和与个数...
i=j=k=0; \/*i,j,k分别用来统计正数,负数和零的个数*\/ suma=sumb=0; \/*suma,sumb分别用来计算正数和负数的和*\/ do{ \/*循环体的内容是输入数据后,判断再累加*\/ scanf("%d",&a);if(a>0) {i++; suma+=a;} \/*正数*\/ else if(a<0) { j++; sumb+=a; } \/*负数*...

汇编语言的数据统计
AX CMP AL,0 JG @M1 JL @M2 INC ZERO JMP @MM @M1: INC POSITIVE JMP @MM @M2: INC NEGATIVE @MM: LOOP @M0

汇编语言统计负数的个数
DATA ENDS CODE SEGMENT START:MOV AX, DATA MOV DS, AX SUB BX, BX LEA SI, NUM MOV CX, LEN LP:TEST BYTE PTR [SI], 80H ;让[SI]中的数的符号位和1000 0000B相与,如果结果不是0,那么代表是负数,反之,正数 JZ OVER ;结果为0,跳转到OVER INC BX ;不为0, BX加1,...

...H为首地址的存储区中,编程统计奇数和偶数的个数 用汇编语言...
汇编程序如下:Zero EQU 42H ;零的统计 Negetive EQU 41H ;负数的统计 Positive EQU 40H ;正数的统计 Count EQU 100 ;比较个数 ORG 0000H LJMP MAIN ORG 0040H Data_Filter:PUSH PSW ;函数调用时的现场保护 PUSH ACC MOV Zero,#0 MOV Negetive,#0 MOV Positive,#0 MOV R2,#0 MOV DPTR,#...

编程统计一组数据中正数、负数和零的个数
data segment count equ 10 number db count dup(?)n db 0 p db 0 z db 0 data ends code segment assume cs:code,ds:data start:mov ax,data mov ds,ax mov si,0 mov cx,count next:cmp number[si],0 jg dy jl xy inc z jmp next1 dy:inc p jmp next1 xy:inc n next1:i...

求一个简单的汇编语言程序
Elements equ ($-BUF)\/Type BUF ;元素个数 Plus db 0 ;正数计数 Negative db 0 ;负数计数 Odds db 0 ;奇数计数 Evens db 0 ;偶数计数 Start: push cs pop ds push cs pop es ;使数据段、附加段与代码段同段 ; 有10个实数,要求程序能够统计共有多少个正数,多少个负数,以及有多少个...

相似回答