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

📄 testall.asm

📁 8051的Verilog
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	jnz  fail62
	jnc  fail62
	mov  a,126
  clr  c
	subb a,#10
	jz   done62
fail62:
	mov  P1,#62
	ljmp failed
done62:  

;;;;;;;;;;;;;;;;;  INST 63 ;;;;;;;;;;;;;;;;;;;;;;

;; mov direct,#data (63)
	clr  127
	clr  a
	setb c
	mov  127,#10
	jnz  fail63
	jnc  fail63
	mov  a,127
  clr  c
	subb a,#10
	jz   done63
fail63:
	mov  P1,#63
	ljmp failed
done63:  

;;;;;;;;;;;;;;;;;  INST 64 ;;;;;;;;;;;;;;;;;;;;;;

;; mov @Ri,a (64)
	mov  a,#10
	mov  r0,#127
	mov  @r0,#0
	setb c
	mov  @r0,a
	jnc  fail64
	clr  a
	mov  a,127
  clr  c
	subb a,#10
	jz   done64
fail64:
	mov  P1,#64
	ljmp failed
done64:  

;;;;;;;;;;;;;;;;;  INST 65 ;;;;;;;;;;;;;;;;;;;;;;

;; mov @Ri,direct (65)
	mov  127,#10
	mov  r0,#126
	mov  @r0,#0
	clr  a
	setb c
	mov  @r0,127
	jnc  fail65
	jnz  fail65
	mov  a,126
  clr  c
	subb a,#10
	jz   done65
fail65:
	mov  P1,#65
	ljmp failed
done65:  

;;;;;;;;;;;;;;;;;  INST 66 ;;;;;;;;;;;;;;;;;;;;;;

;; mov @Ri,#data (66)
	mov  r0,#127
	mov  @r0,#0
	clr  a
	setb c
	mov  @r0,#10
	jnz  fail66
	jnc  fail66
	mov  a,127
  clr  c
	subb a,#10
	jz   done66
fail66:
	mov  P1,#66
	ljmp failed
done66:  

;;;;;;;;;;;;;;;;;  INST 67 ;;;;;;;;;;;;;;;;;;;;;;

;; mov c,bit (67)
	mov  a,#1
	clr  c
	mov  c,acc.0
	jnc  fail67
	setb c
	mov  c,acc.1
	jnc  done67
fail67:
	mov  P1,#67
	ljmp failed
done67:  

;;;;;;;;;;;;;;;;;  INST 68 ;;;;;;;;;;;;;;;;;;;;;;

;; mov bit,c (68)
	setb c
	mov  acc.0,c
	cpl  c
	subb a,#1
	jz   done68
	mov  P1,#68
	ljmp failed
done68:  

;;;;;;;;;;;;;;;;;  INST 69 ;;;;;;;;;;;;;;;;;;;;;;

;; mov dptr,#data (69)
	mov  dptr,#0x1234
	mov  a,DPH
	subb a,#0x12
	jnz  fail69
	mov  a,DPL
	subb a,#0x34
	jz   done69
fail69:
	mov  P1,#69
	ljmp failed
done69:


;;;;;;;;;;;;;;;;;  INST 70 ;;;;;;;;;;;;;;;;;;;;;;

;; movc a,@a+dptr (70)
	clr  a
	mov  dptr,#DB_TBL
	movc a,@a+dptr
	subb a,#0x66
	jnz  fail70
	mov  a,#1
	movc a,@a+dptr
	subb a,#0x77
	jz   done70
	jnz  fail70
DB_TBL:
	.db   0x66
	.db   0x77
fail70:	
	mov  P1,#70
	ljmp failed
done70:


;;;;;;;;;;;;;;;;;  INST 71 ;;;;;;;;;;;;;;;;;;;;;;

;; movc a,@a+PC (71)
	mov  a,#13
	movc a,@a+pc
	subb a,#0x66
	jnz  fail71
	mov  a,#7
	movc a,@a+pc
	subb a,#0x77
	jz   done71
	jnz  fail71
	.db   0x66
	.db   0x77
