此处 ORG 伪指令的必要性 ? 好像没必要吧? 实在看不出来。
LED/开关接口
开关状态由8255A的PB口输入,经程序转换为对应的7段LED的段选码后,通过PA口输出,由7段LED显示开关二进制状态值,试编制其控制程序。8255A的端口地址为0FFF8H,0FFFAH,0FFFCH和0FFFEH。
ORG 2000H
MOV AL,82H
MOV DX,0FFFEH
OUT DX,AL
RDB:MOV DL,0FAH
IN AL,DX
AND AL,0FH
MOV BX,OFFSET SDE
XLAT
MOV DL,0F8H
OUT DX,AL
MOV AX,56CH
DEY:DEC AX
JNZ DEY
JMP RDB
HLT
ORG 2500H
SDE DB … ;段选码表
图:
[解决办法]
不指定 org 的话,mov bx, offset sde 指令(实际就是 mov bx, xxxx 其中 xxxx 为立即数)和指定了的就会不一样;因此,如果程序加载到不是 org 指定的其实地址处,那么这个指令所引用的 sde 就会不对,结果也不难想像吧。