当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

汇编语言的排序问题

更新:12-25 整理:39baobao.com
字体:

[汇编语言程序题 2]1. DAI DB 83H,72H,61H,94H,5AH MOV CX,WORD PTR DAI AND CX,0FH MOV AL,DAI+3 SHL AL,CL 上述指令序列执行后,AL=_____A0____,CL=_____03_____。 2.STRING DB 'COMPUTER','$...+阅读

;运行时注意:每个不超过3个字符的十进制数以回车结束,一组十进制数以空格结束,即当输入空格时,就会在屏幕上显示结果。 DSEG SEGMENT ;数据段:在此处添加程序所需的数据 number dw 80 dup (?) count dw ? DSEG ENDS CSEG SEGMENT assume cs:CSEG, ds:DSEG MAIN PROC FAR ;主程序入口 mov ax, dseg mov ds, ax ;此处添加主程序代码 call input;从键盘输入一组十进制数(每个数不超过3个字符),存于数组number中 call sort;将该组数按升序排序 call disp;将结果送显示器显示 ;按任意键退出 mov ah,1 int 21h ;程序结束,返回到操作系统系统 mov ax, 4c00h int 21h MAIN ENDP input proc lea si,number next: mov bx, 0 mov cx,3 newchar: mov ah, 1;键盘输入,每个数据以回车结束 int 21h cmp al,20h;全部数据以空格结束 jz tj sub al, 30h jl exit ; <0退出 cmp al, 9 jg exit ; >9退出 cbw xchg ax, bx mov cx, 10 mul cx xchg ax, bx add bx, ax loop newchar exit: call crlf inc count mov [si],bx add si,2 jmp next tj:ret input endp sort proc mov cx,count dec cx loop1: mov di,cx mov bx,0 loop2: mov ax,number[bx] cmp ax,number[bx+2] jle continue xchg ax,number[bx+2] mov number[bx],ax continue: add bx,2 loop loop2 mov cx,di loop loop1 ret sort endp disp proc mov cx,count lea si,number repeat1: mov bx,[si] mov di,100d call dec_div mov di,10d call dec_div mov di,1d call dec_div call crlf add si,2 loop repeat1 ret disp endp dec_div proc near mov ax,bx mov dx,0 div di mov bx,dx mov dl,al add dl,30h mov ah,2 int 21h ret dec_div endp crlf proc near mov dl,0ah mov ah,2 int 21h mov dl,0dh mov ah,2 int 21h ret crlf endp CSEG ENDS END MAIN

本文地址:https://www.39baobao.com/show/29_15200.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

C语言字母排序问题#include#include/*string包含gets,puts,strlen函数*/ void main() { char n[500];/*定义具有五百个字符的数组n,可以根据字符串的长度适当调整*/ int i,j,x,temp; printf("输入...

C语言对一个字符串中字母的排序问题#include #include #include int vowel(char *, char *); main() { char input[100]; char output[100]; scanf("%s",input); printf("input is %s\n", input); vowel(input, ou...

用C语言编写一个将若干单词按字母排序的程序请各位高手帮忙//--------------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <ctype.h> #define FILENAME "c:\\a.t...

C语言 26个字母的冒泡排序从Z到A冒泡排序,按照你说的亲自写好了 你看下满意吗? #include <stdio.h> #include <stdlib.h> #include <string.h> void BubbleSort(char *pData, int Count) { int i, j, f...

C语言由键盘输入十个整数按从大到小和从小到大分别输出排序这是你需要的东西!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! #include<stdio.h> void main() { int a[10]={0},i,j,temp; printf("请输入10个数字\n"); for (i=0;i<10;i++) { scanf("%d",&a[i]); } for (i=0;...

C语言选择法排序任意输入十个数:从大到小从小到大#include "stdlib.h" #include "stdio.h" void select_sort(int data[],int start_index,int data_num) {//start_index:数组开始的下标 data_num:数据的数目 int temp; int min_i...

C语言将10个数按从大到小排序帮忙看看拿哪错了 include#include<stdio.h> int main() { float arr[10],x; int i,j; for(i=0;i<10;i++) { scanf("%f",&arr[i]); } for(i=0;i<10;i++) { for(j=9;j>i;j--) { if(arr[i]<arr[j]) { x=a...

求单片机汇编语言排序程序哪位高手帮帮忙呀ORG 0000H LJMP 2000H ORG 2000H ;原址排序 ;比较片内RAM30H,31H,32H三个单元数的大小 ;并把数据按照从大到小的顺序又存入30H,31H,32H单元中 MAIN: MOV SP,#80H MOV R2,#2 ;假...

IBMPC汇编语言求排序程序data segment num dw 20 dup(?);存输入数列 i dw 0 ;数列个数 max dw ? min dw ? char1 db 'The maximum number is:$' char2 db 0dh,'The minimum number is:$' char3 db 0dh,'...