fail71:	
	mov  P1,#71
	ljmp failed
done71:


;;;;;;;;;;;;;;;;  INST 76 ;;;;;;;;;;;;;;;;;;;;;;;

;; mul AB (76)
	mov  a,#80
	mov  B,#160
	mul  AB	; = 0x3200
	jc   fail76
	jnz  fail76
  mov  c, ov
  jnc  fail76
	mov  a,B
	clr  c
	subb a,#32h
	jnz  fail76

	mov  a,#111
	mov  B,#87
	mul  AB	; = 0x25b9
	jc   fail76
  mov  c, ov
  jnc  fail76
	clr  c
	subb a,#0b9h
	jnz  fail76
	mov  a,B
	subb a,#25h
	jnz  fail76

	mov  a,#11
	mov  B,#17
	mul  AB	; = 0x00BB
	jc   fail76
  mov  c, ov 
  jc   fail76
	clr  c
	subb a,#0bbh
	jnz  fail76
	mov  a,B
	jnz  fail76
	ljmp done76

fail76:	
	mov  P1,#76
	ljmp failed
done76:  

;;;;;;;;;;;;;;;;  INST 77 ;;;;;;;;;;;;;;;;;;;;;;;

;; nop
	mov  a,#85
	setb c
	nop
	jnc  fail77
	subb a,#84
	jnz  fail77

	mov  a,#123
	clr  c
	nop
	jc   fail77
	subb a,#123
	jz   done77
fail77:
	mov  P1,#77
	ljmp failed
done77:
	

;;;;;;;;;;;;;;;;  INST 78 ;;;;;;;;;;;;;;;;;;;;;;;

;; orl a,Rn (78)
	mov  a,#0x90
	mov  r0,#0x09
	setb c
	orl  a,r0
	jnc  fail78
	clr  c
	subb a,#0x99
	jnz  fail78

	mov  a,#0x48
	mov  r0,#0x19
	clr  c
	orl  a,r0
	jc   fail78
	subb a,#0x59
	jz   done78
fail78:
	mov  P1,#78
	ljmp failed
done78:

;;;;;;;;;;;;;;;;  INST 79 ;;;;;;;;;;;;;;;;;;;;;;;

;; orl a,direct (79)
	mov  a,#0x90
	mov  127,#0x09
	setb c
	orl  a,127
	jnc  fail79
	clr  c
	subb a,#0x99
	jnz  fail79

	mov  a,#0x48
	mov  127,#0x19
	clr  c
	orl  a,127
	jc   fail79
	subb a,#0x59
	jz   done79
fail79:
	mov  P1,#79
	ljmp failed
done79:

;;;;;;;;;;;;;;;;  INST 80 ;;;;;;;;;;;;;;;;;;;;;;;
;; orl a,@Ri (80)
	mov  a,#0x90
	mov  r1,#127
	mov  @r1,#0x9
	setb c
	orl  a,@r1
	jnc  fail80
	clr  c
	subb a,#0x99
	jnz  fail80

	mov  a,#0x48
	mov  @r1,#0x19
	clr  c
	orl  a,@r1
	jc   fail80
	subb a,#0x59
	jz   done80
fail80:
	mov  P1,#80
	ljmp failed
done80:

;;;;;;;;;;;;;;;;  INST 81 ;;;;;;;;;;;;;;;;;;;;;;;

;; orl a,#data (81)
	mov  a,#0x90
	setb c
	orl  a,#0x9
	jnc  fail81
	clr  c
	subb a,#0x99
	jnz  fail81

	mov  a,#0x48
	clr  c
	orl  a,#0x19
	jc   fail81
	subb a,#0x59
	jz   done81
fail81:
	mov  P1,#81
	ljmp failed
done81:

;;;;;;;;;;;;;;;;  INST 82 ;;;;;;;;;;;;;;;;;;;;;;;

