⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testall.asm

📁 8051的Verilog
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	ljmp fail21
CHECK_C_21:	;Checks that carry was set
	jnc  fail21
 
	mov  r1,#101
	cjne r1,#100,CHECK_NC_21
	ljmp fail21

CHECK_NC_21:	;Checks that carry was not set
	jc   fail21
	ljmp done21

fail21:
	mov  P1,#21
	ljmp failed
done21:

;;;;;;;;;;;;;;;;  INST 22 ;;;;;;;;;;;;;;;;;;;;;;;

;; cjne @Ri,#data,rel (22)
	mov  125,#99
	mov  126,#100
	mov  127,#101
	mov  r1,#125
	cjne @r1,#100, CHECK_EQ_22
  ljmp fail22

CHECK_EQ_22:
	jnc  fail22
	mov  r1,#126
	cjne @r1,#100,fail22
	jc   fail22
 
	mov  r1,#127
	cjne @r1,#100,CHECK_NC_22
	ljmp fail22

CHECK_NC_22:	;Checks that carry was not set
	jc   fail22
	ljmp done22

fail22:
	mov  P1,#22
	ljmp failed
done22:

;;;;;;;;;;;;;;;;  INST 23 ;;;;;;;;;;;;;;;;;;;;;;;

;; clr a (23)
	mov  a,#86
	clr  a
	jnz  fail23
	mov  a,#86
	clr  a
	mov  r0,a
	mov  a,r0
	jnz  fail23
	ljmp done23

fail23:
	mov  P1,#23
	ljmp failed
done23:

;;;;;;;;;;;;;;;;  INST 24 ;;;;;;;;;;;;;;;;;;;;;;;

;; clr c (24)
	setb c
	clr  c
	jc   fail24
	clr  c
	jc   fail24
	ljmp done24

fail24:
	mov  P1,#24
	ljmp failed
done24:

;;;;;;;;;;;;;;;;  INST 25 ;;;;;;;;;;;;;;;;;;;;;;;

;; clr bit (25)
	mov  a, #02h
	jz   fail25
	clr  acc.1
	jnz   fail25

	setb 7
        mov  c, 7
        jc clr1;
        ljmp fail25;
clr1:
	clr  7
        mov  c, 7
	jc   fail25
	clr  7
        mov  c, 7
	jc   fail25
	ljmp done25

fail25:
	mov  P1,#25
	ljmp failed
done25:

;;;;;;;;;;;;;;;;  INST 26 ;;;;;;;;;;;;;;;;;;;;;;;

;; cpl a (26)
	mov  a,#255
	cpl  a
	jnz  fail26

	mov  a,#85
	cpl  a
	clr  c
	subb a,#170
	jnz  fail26
	ljmp done26

fail26:
	mov  P1,#26
	ljmp failed
done26:

;;;;;;;;;;;;;;;;  INST 27 ;;;;;;;;;;;;;;;;;;;;;;;

;; cpl c (27)
	setb c
	cpl  c
	jc   fail27
	clr  c
	cpl  c
	jnc  fail27
	ljmp done27

fail27:
	mov  P1,#27
	ljmp failed
done27:

;;;;;;;;;;;;;;;;  INST 28 ;;;;;;;;;;;;;;;;;;;;;;;

;; cpl bit (28)
	clr  a
	setb acc.5
	cpl  acc.5
	jnz  fail28
	clr  acc.5
	cpl  acc.5
	jz   fail28
	ljmp done28

fail28:
	mov  P1,#28
	ljmp failed
done28:

;;;;;;;;;;;;;;;;  INST 29 ;;;;;;;;;;;;;;;;;;;;;;;

;; DA a (29)
	mov  a,#80h
	add  a,#99h
	da   a
	subb a,#78h	;Will clr acc if c set
	jz   done29
	mov  P1,#29
	ljmp failed	
done29:


;;;;;;;;;;;;;;;;;  INST 30 ;;;;;;;;;;;;;;;;;;;;;;

;; dec a (30)
	mov  a,#10
	setb c
	dec  a
	jnc  fail30
	clr  c
	subb a,#9
	jnz  fail30

	mov  a,#0
	clr  c
	dec  a
	jc   fail30
	subb a,#255
	jnz  fail30
	ljmp done30

fail30:
	mov  P1,#30
	ljmp failed
done30:  

;;;;;;;;;;;;;;;;;  INST 31 ;;;;;;;;;;;;;;;;;;;;;;

;; dec Rn (31)
	mov  r2,#10
	setb c
	dec  r2
	jnc  fail31
	clr  c
	mov  a,r2
	subb a,#9
	jnz  fail31

	mov  r2,#0
	clr  c
	dec  r2
	jc   fail31
	mov  a,r2
	subb a,#255
	jnz  fail31
	ljmp done31

