우선, 지금까지 모든 도움에 감사드립니다.ASCII 코드 해석 (어셈블리)
전체 코드는 내가 문제가이 라인을 이해하기
here를 찾을 수 있습니다. 내가 몇 가지 의견을 썼습니다 ...
라인, 예 : moves : [si + 6], al은 si + 6으로 표시된 메모리 주소로 데이터를 이동한다는 것을 의미합니다 (이것은 오프셋 계산이 될 것이라고 생각합니다.).
그러면 si를 추가하면 루프에 40이 추가됩니까?
아무 것도 나에게 모든 것을 의미합니다! 고맙습니다.
L0_95: ; this segment prints ASCII code 0 - 95
mov si,6 ; refers to the string we declared at the beginning
mov cx,4 ; I think this is the height?
C1A:
; this loop adds the name of the column
mov al,string[0]
mov es:[si],al
mov al,string[2]
mov es:[si+6],al
mov al,string[4]
mov es:[si+24],al
mov al,string[6]
mov es:[si+28],al
add si,40 ;;;; what is this line?
loop C1A
mov si,122 ;;;; and these three lines?
mov bx,0
mov cx,4
C1B:push cx
mov cx,24
add si,40
C1C:push cx
call DEC_CONVERT
add si,2
call HEX_CONVERT
add si,2
call BIN_CONVERT
add si,2
call CHAR_CONVERT
inc bx
add si,126
pop cx
loop C1C
pop cx
sub si,3840
loop C1B
ret
L96_191:
반드시 Google을 검색하거나 직접 문서를 검색 할 수 있습니까? –
잠깐, 3 년 전부터 다른 누군가의 16 비트 DOS 어셈블리 언어 숙제를 이해하도록 도와 주시겠습니까? 심지어 작동하는지 어떻게 알 수 있습니까? –
처음에는 여기에와 주셔서 감사합니다. 음 ... 컴퓨터 언어를 배우는 부분은 다른 사람의 코드를 읽는 것입니다. 그렇지 않습니까? C++이나 java 또는 python과 달리 docs는 매우 유익한 IMO가 아닙니다. 그리고 아마 내가이 시점에서 초보자이기 때문일 것입니다. – CppLearner