;; orl direct,a (82)
	mov  a,#0x90
	mov  127,#0x9
	setb c
	orl  127,a
	jnc  fail82
	clr  c
	subb a,#0x90
	jnz  fail82
	mov  a,127
	clr  c
	subb a,#0x99
	jnz  fail82

	mov  a,#0x48
	mov  127,#0x19
	clr  c
	orl  127,a
	jc   fail82
	subb a,#0x48
	jnz  fail82
	mov  a,127
	clr  c
	subb a,#0x59
	jz   done82
fail82:
	mov  P1,#82
	ljmp failed
done82:

;;;;;;;;;;;;;;;;  INST 83 ;;;;;;;;;;;;;;;;;;;;;;;
;; orl direct,#data (83)
	mov  a,#0x91
	mov  127,#0x9
	setb c
	orl  127,#0x90
	jnc  fail83
	clr  c
	subb a,#0x91
	jnz  fail83
	mov  a,127
	clr  c
	subb a,#0x99
	jnz  fail83

	mov  a,#0x49
	mov  127,#0x19
	clr  c
	orl  127,#0x48
	jc   fail83
	subb a,#0x49
	jnz  fail83
	mov  a,127
	clr  c
	subb a,#0x59
	jz   done83
fail83:
	mov  P1,#83
	ljmp failed
done83:

;;;;;;;;;;;;;;;;  INST 84 ;;;;;;;;;;;;;;;;;;;;;;;

;; orl c,bit (84)
	mov  a,#1
	orl  c,acc.1
	jc   fail84
	orl  c,acc.0
	jnc  fail84
	orl  c,acc.1
	jc   done84
fail84:
	mov  P1,#84
	ljmp failed
done84:

;;;;;;;;;;;;;;;;  INST 85 ;;;;;;;;;;;;;;;;;;;;;;;

;; orl c,/bit (85)
	mov  a,#1
  clr  c
	orl  c,/acc.0
	jc   fail85
	orl  c,/acc.1
	jnc  fail85
  setb c
	orl  c,/acc.0
	jc   done85
fail85:
	mov  P1,#85
	ljmp failed
done85:

;;;;;;;;;;;;;;;;  INST 86,87 ;;;;;;;;;;;;;;;;;;;;;;;

;; push direct (87)
  clr  c
	mov  dptr,#0123h
	mov  127,#8
	push DPL
	push DPH
	push 127
	mov  a,8
	subb a,#23h
	jnz  fail87
	mov  a,9
	subb a,#1
	jnz fail87
	mov  a,10
	subb a,#8
	jz   done87
fail87:
	mov  P1,#87
	ljmp failed
done87:

;; pop direct (86)
	pop  SP
	pop  100
	mov  a,100
	subb a,#23h
	jz   done88
	mov  P1,#86
	ljmp failed

done88:

;;;;;;;;;;;;;;;;  INST 90 ;;;;;;;;;;;;;;;;;;;;;;;

;; rl a (90)
	mov  a,#129
	rl   a
	subb a,#3
	jz   done90
	mov  P1,#90
	ljmp failed
done90:

;;;;;;;;;;;;;;;;  INST 91 ;;;;;;;;;;;;;;;;;;;;;;;

;; rlc a (91)
	setb c
	mov  a,#129
	rlc  a
	subb a,#2	;a(3)-c(1)-1
	jnz  fail91
	clr  c
	mov  a,#129
	rlc  a
	subb a,#1	;a(2)-c(1)-1
	jz   done91
fail91:
	mov  P1,#91
	ljmp failed
done91:

;;;;;;;;;;;;;;;;  INST 92 ;;;;;;;;;;;;;;;;;;;;;;;

;; rr a (92)
	mov  a,#129
	rr   a
	subb a,#192
	jz   done92
	mov  P1,#92
	ljmp failed
done92:


;;;;;;;;;;;;;;;;  INST 93 ;;;;;;;;;;;;;;;;;;;;;;;

