이것은 매우 기본적인 것일 수 있지만 실제로 이해할 수는 없습니다.8086 어셈블리 관련 문제
8255의 A 및 B 포트를 사용하여 단어를 입력하고 있습니다. 내가 좋아하는 뭔가가 있습니다
MOV DX, PORT_B
IN AL, DX
MOV AH, AL
MOV DX, PORT_A
IN AL, DX
MOV DX, AX
내가 여기에 몇 가지 질문이있다 : 코드 세그먼트에서 나중에
PORT_A EQU 0008h // inputs low byte
PORT_B EQU 000Ah // inputs high byte
을, 나는이 작업을 수행 한 부분이있다. MOV DX, PORT_B
은 무엇을 효과적으로합니까? 그것은 DX에 PORT_B의 주소를 저장합니까? 왜 AL에서 B의 상위 바이트를 입력 한 다음 AL을 AH로 바꾸는 것이 간단하지 않고 IN AH, DX
으로 기록합니까?
포트 A와 B의 주소에 대해 "0008h"와 "000Ah"가 현명한 선택입니까? 나는 8085 어셈블리로만 작업 했었고, 그전에는 이전에 0008h (0000 0000 0000 1000b)를 선택한 경우 000A (0000 0000 0000 1010b)를 선택하지 않았습니다. A3 비트가 겹치기 때문에 (예를 들어, d는 0001h (... 0001b) 및 0002h (... 0010b)를 선택하므로 비트가 겹치지 않습니다.
이 상당한 작은 코드 크기를 제공
대답은 여러 점에서 잘못되었습니다! 다른 답변에 대한 동의를 변경하는 것이 좋습니다. Fifoernik의 대답을 제안 할 수 있습니다. 가장 완벽한 것입니다. 먼저 녹색 체크 표시를 두 번 클릭하여 제거한 다음 올바른 선택을하십시오. –