fail31:
	mov  P1,#31
	ljmp failed
done31:  

;;;;;;;;;;;;;;;;;  INST 32 ;;;;;;;;;;;;;;;;;;;;;;

;; dec direct (32)
	mov  127,#10
	setb c
	dec  127
	jnc  fail32
	clr  c
	mov  a,127
	subb a,#9
	jnz  fail32

	mov  127,#0
	clr  c
	dec  127
	jc   fail32
	mov  a,127
	subb a,#255
	jnz  fail32
	ljmp done32

fail32:
	mov  P1,#32
	ljmp failed
done32:
  
;;;;;;;;;;;;;;;;;  INST 33 ;;;;;;;;;;;;;;;;;;;;;;

;; dec @Ri (33)
	mov  r0,#127
	mov  @r0,#10
	setb c
	dec  @r0
	jnc  fail33
	clr  c
	mov  a,@r0
	subb a,#9
	jnz  fail33

	mov  @r0,#0
	clr  c
	dec  @r0
	jc   fail33
	mov  a,@r0
	subb a,#255
	jnz  fail33
	ljmp done33

fail33:
	mov  P1,#33
	ljmp failed
done33:  


;;;;;;;;;;;;;;;;;  INST 34 ;;;;;;;;;;;;;;;;;;;;;;

;; div AB (34)
	mov  a,#251
	mov  B,#18
	div  AB
	jc   fail34
	mov  c,OV 
	jc   fail34
	subb a,#13
	jnz  fail34
	mov  a,B
	subb a,#17
	jnz  fail34

	mov  a,#180
	mov  B,#15
	div  AB
	jc   fail34
	mov  c,OV 
	jc   fail34
	subb a,#12
	jnz  fail34
	mov  a,B
	jnz  fail34

	mov  a,#0
	mov  B,#15
	div  AB
	jc   fail34
	mov  c,OV 
	jc   fail34
	jnz  fail34
	mov  a,B
	subb a,#15

	mov  a,#0
	mov  B,#0
	div  AB
	jc   fail34
	mov  c,OV 
	jnc  fail34

	mov  a,#170
	mov  B,#0
	div  AB
	jc   fail34
	mov  c,OV 
	jnc  fail34
	ljmp done34
fail34:
	mov  P1,#34
	ljmp failed
done34:


;;;;;;;;;;;;;;;;;  INST 35 ;;;;;;;;;;;;;;;;;;;;;;

;; djnz Rn,rel (35)
	mov  r0,#10
	djnz r0,JUMP_35	;Should jump
	mov  P1,#35
	ljmp failed
JUMP_35:
	mov  r0,#0
	djnz r0,JUMP_35B	;Should jump
	mov  P1,#35
	ljmp failed
JUMP_35B:
	mov  r0,#1
	djnz r0,NOT_JUMP_35	;Should not jump
	ajmp done35
NOT_JUMP_35:
	mov  P1,#35
	ljmp failed
done35:  

;;;;;;;;;;;;;;;;;  INST 36 ;;;;;;;;;;;;;;;;;;;;;;

;; djnz direct,rel (36)
	mov  127,#10
	djnz 127,JUMP_36	;Should jump
	mov  P1,#36
	ljmp failed
JUMP_36:
	mov  127,#0
	djnz 127,JUMP_36B	;Should jump
	mov  P1,#36
	ljmp failed
JUMP_36B:
	mov  127,#1
	djnz 127,NOT_JUMP_36	;Should not jump
	ajmp done36
NOT_JUMP_36:
	mov  P1,#36
	ljmp failed

done86:

;;;;;;;;;;;;;;;;  INST 88 ;;;;;;;;;;;;;;;;;;;;;;;

	ljmp done88
	clr  a
testret:	     ;; subroutine called from acall and lcall
	inc  a
	ret
	clr  a

done36:  

;;;;;;;;;;;;;;;;;  INST 37 ;;;;;;;;;;;;;;;;;;;;;;
	
;; inc a (37)
	mov  a,#10
	clr  c
	inc  a
	jc   fail37
	subb a,#11
	jnz  fail37

	mov  a,#255
	setb c
	inc  a
	jnc  fail37
	jnz  fail37
	ljmp done37

fail37:
	mov  P1,#37
	ljmp failed
done37:  

;;;;;;;;;;;;;;;;;  INST 38 ;;;;;;;;;;;;;;;;;;;;;;

;; inc Rn (38)
	mov  r3,#10
	clr  c
	inc  r3
	jc   fail38
	mov  a,r3
	subb a,#11
	jnz  fail38

	mov  r4,#255
	setb c
	inc  r4
	jnc  fail38
	mov  a,r4
	jnz  fail38
	ljmp done38

