| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1219 人关注过本帖
标题:由于正在学单片机,之前没有接触过汇编语言,请高手帮帮解释这段代码
只看楼主 加入收藏
lavigne927
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-3-22
收藏
 问题点数:0 回复次数:3 
由于正在学单片机,之前没有接触过汇编语言,请高手帮帮解释这段代码
DATA EQU 20H
N EQU 8
ISRT:
MOV DPTR,#LIST
MOV R0,#DATA
MOV R2,#N
CPY:
CLR A
MOVC A,@A+DPTR
MOV @R0,A
INC R0
INC DPTR
DJNZ R2,CPY
LCALL INSSORT
STOP:
LJMP STOP
LIST:
DB 53H,87H,12H,9AH
DB 2FH,3CH,0A8H,0BCH
INSSRT:
MOV R3,#1
MOV R2,#N‐1
LOOP0:
MOV A,R3
MOV R4,A
ADD A,#DATA
MOV R0,A
DEC A
MOV R1,A
MOV B,@R0
LOOP1:
MOV A,@R1
SETB C
SUBB A,B
JC LOOP2
MOV A,@R1
MOV @R0,A
DEC R0
DEC R1
DJNZ R4,LOOP1
LOOP2:
MOV @R0,B
INC R3
DJNZ R2,LOOP0
RET

老师让我们每行都要写注释,我们都没学过汇编,请高手指点,谢谢!
搜索更多相关主题的帖子: 单片机 汇编语言 代码 解释 
2008-03-22 13:50
zkkpkk
Rank: 2
等 级:论坛游民
威 望:5
帖 子:489
专家分:28
注 册:2006-6-17
收藏
得分:0 
我只知道是ARM CPU

Viva,espana!
2008-03-23 10:08
zkkpkk
Rank: 2
等 级:论坛游民
威 望:5
帖 子:489
专家分:28
注 册:2006-6-17
收藏
得分:0 
DATA EQU 20H    ;宏定义  相当于C的#define DATA 32
N EQU 8         ;宏定义  
ISRT:           ;ISRT段
MOV DPTR,#LIST  ;把LIST的段地址送入DPTR寄存器吧
MOV R0,#DATA    ;把DATA送入R0寄存器,MOV R0,20h
MOV R2,#N       ;MOV R2,8
CPY:            ;CPY段
CLR A           
MOVC A,@A+DPTR
MOV @R0,A
INC R0          ;[R0]++
INC DPTR        ;[DPTR]++
DJNZ R2,CPY     
LCALL INSSORT
STOP:
LJMP STOP
LIST:
DB 53H,87H,12H,9AH
DB 2FH,3CH,0A8H,0BCH
INSSRT:
MOV R3,#1
MOV R2,#N‐1
LOOP0:
MOV A,R3
MOV R4,A
ADD A,#DATA
MOV R0,A
DEC A
MOV R1,A
MOV B,@R0
LOOP1:
MOV A,@R1
SETB C
SUBB A,B
JC LOOP2
MOV A,@R1
MOV @R0,A
DEC R0
DEC R1
DJNZ R4,LOOP1
LOOP2:
MOV @R0,B
INC R3
DJNZ R2,LOOP0
RET

其他你自己对着看吧,我们只教8086PC机汇编和我自学过点WIN32汇编,ARM不懂

Viva,espana!
2008-03-23 10:18
lavigne927
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-3-22
收藏
得分:0 
回复 3# 的帖子
谢谢啊~我也不知道是不是什么ARM的.但是这个代码好像是排序的啊.是不是啊
2008-03-24 19:25
快速回复:由于正在学单片机,之前没有接触过汇编语言,请高手帮帮解释这段代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018321 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved