展开全部
汇编中的2进制在数值结尾加“b”
10进制在结尾加“d”(有的编译器不加字母默认为十进制)
16进制在结尾加“h”(有的编译器不加字母默认为十六进制,如windows里面的debug程序)
10进制在结尾加“d”(有的编译器不加字母默认为十进制)
16进制在结尾加“h”(有的编译器不加字母默认为十六进制,如windows里面的debug程序)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以采用二字节除法,后8位二进制数可以在高位补零凑齐16位,下面程序供参考。
;function name: DIV-2 BYTE
;FUNCTION: UNSIGNED 2 BYTE DIVIDE
;(37H)(36H)=(37H)(36H)/(3BH)(3AH)
;WORKING AREA DATA MEMORY: (39H),(38H)
B EQU 0F0H
ORG 0000H
LJMP START
ORG 0100H
START: MOV R3,#16H
CLR C
LOOP1: MOV R1,#36H
MOV R2,#04H
LOOP2: MOV A,@R1
RLC A
MOV @R1,A
INC R1
DJNZ R2,LOOP2
MOV R0,#39H
MOV R1,#41H
MOV R2,#02H
LCALL DATA_COMPARE
JC LOOP3
MOV R0,#39H
MOV R1,#40H
LCALL DATA_SUBTRACT
LOOP3: CPL C
DJNZ R3,LOOP1
MOV R1,#36H
MOV R2,#02H
LOOP4: MOV A,@R1
RLC A
MOV @R1,A
INC R1
DJNZ R2,LOOP4
SJMP $
;************************************************
DATA_COMPARE: MOV A,@R0
MOV B,@R1
CJNE A,B,LOOP5
INC R0
INC R1
DJNZ R2,DATA_COMPARE
LOOP5: RET
;*************************************************
DATA_SUBTRACT: MOV R2,#02H
CLR C
LOOP6: MOV A,@R0
SUBB A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2,LOOP6
RET
END
;function name: DIV-2 BYTE
;FUNCTION: UNSIGNED 2 BYTE DIVIDE
;(37H)(36H)=(37H)(36H)/(3BH)(3AH)
;WORKING AREA DATA MEMORY: (39H),(38H)
B EQU 0F0H
ORG 0000H
LJMP START
ORG 0100H
START: MOV R3,#16H
CLR C
LOOP1: MOV R1,#36H
MOV R2,#04H
LOOP2: MOV A,@R1
RLC A
MOV @R1,A
INC R1
DJNZ R2,LOOP2
MOV R0,#39H
MOV R1,#41H
MOV R2,#02H
LCALL DATA_COMPARE
JC LOOP3
MOV R0,#39H
MOV R1,#40H
LCALL DATA_SUBTRACT
LOOP3: CPL C
DJNZ R3,LOOP1
MOV R1,#36H
MOV R2,#02H
LOOP4: MOV A,@R1
RLC A
MOV @R1,A
INC R1
DJNZ R2,LOOP4
SJMP $
;************************************************
DATA_COMPARE: MOV A,@R0
MOV B,@R1
CJNE A,B,LOOP5
INC R0
INC R1
DJNZ R2,DATA_COMPARE
LOOP5: RET
;*************************************************
DATA_SUBTRACT: MOV R2,#02H
CLR C
LOOP6: MOV A,@R0
SUBB A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2,LOOP6
RET
END
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
;---------------------------------------------
;双字节无符号数除以单字节无符号数
;入口条件:被除数在R4、R5 中,除数在R7 中。
;出口信息:OV=0 时,单字节商在R3 中,OV=1 时溢出。
;影响资源:PSW、A、R3~R7 堆栈需求: 2字节
;---------------------------------------------
DIVDS:
CLR C
MOV A,R4
SUBB A,R7
JC DV50
SETB OV ;商溢出
RET
DV50:
MOV R6,#8 ;求平均值(R4R5/R7-→R3)
DV51:
MOV A,R5
RLC A
MOV R5,A
MOV A,R4
RLC A
MOV R4,A
MOV F0,C
CLR C
SUBB A,R7
ANL C,/F0
JC DV52
MOV R4,A
DV52:
CPL C
MOV A,R3
RLC A
MOV R3,A
DJNZ R6,DV51
MOV A,R4 ;四舍五入
ADD A,R4
JC DV53
SUBB A,R7
JC DV54
DV53:
INC R3
DV54:
CLR OV
RET
;双字节无符号数除以单字节无符号数
;入口条件:被除数在R4、R5 中,除数在R7 中。
;出口信息:OV=0 时,单字节商在R3 中,OV=1 时溢出。
;影响资源:PSW、A、R3~R7 堆栈需求: 2字节
;---------------------------------------------
DIVDS:
CLR C
MOV A,R4
SUBB A,R7
JC DV50
SETB OV ;商溢出
RET
DV50:
MOV R6,#8 ;求平均值(R4R5/R7-→R3)
DV51:
MOV A,R5
RLC A
MOV R5,A
MOV A,R4
RLC A
MOV R4,A
MOV F0,C
CLR C
SUBB A,R7
ANL C,/F0
JC DV52
MOV R4,A
DV52:
CPL C
MOV A,R3
RLC A
MOV R3,A
DJNZ R6,DV51
MOV A,R4 ;四舍五入
ADD A,R4
JC DV53
SUBB A,R7
JC DV54
DV53:
INC R3
DV54:
CLR OV
RET
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询