编程题-微机原理与接口

简介: 9.编程统计 BUF 内存区若干个有符号数中正数、负数、零的个数并保存到相对应的结果单元。DATA SEGMENTBUF DB 10,20,0,0,0,-10,-20,-30,-40,-50COUNT EQU $-BUFZS_COUNT DB 0FS_COUNT DB 0LS_COUNT DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFMOV CX,COUNTXOR DL,DL;初始化正数个数XOR DH,DH;初始化负数个数XO

9.编程统计 BUF 内存区若干个有符号数中正数、负数、零的个数并保存到相对应
的结果单元。
DATA SEGMENT
BUF DB 10,20,0,0,0,-10,-20,-30,-40,-50
COUNT EQU $-BUF
ZS_COUNT DB 0
FS_COUNT DB 0
LS_COUNT DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET BUF
MOV CX,COUNT
XOR DL,DL;初始化正数个数
XOR DH,DH;初始化负数个数
XOR AH,AH;初始化零的个数
AGAIN:MOV AL,[BX]
CMP AL,0
JG ZS;如果是正数,则跳转
JL FS;如果是负数,则跳转
INC AH
JMP NEXT
ZS:INC DL
JMP NEXT
FS:INC DH
NEXT:INC BX
LOOP AGAIN
MOV ZS_COUNT,DL;保存正数结果
MOV FS_COUNT,DH;保存负数结果
MOV LS_COUNT,AH;保存零的结果
MOV AH,4CH
INT 21H
CODE ENDS
END START
10.把内存 2000H 单元中 10 个有符号字节数分成正数和负数,分别存入 P 和 N
单元,并分别统计正数和负数的个数放入 DL 和 DH 寄存器中,请编程实现。
DATA SEGMENT
ORG 2000H
BUF DB 2,5,-6,7,-8,9,12,22,-17,19
P DB 10 DUP(?) ;存正数
N DB 10 DUP(?) ;存负数
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA BX,BUF
LEA SI,P
LEA DI,N
MOV DL,0 ;统计正数
MOV DH,0 ;统计负数
MOV CX,10
AGAIN:MOV AL,[BX]
CMP AL,0
JGE P1
MOV [DI],AL ;负数时存入 N 单元
INC DH ;负数时统计存入 DH
INC DI
JMP NEXT
P1:MOV [SI],AL ;正数时存入 P 单元
INC DL ;正数时统计存入 DL
INC SI
NEXT:INC BX
LOOP AGAIN
MOV AH,4CH
INT 21H
CODE ENDS
END START

相关文章
|
芯片 内存技术
第八章 可编程接口芯片及应用【微机原理】1
第八章 可编程接口芯片及应用【微机原理】1
129 0
第八章 可编程接口芯片及应用【微机原理】1
|
存储 芯片
第六章 半导体存储器【微机原理】2
第六章 半导体存储器【微机原理】2
844 0
|
存储 芯片 内存技术
第六章 半导体存储器【微机原理】1
第六章 半导体存储器【微机原理】1
352 0
|
芯片
第八章 可编程接口芯片及应用【微机原理】2
第八章 可编程接口芯片及应用【微机原理】2
211 0
|
存储 程序员
《微机原理与接口技术》简答题总结(一)
《微机原理与接口技术》简答题总结
682 0
《微机原理与接口技术》简答题总结(一)
第六章 半导体存储器【微机原理】3
第六章 半导体存储器【微机原理】3
99 0
第四章 80x86指令系统【微机原理】
第四章 80x86指令系统【微机原理】
67 0
|
芯片
第八章 可编程接口芯片及应用【微机原理】3
第八章 可编程接口芯片及应用【微机原理】3
70 0
|
存储 芯片
微机原理基础知识
微机原理基础知识
247 0
|
芯片
汇编语言与微机接口课程设计-多功能电子钟
汇编语言与微机接口课程设计-多功能电子钟
327 0
汇编语言与微机接口课程设计-多功能电子钟