fail38:
	mov  P1,#38
	ljmp failed
done38:  

;;;;;;;;;;;;;;;;;  INST 39 ;;;;;;;;;;;;;;;;;;;;;;
	
;; inc direct (39)
	mov  127,#10
	clr  c
	inc  127
	jc   fail39
	mov  a,127
	subb a,#11
	jnz  fail39

	mov  127,#255
	setb c
	inc  127
	jnc  fail39
	mov  a,127
	jnz  fail39
	ljmp done39

fail39:
	mov  P1,#39
	ljmp failed
done39:

;;;;;;;;;;;;;;;;;  INST 40 ;;;;;;;;;;;;;;;;;;;;;;
	
;; inc @Ri (40)
	mov  r1,#126
	mov  @r1,#10
	clr  c
	inc  @r1
	jc   fail40
	mov  a,@r1
	subb a,#11
	jnz  fail40

	mov  @r1,#255
	setb c
	inc  @r1
	jnc  fail40
	mov  a,@r1
	jnz  fail40
	ljmp done40

fail40:
	mov  P1,#40
	ljmp failed
done40:  


;;;;;;;;;;;;;;;;;  INST 41 ;;;;;;;;;;;;;;;;;;;;;;

;; inc dptr (41)
  clr  c;
	mov  dptr,#12ffh
	inc  dptr
	mov  a,DPH
	subb a,#13h
	jz   DPH_OK_41
	mov  P1,#41
	ljmp failed
DPH_OK_41:
	mov  a,DPL
	jz   done41
	mov  P1,#41
	ljmp failed
done41:  


;;;;;;;;;;;;;;;;;  INST 42 ;;;;;;;;;;;;;;;;;;;;;;
	
;; JB bit,rel (42)
	mov  a,#16
	jb   acc.3,fail42
	jb   acc.4,done42

fail42:
	mov  P1,#42
	ljmp failed
done42:


;;;;;;;;;;;;;;;;;  INST 43 ;;;;;;;;;;;;;;;;;;;;;;
	
;; jbc bit,rel (43)
	mov  a,#8
	jbc  acc.3,CHECK_BIT_43
	mov  P1,#43
	ljmp failed
CHECK_BIT_43:
	jz   done43
	mov  P1,#43
	ljmp failed
done43:

;;;;;;;;;;;;;;;;;  INST 44 ;;;;;;;;;;;;;;;;;;;;;;
	
;; jc rel (44)
	clr  c
	jc   fail44
	cpl  c
	jc   done44
fail44:
	mov  P1,#44
	ljmp failed
done44:

;;;;;;;;;;;;;;;;;  INST 45 ;;;;;;;;;;;;;;;;;;;;;;
	
;; jmp @a+dptr (45)
	mov  a,#4
	mov  dptr,#JMP_TBL
	jmp  @a+dptr
JMP_TBL:
	ajmp JUMP_0
	ajmp JUMP_2
	ajmp JUMP_4
	ajmp JUMP_6
JUMP_0:
JUMP_2:
JUMP_6:
	mov  P1,#43
	ljmp failed
JUMP_4:

;;;;;;;;;;;;;;;;;  INST 46 ;;;;;;;;;;;;;;;;;;;;;;

;; jnb bit,rel (46)
	mov  a,#16
	jnb  acc.4,fail42
	jnb  acc.5,done46
fail46:
	mov  P1,#46
	ljmp failed
done46:

;;;;;;;;;;;;;;;;;  INST 47 ;;;;;;;;;;;;;;;;;;;;;;
	
;; jnc rel (47)
	setb c
	jnc  fail47
	cpl  c
	jnc  done47
fail47:
	mov  P1,#47
	ljmp failed



done47:

;;;;;;;;;;;;;;;;;  INST 48 ;;;;;;;;;;;;;;;;;;;;;;
	
;; jnz rel (48)
	mov  r1,#0
	mov  a,0
	inc  r1
	jnz  fail48

	mov  a,#1
	dec  r1
	jnz  done48
fail48:
	mov  P1,#48
	ljmp failed
done48:

;;;;;;;;;;;;;;;;;  INST 49 ;;;;;;;;;;;;;;;;;;;;;;
	
;; jz rel (49)
	mov  r1,1
	mov  a,#2
	dec  r1
	jz   fail49

	mov  a,#0
	inc  r1
	jz   done49
fail49:
	mov  P1,#49
	ljmp failed
done49:

;;;;;;;;;;;;;;;;   INST 50 ;;;;;;;;;;;;;;;;;;;;;;