;; rrc a (93)
	setb c
	mov  a,#3
	rrc  a
	subb a,#128	;a(129)-c(1)-0
	jnz  fail93
	clr  c
	mov  a,#3
	rrc  a
	subb a,#0	;a(1)-c(1)-0
	jz   done93
fail93:
	mov  P1,#93
	ljmp failed
done93:

;;;;;;;;;;;;;;;;  INST 94 ;;;;;;;;;;;;;;;;;;;;;;;

;; setb c (94)
	clr  c
	setb c
	mov  a,#1
	subb a,#0	;a(1)-c(1)-0
	jz   done94
	mov  P1,#94
	ljmp failed
done94:

;;;;;;;;;;;;;;;;  INST 95 ;;;;;;;;;;;;;;;;;;;;;;;

;; setb bit (95)
	clr  a
	setb acc.7
	subb a,#128
	jz   done95
	mov  P1,#95
	ljmp failed
done95:

;;;;;;;;;;;;;;;;  INST 96 ;;;;;;;;;;;;;;;;;;;;;;;

;; sjmp (96)
	sjmp done96
	mov  P1,#96
	ljmp failed
done96:

;;;;;;;;;;;;;;;;  INST 97 ;;;;;;;;;;;;;;;;;;;;;;;

;; subb a,Rn (97)
	setb c
	mov  a,#100
	mov  r0,#10
	subb a,r0     ; 100 - 10 - 1 = 89 
	jc   fail97
	add  a,#167    ; 167 + 89 = 0
	jnz  fail97
	clr  c
	mov  a,#10
	mov  r0,#100
	subb a,r0     ; 10 - 100 - 0 = 166
	jnc  fail97
	add  a,#90     ; 166 + 90 = 0
	jz   done97
fail97:
	mov  P1,#97
	ljmp failed
done97:

;;;;;;;;;;;;;;;;  INST 98 ;;;;;;;;;;;;;;;;;;;;;;;

;; subb a,direct (98)
	setb c
	mov  a,#100
	mov  127,#10
	subb a,127    ; 100 - 10 - 1 = 89 
	jc   fail98
	add  a,#167    ; 167 + 89 = 0
	jnz  fail98
	clr  c
	mov  a,#10
	mov  127,#100
	subb a,127    ; 10 - 100 - 0 = 166
	jnc  fail98
	add  a,#90     ; 166 + 90 = 0
	jz   done98
fail98:
	mov  P1,#98
	ljmp failed
done98:  

;;;;;;;;;;;;;;;;  INST 99 ;;;;;;;;;;;;;;;;;;;;;;;

;; subb a,@Ri (99)
	setb c
	mov  r0,#126
	mov  a,#100
	mov  @r0,#10
	subb a,@r0    ; 100 - 10 - 1 = 89 
	jc   fail99
	add  a,#167    ; 167 + 89 = 0
	jnz  fail99
	clr  c
	mov  a,#10
	mov  @r0,#100
	subb a,@r0    ; 10 - 100 - 0 = 166
	jnc  fail99
	add  a,#90     ; 166 + 90 = 0
	jz   done99
fail99:
	mov  P1,#99
	ljmp failed
done99:


;;;;;;;;;;;;;;;; INST 100 ;;;;;;;;;;;;;;;;;;;;;;;

;; subb a,#data (100)
	setb c
	mov  a,#100
	subb a,#10    ; 100 - 10 - 1 = 89 
	jc   fail100
	add  a,#167    ; 167 + 89 = 0
	jnz  fail100
	clr  c
	mov  a,#10
	subb a,#100   ; 10 - 100 - 0 = 166
	jnc  fail100
	add  a,#90     ; 166 + 90 = 0
	jz   done100
fail100:
	mov  P1,#100
	ljmp failed
done100:  

;;;;;;;;;;;;;;;; INST 101 ;;;;;;;;;;;;;;;;;;;;;;;

;; swap a (101)
	clr  c
	mov  a,#23h
	swap a
	jc   fail101
	subb a,#32h
	jnz  fail101
	mov  a,#0C3h
	setb c
	swap a
	jnc  fail101
  clr  c
	subb a,#3Ch
	jz   done101
