ASSUME CS:CODE, DS:DATA
DATA SEGMENT
NUM DB 9, -1, -2, 8, 123, 17, -23, -78, -56 ;5个负数
LEN EQU $ - NUM
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, BX在这里是记录负数的个数的
OVER:INC SI
LOOP LP
MOV AX,4C00H
INT 21H
CODE ENDS
END START
效果图
PS:若有不明白的地方, 可以追问
追问你好,谢谢你的答案,那个有比这个简单点的么,语句少点的,麻烦了
追答这个已经很简化了。。。。
追问OK
多少都可以
汇编语言统计负数的个数
LP:TEST BYTE PTR [SI], 80H ;让[SI]中的数的符号位和1000 0000B相与,如果结果不是0,那么代表是负数,反之,正数 JZ OVER ;结果为0,跳转到OVER INC BX ;不为0, BX加1, BX在这里是记录负数的个数的 OVER:INC SI LOOP LP MOV AX,4C00H INT 21H CODE ENDS END START ...
用单片机汇编语言求:1、统计一串数据中正数负数的个数(不包括零)
用单片机汇编语言求:1、统计一串数据中正数负数的个数(不包括零) 2…找出一串数据的正数(或者负数)并从片外RAM传送到片内RAM wo3561758 | 浏览1959 次 |举报 我有更好的答案推荐于2017-12-16 09:04:58 最佳答案 ORG 0000H LJMP 0100H ORG 0100H MOV R7,#06HMOV R0,#30H MOV R1,#00H;存放小于...
[编程]关于汇编语言的负数的表示以及运算
负数:负数的补码则是符号位为“1”,数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。
汇编语言 求负数个数 并输出个数
先将这100个数放进一个连续的内存区域(堆栈就挺好用的) 然后用loop循环 逐个取出 放入一个空闲的寄存器 将其值与0比较 小于零的话 将某个设置用来计数的寄存器值加1 最后输出其值就行
如何用汇编语言判断一组数据正负并统计其正数和负数的总个数,再放到...
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...
...51汇编语言,统计片内RAM 30H~40H单元中负数的个数,将结果存放在50H...
start:mov R1,#30h ;指向数据存储首地址 mov R2,#10h ;数据个数 mov R0,#50h ;结果存放单元 mov @R0,#0h ;结果存放单元清零 lp2:mov a,@R1 ;字节数据的最高位=1 则表示为负值 rlc a ;jnc lp1 inc @R0 ;为负值时结果单元加一 lp1:inc R1 ;指向下一个数据...
...编写程序分别统计正数的个数、负数的个数和0的个数
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 ;结束 ...
...的字数组table中的负数取绝对值,并统计负数的个数存放入count中(将...
y+di],' ' jmp disp1dispexit: mov ah,9 lea dx,y int 21h rety db 10,13,0,0,0,0,0,'$'dispnum endpcode ends end start(1)将每个数和0比较,统计负数;(2)对负数用求补(neg)指令得到其绝对值;(3)写一个子程序显示正数(用10进制)
汇编语言程序设计题求高手
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,...
汇编语言的数据统计
AX CMP AL,0 JG @M1 JL @M2 INC ZERO JMP @MM @M1: INC POSITIVE JMP @MM @M2: INC NEGATIVE @MM: LOOP @M0