📄 新建 文本文档.txt
字号:
;双字节数据查表程序
;输入数据(0-255)存放在21h中,同时21h为奇偶判断存储器
;偶数查第一个表
;奇数查第二个表
;查表结果,高字节在r6,低字节在r7
;注意:程序执行到表格时,一定要用跳转指令跳过表格,否则会把表格当作程序执行,出错
;最长的定时时间为10mS@16MHz晶振
;白菜奉献
;tiaoshi:
;mov 21h,#254 ;被判断数存入可位寻址地址21h,调试用
;call ji_ou
;jmp tiaoshi
ji_ou:
jb 08,ji_jieli ;可位寻址地址21h的0位,如果最低位为1,跳到ji,奇偶判断
ou:
mov a,21h ;准备查表
mov dptr,#oushu ;装入表格首地址
movc a,@a+dptr
mov r6,a ;查得高字节保存到r6
mov a,21h ;表格低字节地址
add a,#01h
movc a,@a+dptr
mov r7,a ;查得低字节保存到r7
ret
ji_jieli:
jmp ji
oushu:
db 0cbh,0ebh, 0CCh,055h, 0CCh,0BFh, 0CDh,029h, 0CDh,093h, 0CDh,0FDh, 0CEh,067h, 0CEh,0D1h, 0CFh,03Bh, 0CFh,0A5h
db 0D0h,00Fh, 0D0h,079h, 0D0h,0E3h, 0D1h,04Dh, 0D1h,0B7h, 0D2h,021h, 0D2h,08Bh, 0D2h,0F5h, 0D3h,05Fh, 0D3h,0C9h
db 0D4h,033h, 0D4h,09Dh, 0D5h,007h, 0D5h,071h, 0D5h,0DBh, 0D6h,045h, 0D6h,0AFh, 0D7h,019h, 0D7h,083h, 0D7h,0EDh
db 0D8h,057h, 0D8h,0C1h, 0D9h,02Bh, 0D9h,095h, 0D9h,0FFh, 0DAh,069h, 0DAh,0D3h, 0DBh,03Bh, 0DBh,0A3h, 0DCh,00Bh
db 0DCh,073h, 0DCh,0DBh, 0DDh,043h, 0DDh,0ABh, 0DEh,013h, 0DEh,07Bh, 0DEh,0E3h, 0DFh,04Bh, 0DFh,0B3h, 0E0h,01Bh
db 0E0h,083h, 0E0h,0EBh, 0E1h,053h, 0E1h,0BBh, 0E2h,023h, 0E2h,08Bh, 0E2h,0F3h, 0E3h,05Bh, 0E3h,0C3h, 0E4h,02Bh
db 0E4h,093h, 0E4h,0FBh, 0E5h,063h, 0E5h,0CBh, 0E6h,033h, 0E6h,09Bh, 0E7h,003h, 0E7h,06Bh, 0E7h,0D3h, 0E8h,03Bh
db 0E8h,0A3h, 0E9h,00Bh, 0E9h,073h, 0E9h,0DBh, 0EAh,043h, 0EAh,0ABh, 0EBh,013h, 0EBh,07Bh, 0EBh,0E3h, 0ECh,04Bh
db 0ECh,0B3h, 0EDh,01Bh, 0EDh,083h, 0EDh,0EBh, 0EEh,053h, 0EEh,0BBh, 0EFh,023h, 0EFh,08Bh, 0EFh,0F3h, 0F0h,05Bh
db 0F0h,0C3h, 0F1h,02Bh, 0F1h,093h, 0F1h,0FBh, 0F2h,063h, 0F2h,0CBh, 0F3h,033h, 0F3h,09Bh, 0F4h,003h, 0F4h,06Bh
db 0F4h,0D3h, 0F5h,03Bh, 0F5h,0A3h, 0F6h,00Bh, 0F6h,073h, 0F6h,0DBh, 0F7h,043h, 0F7h,0ABh, 0F8h,013h, 0F8h,07Bh
db 0F8h,0E3h, 0F9h,04Bh, 0F9h,0B3h, 0FAh,01Bh, 0FAh,083h, 0FAh,0EBh, 0FBh,053h, 0FBh,0BBh, 0FCh,023h, 0FCh,08Bh
db 0FCh,0F3h, 0FDh,05Bh, 0FDh,0C3h, 0FEh,02Bh, 0FEh,093h, 0FEh,0FBh, 0FFh,063h, 0FFh,0CBh
ji:
mov a,21h
mov dptr,#jishu
movc a,@a+dptr
mov r6,a
mov a,21h
add a,#01h
movc a,@a+dptr
mov r7,a
ret
jishu:
db 0ffh ;奇数查表调整位
db 0CCh,020h, 0CCh,08Ah, 0CCh,0F4h, 0CDh,05Eh, 0CDh,0C8h, 0CEh,032h, 0CEh,09Ch, 0CFh,006h, 0CFh,070h, 0CFh,0DAh
db 0D0h,044h, 0D0h,0AEh, 0D1h,018h, 0D1h,082h, 0D1h,0ECh, 0D2h,056h, 0D2h,0C0h, 0D3h,02Ah, 0D3h,094h, 0D3h,0FEh
db 0D4h,068h, 0D4h,0D2h, 0D5h,03Ch, 0D5h,0A6h, 0D6h,010h, 0D6h,07Ah, 0D6h,0E4h, 0D7h,04Eh, 0D7h,0B8h, 0D8h,022h
db 0D8h,08Ch, 0D8h,0F6h, 0D9h,060h, 0D9h,0CAh, 0DAh,034h, 0DAh,09Eh, 0DBh,007h, 0DBh,06Fh, 0DBh,0D7h, 0DCh,03Fh
db 0DCh,0A7h, 0DDh,00Fh, 0DDh,077h, 0DDh,0DFh, 0DEh,047h, 0DEh,0AFh, 0DFh,017h, 0DFh,07Fh, 0DFh,0E7h, 0E0h,04Fh
db 0E0h,0B7h, 0E1h,01Fh, 0E1h,087h, 0E1h,0EFh, 0E2h,057h, 0E2h,0BFh, 0E3h,027h, 0E3h,08Fh, 0E3h,0F7h, 0E4h,05Fh
db 0E4h,0C7h, 0E5h,02Fh, 0E5h,097h, 0E5h,0FFh, 0E6h,067h, 0E6h,0CFh, 0E7h,037h, 0E7h,09Fh, 0E8h,007h, 0E8h,06Fh
db 0E8h,0D7h, 0E9h,03Fh, 0E9h,0A7h, 0EAh,00Fh, 0EAh,077h, 0EAh,0DFh, 0EBh,047h, 0EBh,0AFh, 0ECh,017h, 0ECh,07Fh
db 0ECh,0E7h, 0EDh,04Fh, 0EDh,0B7h, 0EEh,01Fh, 0EEh,087h, 0EEh,0EFh, 0EFh,057h, 0EFh,0BFh, 0F0h,027h, 0F0h,08Fh
db 0F0h,0F7h, 0F1h,05Fh, 0F1h,0C7h, 0F2h,02Fh, 0F2h,097h, 0F2h,0FFh, 0F3h,067h, 0F3h,0CFh, 0F4h,037h, 0F4h,09Fh
db 0F5h,007h, 0F5h,06Fh, 0F5h,0D7h, 0F6h,03Fh, 0F6h,0A7h, 0F7h,00Fh, 0F7h,077h, 0F7h,0DFh, 0F8h,047h, 0F8h,0AFh
db 0F9h,017h, 0F9h,07Fh, 0F9h,0E7h, 0FAh,04Fh, 0FAh,0B7h, 0FBh,01Fh, 0FBh,087h, 0FBh,0EFh, 0FCh,057h, 0FCh,0BFh
db 0FDh,027h, 0FDh,08Fh, 0FDh,0F7h, 0FEh,05Fh, 0FEh,0C7h, 0FFh,02Fh, 0FFh,097h, 0ffh,0ffh
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -