欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

【汇编语言】记录一组数中负数的个数,8086与MIPS汇编程序

发布时间:2023/11/30 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【汇编语言】记录一组数中负数的个数,8086与MIPS汇编程序 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题目及解答

统计由DATA开始的字节数据串中负元素的个数,数据个数在COUNT单元,统计结果存入RLT单元。

8086汇编:

; 统计数字中负数的个数【循环中加了个if else】 assume ds:datasg datasg segmentdata db 1,-2,-3,-1,-4,0,-2 count dw 7 ; 数组有8个数字plr dw ? ; 数字为负数的个数datasg endsassume cs:code code segment start:mov ax,datasgmov ds,axmov dl,0 ; 暂存数据mov ax,0 ; 记录负数个数mov bx,offset data ; 遍历数组mov cx,counts:; 判断是否 <0mov dl,[bx]cmp dl,0jl ok ; < 0jmp no ; >= 0ok:inc axno:inc bxloop smov plr,axmov ax,4c00hint 21h code ends end start

MIPS汇编

.datanumArray: .byte -2,-3,-4,-6,8,0,-2arrayCount: .word 7 # 数组大小plr: .space 32 # 负数的个数.text .globl main main:la $t2,numArray # 数组首地址li $t3,0 # 存放负数的个数lw $t0,arrayCount # 循环次数li $t1,0 # 相当于for循环的int i = 0s:lb $s0,($t2)blt $s0,0,okj nook:addi $t3,$t3,1no:addi $t2,$t2,1addi $t1,$t1,1 # i = i + 1blt $t1,$t0,ssw $t3,plr # 写回内存exit:li $v0,10syscall

总结

以上是生活随笔为你收集整理的【汇编语言】记录一组数中负数的个数,8086与MIPS汇编程序的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。