用51汇编语言 怎样将8组双字节数据进行排序

如题所述

第1个回答  2017-03-12
SUM: MOV R0,#buffer MOV R1,#svm MOV R2,#5 LOOP: MOV R1,#svm MOV A,@R0 ADD A,@R1 MOV @R1,A INC R0 INC R1 MOV A,@R0 ADDC A,@R1 MOV @R1,A INC R1 MOV A,@R1 ADDC A,@R1 MOV @R1,A DJNZ R2,LOOP INC R0 RET

用51汇编语言 怎样将8组双字节数据进行排序
SUM: MOV R0,#buffer MOV R1,#svm MOV R2,#5 LOOP: MOV R1,#svm MOV A,@R0 ADD A,@R1 MOV @R1,A INC R0 INC R1 MOV A,@R0 ADDC A,@R1 MOV @R1,A INC R1 MOV A,@R1 ADDC A,@R1 MOV @R1,A DJNZ R2,LOOP INC R0 RET ...

汇编语言 将0116转换为双字节16进制数,高字节存入21H,低字节存入22H
是要转换为十六进制数还是十六进制字符串,若是数字就直接输入即可,因为存储为二进制,所以本身就是”十六进制数“。不转换时...mov ax,116 out 21h shr ax,8 out 22h

51单片机的编程问题?
1:C51编译器如何区分位地址和字节地址 是靠预定义实现的,比如:sfr P0 = 0x80; sbit P0_0 = 0x80;前者声明了P0端口地址位于0x80,后者说明了P0端口的bit0,即P0.0位于位地址空间0x80处。这2个0x80具有完全不同的含义,靠关键字sfr和sbit来区别。这样当程序被编译时,编译器会依此编译成相应...

超高分请教一道汇编语言编程问题
数据1 数据2 数据3 XXX XXX ……数据10sort end output date:依序排列的10个数最高悬赏只能加到200 囧 追答 please interput a nuber: 数据1 数据2 数据3 XXX XXX ……数据10 如果在原来的程序上改成这种格式的话,那么程序的"输入程序段"和"排序程序段"需要重写. 我只改了输出而已,这个好实现 代码已...

51单片机做科学计算器的c语言程序
为便于读者使用本程序库,先将有关约定说明如下:1.双字节定点操作数:用[R0]或[R1]来表示存放在由R0或R1指示的连续单元中的数据,地址小的单元存放高字节?如果[R0]=1234H,若(R0)=30H,则(30H)=12H,(31H)=34H?2.二进制浮点操作数:用三个字节表示,第一个字节的最高位为数符,其余七位为阶码(补码形式),...

用汇编语言设计一个程序,求10个无符号数中的最大值。并将最大值存入变 ...
以上是数据定义。以下是代码:MOV CX,10 ;循环次数MOV BX,OFFSET N ;第一个数的地址MOV AL,[BX] ;将第一个数认为是最大的NEXT:CMP AL,[BX] ;比较JA L1MOV AL,[BX] ;如果有更大的数则更新ALL1:INC BX ;指向下一个数LOOP NEXT ;循环比较MOV MAX,AL ;保存最大值到MAX hnhhww | 发布于2011-12...

用汇编语言定义一个缓冲区后,键盘输入一个由20个字符组成的字符串,如何...
用汇编语言定义一个缓冲区后,键盘输入一个由20个字符组成的字符串,如何让其输出为每四个字符一行 5 BUF 定义为字节的缓冲区,它的起始偏移地址为 66H,我想把 0DH放入第四个字节中,用MOV BUF[X],0DH ,X该为69H还是03H呢海风0522 | 浏览1598 次 |举报 我有更好的答案...

机器语言(二进制或十六进制)是如何转成汇编语言(英语)的? 能不能转成...
也就是说,51单片机里共N种功能,第X种功能是***。而在80x86汇编里,更加复杂的汇编指令其实也都是按顺序组织好的“数字”,比如ADD指令,按照其操作码的不同(比方说目标操作符是Ax还是Bx),从B8开始有数个标号都属于Add指令。汇编时,我们写的代码都是助记符也就是诸如Add,Mov这样的指令,而...

使用MCS-51汇编语言,统计片内RAM 30H~40H单元中负数的个数,将结果存放...
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 ;指向下一个数据...

关于王爽的汇编语言的加减乘除指令
以上运算可以用两条指令实现: MOV AH,01 ADD AH,7FH ADC指令主要用于多字节或多精度数据相加的运算。 例如进行二组四字节(双精度)数1122 3344H和5566 7788H的相加运算时,使用单字节加法指令需要执行4次加法运算,运算过程中,通过ADC指令将低字节运算产生的进位加到高位字节,而使用字加法指令...

相似回答