fail101:
	mov  P1,#101
	ljmp failed
done101:  

;;;;;;;;;;;;;;;; INST 102 ;;;;;;;;;;;;;;;;;;;;;;;

;; xch a,Rn (102)
	mov  a,#10
	mov  r0,#97
	xch  a,r0
	subb a,#97
	jnz  fail102
	mov  a,r0
	subb a,#10
	jz   done102
fail102:
	mov  P1,#102
	ljmp failed
done102:

;;;;;;;;;;;;;;;; INST 103 ;;;;;;;;;;;;;;;;;;;;;;;

;; xch a,direct (103)
	mov  a,#10
	mov  127,#99
	xch  a,127
	subb a,#99
	jnz  fail103
	mov  a,127
	subb a,#10
	jz   done103
fail103:
	mov  P1,#103
	ljmp failed
done103:  

;;;;;;;;;;;;;;;; INST 104 ;;;;;;;;;;;;;;;;;;;;;;;

;; xch a,@Ri (104)
	mov  a,#10
	mov  r0,#127
	mov  127,#99
	xch  a,@r0
	subb a,#99
	jnz  fail104
	mov  a,127
	subb a,#10
	jz   done104
fail104:
	mov  P1,#104
	ljmp failed
done104:

;;;;;;;;;;;;;;;; INST 105 ;;;;;;;;;;;;;;;;;;;;;;;

;; xchd a,@Ri (105)
	mov  a,#44h
	mov  r0,#127
	mov  127,#55h
	xchd a,@r0
	subb a,#45h
	jnz  fail105
	mov  a,127
	subb a,#54h
	jz   done105
fail105:
	mov  P1,#105
	ljmp failed
done105:


;;;;;;;;;;;;;;;; INST 106 ;;;;;;;;;;;;;;;;;;;;;;;

;; xrl a,Rn (106)
	mov  a,#35h
	mov  r0,#0C3h
	xrl  a,r0
	subb a,#0F6h
	jz   done106
	mov  P1,#106
	ljmp failed
done106:

;;;;;;;;;;;;;;;; INST 107 ;;;;;;;;;;;;;;;;;;;;;;;

;; xrl a,direct (107)
	mov  a,#0C3h
	mov  127,#35h
	xrl  a,127
	subb a,#0F6h
	jz   done107
	mov  P1,#107
	ljmp failed
done107:


;;;;;;;;;;;;;;;; INST 108 ;;;;;;;;;;;;;;;;;;;;;;;

;; xrl a,@Ri (108)
	mov  a,#35h
	mov  r0,#127
	mov  127,#0C3h
	xrl  a,@r0
	subb a,#0F6h
	jz   done108
	mov  P1,#108
	ljmp failed
done108:


;;;;;;;;;;;;;;;; INST 109 ;;;;;;;;;;;;;;;;;;;;;;;

;; xrl a,#data (109)
	mov  a,#35h
	xrl  a,#0C3h
	subb a,#0F6h
	jz   done109
	mov  P1,#109
	ljmp failed
done109:


;;;;;;;;;;;;;;;; INST 110 ;;;;;;;;;;;;;;;;;;;;;;;

;; xrl direct,a (110)
	mov  a,#35h
	mov  127,#0C3h
	xrl  127,a
	clr  a
	mov  a,127
	subb a,#0F6h
	jz   done110
	mov  P1,#110
	ljmp failed
done110:


;;;;;;;;;;;;;;;; INST 111 ;;;;;;;;;;;;;;;;;;;;;;;

;; xrl direct,#data (111)
	mov  127,#35h
	xrl  127,#0C3h
	mov  a,127
	subb a,#0F6h
	jz   done111
	mov  P1,#111
	ljmp failed
done111:


;;;;;;;;;;;;;;;;;  DONE    ;;;;;;;;;;;;;;;;;;;;;;

	mov  P1,#127	; All instructions passed


failed:


⌨️ 快捷键说明

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