;; lcall addr11
	mov  a,#85
	lcall testret
	inc  a
	jc   fail50
	subb a,#87
	jz   done50
fail50:
	mov  P1,1
	ljmp failed
done50:
;;;;;;;;;;;;;;;;;  INST 51 ;;;;;;;;;;;;;;;;;;;;;;

;; ljmp (51)
	ljmp done51
	mov  P1,#51
	ljmp failed
done51:

;;;;;;;;;;;;;;;;;  INST 52 ;;;;;;;;;;;;;;;;;;;;;;

;; mov a,Rn (52)
	mov  r0,#10
	clr  a
	setb c
	mov  a,r0
	jnc  fail52
  clr  c
	subb a,#10
	jz   done52
fail52:
	mov  P1,#52
	ljmp failed
done52:  


;;;;;;;;;;;;;;;;;  INST 53 ;;;;;;;;;;;;;;;;;;;;;;

;; mov a,direct (53)
	mov  127,#10
	clr  a
	setb c
	mov  a,127
	jnc  fail53
  clr  c
	subb a,#10
	jz   done53
fail53:
	mov  P1,#53
	ljmp failed
done53:  

;;;;;;;;;;;;;;;;;  INST 54 ;;;;;;;;;;;;;;;;;;;;;;

;; mov a,@Ri (54)
	mov  r0,#127
	mov  127,#10
	clr  a
	setb c
	mov  a,@r0
	jnc  fail54
  clr  c
	subb a,#10
	jz   done54
fail54:
	mov  P1,#54
	ljmp failed
done54:  


;;;;;;;;;;;;;;;;;  INST 55 ;;;;;;;;;;;;;;;;;;;;;;

;; mov a,#data (55)
	clr  a
	setb c
	mov  a,#10
	jnc  fail55
  clr  c
	subb a,#10
	jz   done55
fail55:
	mov  P1,#55
	ljmp failed
done55:  

;;;;;;;;;;;;;;;;;  INST 56 ;;;;;;;;;;;;;;;;;;;;;;

;; mov Rn,a (56)
	mov  a,#10
	mov  r0,#0
	setb c
	mov  r0,a
	jnc  fail56
	clr  a
	mov  a,r0
  clr  c
	subb a,#10
	jz   done56
fail56:
	mov  P1,#56
	ljmp failed
done56:  

;;;;;;;;;;;;;;;;;  INST 57 ;;;;;;;;;;;;;;;;;;;;;;

;; mov Rn,direct (57)
	mov  127,#10
	mov  r0,#0
	setb c
	mov  r0,127
	jnc  fail57
	mov  a,r0
  clr  c
	subb a,#10
	jz   done57
fail57:
	mov  P1,#57
	ljmp failed
done57:  

;;;;;;;;;;;;;;;;;  INST 58 ;;;;;;;;;;;;;;;;;;;;;;

;; mov Rn,#data (58)
	mov  r0,#0
	clr  a
	setb c
	mov  r0,#10
	jnc  fail58
	mov  a,r0
  clr  c
	subb a,#10
	jz   done58
fail58:
	mov  P1,#58
	ljmp failed
done58:  

;;;;;;;;;;;;;;;;;  INST 59 ;;;;;;;;;;;;;;;;;;;;;;

;; mov direct,a (59)
	mov  a,#10
	clr  127
	setb c
	mov  127,a
	jnc  fail59
	clr  a
	mov  a,127
  clr  c
	subb a,#10
	jz   done59
fail59:
	mov  P1,#59
	ljmp failed
done59:  

;;;;;;;;;;;;;;;;;  INST 60 ;;;;;;;;;;;;;;;;;;;;;;

;; mov direct,Rn (60)
	mov  r0,#10
	clr  127
	setb c
	clr  a
	mov  127,r0
	jnz  fail60
	jnc  fail60
	mov  a,127
  clr  c
	subb a,#10
	jz   done60
fail60:
	mov  P1,#60
	ljmp failed
done60:  

;;;;;;;;;;;;;;;;;  INST 61 ;;;;;;;;;;;;;;;;;;;;;;

;; mov direct,direct (61)
	mov  127,#10
	clr  126
	clr  a
	setb c
	mov  126,127
	jnz  fail61
	jnc  fail61
	mov  a,126
  clr  c
	subb a,#10
	jz   done61
fail61:
	mov  P1,#61
	ljmp failed
done61:  

;;;;;;;;;;;;;;;;;  INST 62 ;;;;;;;;;;;;;;;;;;;;;;

;; mov direct,@Ri (62)
	mov  127,#10
	mov  r0,#127
	clr  126
	clr  a
	setb c
	mov  126,@r0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -