求微机原理一段程序 输入7个数字 输出最大值 最小值 中值求微机原理一段程序 从键盘输入7个数字,输出最大值,最小值,中值用的是8086芯片就是 MOV DX,0FFFH 这样的

来源:学生作业学帮网 编辑:学帮网 时间:2024/05/14 17:30:46

求微机原理一段程序 输入7个数字 输出最大值 最小值 中值
求微机原理一段程序 从键盘输入7个数字,输出最大值,最小值,中值
用的是8086芯片
就是 MOV DX,0FFFH
这样的

; 本程序通过编译,运行正确
Code Segment
Assume CS:Code,DS:Code
; -----------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法:Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -----------------------------------------
; 功能:输出一个字符
; 入口:dl=要显示的字符
enter_Chr proc Near
push ax
mov ah,02h
int 21h
pop ax
ret
enter_Chr endp
; -----------------------------------------
; 功能:从键盘输入N位数字
; 入口:N=数字位数;di=保存输入的数字首地址
Input_Digit Proc Near
push cx
push di
cld
mov cx,N
@@Input:mov ah,1
int 21h
cmp al,'0'
jb @@Input
cmp al,'9'
ja @@Input
stosb
loop @@Input
pop cx
pop di
ret
Input_Digit EndP
; -----------------------------------------
; 对数组元素无符号降序排序
Bubbling Proc Near
PUSH AX
PUSH CX
PUSH SI
PUSH DI
CLD
MOV CX,Elements ;外循环次数
@@Scanning:PUSH CX ;入栈保存外循环次数
LEA SI,Number ;数组首地址装入源变址寄存器
@@Compare:PUSH SI
POP DI ;当前数组元素地址赋给目的变址寄存器,以备交换之用
LODSB ;将当前数组元素读入AL
CMP AL,[SI] ;当前数组元素与相邻的下一个数组元素相比较
JAE @@NextOne ;若大于或等于,不作数据交换,处理下一个数组元素
XCHG AL,[SI] ;若小于,交换数组元素
STOSB ;保存数值较大者
@@NextOne:LOOP @@Compare ;处理下一个数组元素
POP CX ;外循环次数出栈
LOOP @@Scanning ;下一趟比较
POP DI
POP SI
POP CX
POP AX
RET
Bubbling EndP
; -----------------------------------------
N equ 7
PromptStr db 'Please Enter ',N or 30h,' digitals:$'
Max_Num db 13,10,13,10,'The maximum is $'
Mix_Num db 13,10,13,10,'The miximum is $'
Mid_Num db 13,10,13,10,'The midoule is $'
Number db N dup(?)
Elements EQU ($-Number)/Type Number-1 ; 外循环次数
Start:push cs
pop ds
push cs
pop es ;使数据段、附加段与代码段同段
Output PromptStr ;提示输入7个数字
lea di,Number ;数字存放地址
call Input_Digit ;从键盘接受指定位数的数字
call Bubbling ;无符号数降序排序
Output Max_Num ;最大值
mov dl,Number ;取最大值
call enter_Chr ;显示最大值
Output Mix_Num ;最小值
mov dl,Number[6] ;取最小值
call enter_Chr ;显示最小值
Output Mid_Num ;中值
mov dl,Number[3] ;取中值
call enter_Chr ;显示中值
Exit_Proc:mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束

求微机原理一段程序 输入7个数字 输出最大值 最小值 中值求微机原理一段程序 从键盘输入7个数字,输出最大值,最小值,中值用的是8086芯片就是 MOV DX,0FFFH 这样的 2个16位无符号数相加 显示结果(微机的) 求程序 汇编语言 微机原理的 在微机原理中有这样的话”输入与输出同相,输入与输出反相” 在内存BLOCK开始处存放3到10个无符号字节数,从中找出最大数送入MAX单元中这是微机原理中的题,求程序 求微机原理实现A/D转换的程序? 求一个程序:输入一个整数,将各位数字反转后输出 用C语言写程序 ,输入N个数字,打印其中的最大数和最小数的位置,如果有相同的数字,输出最早出现的那一个要求:输入第一行一个数N;第二行N个数,用空格隔开.输出输出一行,两个数,第一个数 求java程序:输入N个正整数,按升序排列输出,并计算最大正整数与最小数的阶层.输入N个正整数,按升序排列输出,并计算最大正整数与最小数的阶层.怎么用java程序实现?求全程序!是在窗口中输 求labview大神帮忙编个小程序.有一串数字,比如 3.8 5.6 7.9 11.6 23.5 .我输入5.6,那么输出结果2;如果我输入11.6,那么输出结果4.也就是能输出 输入数字的序号. 设计1个程序,任意输入三个数字a,b,c,将他们按照从小到大排列顺序后输出 写个程序,输入四个数字,判断能否用 -*/使得结果为24,并输出表达式.(即算24) 用java语言试编写一个程序,输入5个数据,输出其中最大数并输出该最大数在这5个数中的序号老大门 求下面微机原理程序的说明解释,就是各个语句的功能文字说明? 微机原理实验------模拟温度测量软件设计!在线求程序,你懂的 求《微机原理》习题答案 写出c程序:输入20个整数,求3个最大值和3个最小值,输出结果 求一个计算机程序C语言的,要求输入一个两位数字输出其每一位的数字和每一位数字的和(例:输入28,输出2,8,sum=10) 编制程序要求输入整数a和b,若 大于100,则输出 百位以上的数字,否则输出两数之和.求C语言!