c语言中的swap是什么意思?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 10:59:29
c语言中的swap是什么意思?

c语言中的swap是什么意思?
c语言中的swap是什么意思?

c语言中的swap是什么意思?
SWAP 寄存器 高低半字节交换
实在需要的话 ,去下载个《汇编解释程序》试试.
EOC BIT P2.0 ;EOC BIT,接口2第0位
STA BIT P2.1 ;STA BIT,接口2第1位
CLK BIT P2.2 ;CLK BIT,接口2第2位
OE BIT P2.3 ;OE BIT,接口2第3位
ALE BIT P2.4 ;ALE BIT,接口2第4位
ORG 0 ;此部分为主程序 定义当前位置为
LJMP MAIN ;长转移到 MAIN
ORG 000BH ;定义当前位置为 000BH
CPL CLK ;取反 CLK
RETI ;中断返回
MAIN:MOV TMOD,#02H ;传送 TMOD,立即数02H
MOV TH0,#56 ;传送 TH0,立即数56
MOV TL0,#56 ;传送 TL0,立即数56
SETB EA ;位-置1 EA
SETB ET0 ;位-置1 ET0
SETB TR0 ;位-置1 TR0
CLR A ;清0 寄存器A
MOV 30H,A ;传送 30H,A
MOV 31H,A ;传送 31H,A
MOV 32H,A ;传送 32H,A
CLR P2.7 ;清0 接口2第7位
CLR P2.6 ;清0 接口2第6位
CLR P2.5 ;清0 接口2第5位
CLR ALE ;清0 ALE
NOP ;空操作
SETB ALE ;位-置1 ALE
NOP ;空操作
CLR ALE ;清0 ALE
NOP ;空操作
LOOP:CLR STA ;清0 STA
NOP ;空操作
SETB STA ;位-置1 STA
NOP ;空操作
CLR STA ;清0 STA
NOP ;空操作
LOP1:ACALL DISP ;绝对调用 DISP,
JNB EOC,LOP1 ;位为0转移到 EOC,LOP1
MOV A,P0 ;传送 寄存器A,接口0
MOV 32H,A ;传送 32H,寄存器A
ACALL CHAN ;绝对调用 CHAN
SJMP LOOP ;短转移到 LOOP
CHAN:MOV A,32H ;此部分为数据转换程序 传送 寄存器A,32H
ANL A,#0F0H ;逻辑-与 寄存器A,立即数0F0H
SWAP A ;A高低半字节交换 寄存器A
MOV 30H,A ;传送 30H,寄存器A
MOV A,32H ;传送 寄存器A,32H
ANL A,#0FH ;逻辑-与 寄存器A,立即数0FH
MOV 31H,A ;传送 31H,寄存器A
MOV A,32H ; 传送 寄存器A,32H
MOV B,#51 ;传送 B,立即数51
DIV AB ;无符号除法 AB
MOV 30H,A ;传送 30H,寄存器A
XCH A,B ;字节交换 寄存器A,B
MOV B,#5 ;传送 B,立即数5
DIV AB ;无符号除法 AB
MOV 31H,A ;传送 31H,寄存器A
RET ;子程序返回
DISP:MOV DPTR,#TAB ;此部分为显示程序 传送 DPTR,立即数TAB
MOV A,30H ;传送 寄存器A,30H
MOVC A,@A+DPTR ;程序存储器-读 寄存器A,A+DPTR指向的单元的内容
CLR ACC.7 ;清0 ACC.7
MOV P1,#01H ;传送 接口1,立即数01H
MOV P3,A ;传送 接口3,寄存器A
ACALL DELY ;绝对调用 DELY
MOV A,31H ;传送 寄存器A,31H
MOVC A,@A+DPTR ;程序存储器-读 寄存器A,A+DPTR指向的单元的内容
MOV P1,#02H ;传送 接口1,立即数02H
MOV P3,A ;传送 接口3,寄存器A
ACALL DELY ;绝对调用 DELY
RET ;子程序返回
DELY:MOV R6,#20 ;此部分为延时子程序 传送 通用寄存器6,立即数20
DEL1:MOV R7,#100 ;传送 通用寄存器7,立即数100
DJNZ R7,$ ;减一不为0转移 通用寄存器7,到本行
DJNZ R6,DEL1 ;减一不为0转移 通用寄存器6,DEL1
RET ;子程序返回
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH ;此部分为数码管段码 程序空间定义数据 0C0H,0F9H,
END ;END